国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2024
工業(yè)智能邊緣計(jì)算2024年會(huì)
2023年工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

計(jì)算機(jī)控制系統(tǒng)的二種控制方式
  • 企業(yè):     領(lǐng)域:電源    
  • 點(diǎn)擊數(shù):2162     發(fā)布時(shí)間:2005-03-29 16:06:51
  • 分享到:
介紹了編寫計(jì)算機(jī)控制系統(tǒng)二種控制器程序的思路、算式和需要考慮的問題。

 

1  引言

    在控制理論中,所謂"控制系統(tǒng)的設(shè)計(jì)"是指把負(fù)反饋控制的原理應(yīng)用到實(shí)際的計(jì)算機(jī)測(cè)控系統(tǒng)中去,不是指計(jì)算機(jī)測(cè)控系統(tǒng)的工程設(shè)計(jì)。應(yīng)用控制理論討論控制系統(tǒng)的設(shè)計(jì)問題有一個(gè)隱含的前提,就是該計(jì)算機(jī)測(cè)控系統(tǒng)已經(jīng)正常運(yùn)行,起碼也要設(shè)計(jì)就緒。關(guān)于這一點(diǎn),許多人都缺乏應(yīng)有的認(rèn)識(shí)。

    于是在控制理論中,"設(shè)計(jì)控制系統(tǒng)"就是"設(shè)計(jì)控制器"。這個(gè)控制器,其實(shí)是指控制系統(tǒng)框圖中控制器方框的算式,和測(cè)控系統(tǒng)中的控制器部件含義不同。而計(jì)算機(jī)控制理論的"設(shè)計(jì)控制器"就是首先推導(dǎo)出合乎要求的控制器算式,然后按照該控制器算式編寫一段程序模塊,插入到計(jì)算機(jī)測(cè)控系統(tǒng)的運(yùn)行程序中,以便使該計(jì)算機(jī)測(cè)控系統(tǒng)在正常運(yùn)行的基礎(chǔ)上,實(shí)現(xiàn)滿意的負(fù)反饋?zhàn)詣?dòng)控制,充分發(fā)揮計(jì)算機(jī)測(cè)控系統(tǒng)的潛在能力,實(shí)現(xiàn)真正意義上的自動(dòng)控制。

2  關(guān)于G(z)與D(z)的分子分母階差的搭配

    在計(jì)算機(jī)控制系統(tǒng)中,被控設(shè)備模型G(z)的分子分母階次差只有兩種(如圖1所示):(1) 同階(同拍)模型就是用當(dāng)前的控制量u(k)和以前的數(shù)據(jù),算出當(dāng)前的輸出量y(k)。(2) 差一階(一拍延遲)模型就是用前一拍的控制量u(k-1)和已有的數(shù)據(jù),算出當(dāng)前的輸出量y(k)。

    沒必要建立多拍延遲的模型。例如二拍延遲設(shè)備模型:
    y(k)=-a1y(k-1)-a2y(k-2)-any(k-n)+b2u(k-2)+bnu(k-n)

    就是說,用前二拍的控制量u(k-2)和已有的數(shù)據(jù),算出當(dāng)前的輸出量y(k)。這意味著沒有及時(shí)利用最新情報(bào)。因?yàn)橛?jì)算機(jī)測(cè)控系統(tǒng)可以做到每個(gè)測(cè)控周期測(cè)一對(duì)數(shù)據(jù),就是說,在k時(shí)刻,已經(jīng)知道了u(k-1),為什么不利用呢?至于那些具有延遲性能的設(shè)備,也可以本著充分利用最新情報(bào)的原則,仍然建立同階或差一階的模型,盡管可能其b0,b1,b2等很小或者為0。


圖1  被控對(duì)象的二種模型


圖2  二種控制器

    設(shè)計(jì)的控制器D(z)的分子分母階次差也只有兩種(如圖2所示):(1) 同階(現(xiàn)時(shí))控制器就是讀入y(k)后,馬上計(jì)算u(k)并發(fā)出,這用于計(jì)算時(shí)間遠(yuǎn)小于測(cè)控周期的情況。(2) 差一階(一步預(yù)報(bào))控制器就是發(fā)出u(k)并讀入y(k),然后計(jì)算出u(k+1)以備下一節(jié)拍發(fā)出。當(dāng)計(jì)算時(shí)間不容忽視時(shí),一定要用預(yù)報(bào)控制器。

    本著利用最新情報(bào)的原則,沒有必要設(shè)計(jì)二步三步預(yù)報(bào)控制器。

    于是設(shè)備模型G(z)與控制器D(z)的搭配也只有兩種(如圖3所示):(1) G(z)差一階配D(z)同階,叫"現(xiàn)時(shí)控制系統(tǒng)",這時(shí),設(shè)備在上次的控制量和已知的數(shù)據(jù)的作用下產(chǎn)生了本次輸出y(k),計(jì)算機(jī)測(cè)得y(k)之后,立即計(jì)算并發(fā)出本次的控制量u(k)。(2) G(z)同階配D(z)差一階,叫"預(yù)報(bào)控制系統(tǒng)",這時(shí),計(jì)算機(jī)把上次算好的控制量u(k)發(fā)出,立即測(cè)量設(shè)備輸出y(k)(認(rèn)為這是由于本次及以前控制量作用的結(jié)果),由此算出u(k+1)以備下次發(fā)出。這二者,在設(shè)計(jì)時(shí)千萬不要搞錯(cuò)。

    不可能或沒必要設(shè)計(jì)其他類型控制。如圖4上圖的"同階-同階"搭配,是不可行的。這就是說計(jì)算機(jī)發(fā)出本次的控制量u(k),立即讀回來本次的輸出y(k),又馬上計(jì)算本次的控制量u(k),那么還能再發(fā)出嗎?這樣的運(yùn)行程序就自相矛盾了,以此編寫的程序俗稱"死循環(huán)"。

    再有,如圖4下圖的"差一階-差一階"搭配,這就是說,計(jì)算機(jī)發(fā)出本次的控制量u(k)和立即讀回來本次的輸出y(k)無關(guān),讀回來的本次輸出y(k)是由上次的控制量u(k-1)和已知的數(shù)據(jù)決定的,然后根據(jù)這個(gè)y(k)計(jì)算下次的控制量u(k+1),等待下次發(fā)出。這種控制方式?jīng)]有及時(shí)利用本次的控制量u(k),所以這是不合理的,即沒有利用最新信息。


圖3  二種正確的搭配


圖4  二種錯(cuò)誤的搭配

    在基于狀態(tài)方程的控制系統(tǒng)中,也存在被控對(duì)象和控制器的階差搭配問題,也只有"預(yù)報(bào)控制系統(tǒng)"和"現(xiàn)時(shí)控制系統(tǒng)"二種,其道理是一樣的。

3  控制器程序中用的算式
3.1  串聯(lián)現(xiàn)時(shí)控制器
    串聯(lián)現(xiàn)時(shí)控制器的z傳遞函數(shù)(不失一般性,以三階來列寫):
   
    然而,在程序中的算式不用z傳遞函數(shù),而用它所對(duì)應(yīng)的差分方程:
   

3.2  串聯(lián)預(yù)報(bào)控制器
    它的輸入輸出z傳遞函數(shù)關(guān)系如下(不失一般性,以三階來列寫):
   
    它的算式如下:
   
3.3  前反饋現(xiàn)時(shí)控制器
    它的輸入輸出z傳遞函數(shù)關(guān)系如下(不失一般性,以二階來列寫):
   
    它的算式如下:
   

3.4  前反饋預(yù)報(bào)控制器

    它的輸入輸出傳遞函數(shù)關(guān)系如下(不失一般性,設(shè)為二階):
   
    它的算式如下:  
   

3.5  被控設(shè)備模型
    在控制系統(tǒng)的實(shí)際運(yùn)行中,雖然被控設(shè)備的輸入(即控制量)是由計(jì)算機(jī)發(fā)出的,被控設(shè)備的輸出是由計(jì)算機(jī)讀入的,但是為了核實(shí)所建立的設(shè)備模型(它是控制器設(shè)計(jì)的根據(jù))是否精確,需要在每個(gè)控制節(jié)拍,用控制量u和設(shè)備模型G(z)來計(jì)算輸出y,以便與測(cè)量的輸出y比較。同樣的,程序中的算式不用z傳遞函數(shù),而用它所對(duì)應(yīng)的差分方程,就是說,應(yīng)該把
   
    改寫為差分方程的形式:
   
 
    這是同節(jié)拍的設(shè)備模型;如果是一拍延遲的設(shè)備模型,就令上式中b0=0。為了與測(cè)量的y(k)相區(qū)別,不妨稱之為yg(k)。

3.6  系統(tǒng)模型
    如果在程序中還要用整個(gè)系統(tǒng)的模型H(z)和預(yù)定值r(k)來計(jì)算系統(tǒng)輸出y(k),核實(shí)控制系統(tǒng)的控制性能;那么它的算法和上述用設(shè)備模型G(z)來計(jì)算的道理一樣。為了與y(k)和yg(k)相區(qū)別,不妨稱之為yh(k)。

    一個(gè)滿意的控制系統(tǒng),其y(k)、yg(k)和yh(k)應(yīng)該是相等的,或者相差在允許范圍之內(nèi),否則,就要查找原因,修改該控制系統(tǒng),或者設(shè)計(jì)成自適應(yīng)控制器。

4  編寫控制器程序要考慮的問題


圖5  計(jì)算機(jī)控制系統(tǒng)的簡(jiǎn)圖

    控制器程序只是計(jì)算機(jī)測(cè)控系統(tǒng)的整個(gè)運(yùn)行程序的一部分而已。當(dāng)控制工程(計(jì)算機(jī)測(cè)控系統(tǒng)的建造)完工投產(chǎn)時(shí),當(dāng)然至少包含了一個(gè)運(yùn)行程序和執(zhí)行開關(guān)、調(diào)節(jié)、測(cè)量和狀態(tài)監(jiān)控等基本操作功能。編寫控制器程序就是在這樣的運(yùn)行程序的基礎(chǔ)上,用同樣的編程語言,編寫一段程序,實(shí)現(xiàn)根據(jù)控制理論設(shè)計(jì)出來的讀入y(k)和寫出u(k)關(guān)系算式(即所設(shè)計(jì)的控制器),達(dá)到良好控制或者優(yōu)化控制的目的。在控制器框圖中,往往又細(xì)分為好多的"器"(方框),其實(shí)它們只是一些相互關(guān)聯(lián)的算式或算法而已。再多的"器"和方框在程序中就是一些相互關(guān)聯(lián)的一段程序。它們可以歸納為一個(gè)大方框-"計(jì)算機(jī)系統(tǒng)",如圖5所示。

    關(guān)于讀寫操作的具體化,就是根據(jù)具體測(cè)控系統(tǒng),編寫讀寫操作語句(或者子程序、函數(shù))。讀操作和寫操作,在編寫控制器程序時(shí)只需從現(xiàn)有的測(cè)控系統(tǒng)運(yùn)行程序中復(fù)制。

    開關(guān)動(dòng)作是在開機(jī)、關(guān)機(jī)或者換檔時(shí)才用的,一般在控制器程序中不考慮。至于運(yùn)行狀況檢測(cè)或者定期巡檢以及中斷服務(wù)子程序,最好能包含在控制器程序中,從現(xiàn)有的運(yùn)行程序中搬過來就行了。程序暫停和終止的設(shè)定,通常也是原來的運(yùn)行程序已經(jīng)考慮過的問題。

    控制器程序的"出口"條件有:(1) 連續(xù)多次,測(cè)量的輸出值y(k)和計(jì)算的輸出值相差太大。(2) 設(shè)備故障,跳到中斷服務(wù)子程序,或者由人工干預(yù)。(3) 從控制臺(tái)上由操作工發(fā)出暫停或退出的命令。(4) 工作完成,如預(yù)定時(shí)間到,或出產(chǎn)的產(chǎn)品達(dá)到預(yù)定的數(shù)量,或生產(chǎn)過程完畢。

    其它要考慮的實(shí)際問題還有:(1) 反饋濾波器,即測(cè)量信號(hào)的濾波,現(xiàn)在有數(shù)字信號(hào)處理DSP軟件工具可用。(2) 對(duì)于測(cè)量"野點(diǎn)"(過分偏離回歸線的數(shù)據(jù)),用電路限幅或用程序剔除。(3) 注意"負(fù)載效應(yīng)",因?yàn)樵O(shè)備在空載時(shí)和帶各種大小負(fù)載時(shí),性能不同,數(shù)學(xué)模型也不同。(4) 注意非線性現(xiàn)象,如飽和、準(zhǔn)飽和、自振蕩等。(5) 在同一個(gè)控制系統(tǒng)中,往往根據(jù)幾種不同情況設(shè)計(jì)幾個(gè)控制器,以便在操作時(shí)"分擋選擇"。

    在編寫控制器程序時(shí),根據(jù)實(shí)際情況,可能還需要考慮其它輔助操作。

5  編程思路

(1)  計(jì)算機(jī)測(cè)控系統(tǒng)運(yùn)行就緒:系統(tǒng)狀態(tài)的初始化、開機(jī)、正常運(yùn)行等。

(2)  數(shù)組設(shè)定:例如r(10000)、u(10000)、y(10000)、u1(10000)、u2(10000),其中預(yù)定值r(k)事先定好了,數(shù)組的維數(shù)由設(shè)計(jì)者根據(jù)實(shí)際情況設(shè)定,其中10000是隨意數(shù)值。

(3)  預(yù)置數(shù)據(jù)(初始化):例如for(i=0;i<n;i++),預(yù)置r(i)、u(i)、y(i)、u1(i)、u2(i)等。注意r(i)、u(i)、y(i)與r(k)、u(k)、y(k)的關(guān)系是k=i-n(n是設(shè)備階次)。

(4)  在每個(gè)控制節(jié)拍(測(cè)控周期)中,如果是現(xiàn)時(shí)控制器,編程思路:
    for(i=n;i<10000;i++)           或用 while()句
    用讀指令測(cè)y(k);
    計(jì)算u(k);
    用寫指令發(fā)出u(k);
    其他計(jì)算操作和等待下一時(shí)刻;
    如果是預(yù)報(bào)控制器,編程思路:
    for(i=n;i<10000;i++)            或用 while()句
    用寫指令發(fā)出u(k);
    用讀指令測(cè)y(k);
    計(jì)算u(k+1);
    其他計(jì)算操作和等待下一時(shí)刻;

(5)  在每個(gè)控制節(jié)拍(測(cè)控周期)中,即在for(i=n;i<10000;i++)之內(nèi),還要做的操作有:① 用設(shè)備模型G(z)計(jì)算輸出yg(k),用系統(tǒng)模型H(z)計(jì)算輸出yh(k),以便比較,監(jiān)測(cè)控制狀況。② 控制系統(tǒng)運(yùn)行狀況的定期檢測(cè)及其處理。③ 其他控制運(yùn)行所必須的操作。④ 數(shù)組用到頭時(shí)要"周而復(fù)始",例如:設(shè)置if(k=10000-n),在數(shù)組快到頭時(shí),要把末幾個(gè)數(shù)據(jù)移到頭幾個(gè)位置去,以便數(shù)組重頭使用。⑤ 用等待函數(shù)delay(T)或wait(T),T是測(cè)控周期,單位ms,必要時(shí),還要減去計(jì)算時(shí)間。

(6) 出口或結(jié)束:見上述的"程序出口條件"。
    以上所述,是從事計(jì)算機(jī)控制的人員在編寫控制器程序時(shí)必須考慮的問題。至于基于狀態(tài)方程的控制器設(shè)計(jì)與編程,讀者可以觸類旁通。

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 女人张腿让男桶免费视频网站 | 久久最新免费视频 | 美国一级毛片免费看 | 欧美va在线播放免费观看 | 男操女视频网站 | 亚洲小视频网站 | 欧美日产国产亚洲综合图区一 | 成人免费观看网欧美片 | 可以免费观看欧美一级毛片 | 欧美成人国产一区二区 | 亚洲综合精品成人 | 久久国产免费观看 | 在线中文 | 亚洲最新网址 | 毛片免费全部免费观看 | 久久r这里只有精品 | 精品精品国产高清a毛片 | 97影院在线午夜 | 欧美精品伊人久久 | 成人精品免费视频 | 欧美综合视频在线 | 网禁呦萝资源网站在线观看 | 久久综合丁香 | 欧美精品a毛片免费观看 | 免费视频久久久 | 色老头久久网 | 亚洲成a人v在线观看 | 欧美国产日韩在线观看 | 青青自拍视频一区二区三区 | 男人的天堂在线观看入口 | 国产一区二区在线视频 | 在线 | 一区二区三区四区 | 欧美精品一区二区三区在线 | 日本一区三区二区三区四区 | 欧美一区不卡二区不卡三区 | 亚洲欧美国产视频 | 99在线免费视频 | 亚洲一级高清在线中文字幕 | 成人国产在线视频 | 欧美人成一本免费观看视频 | 欧美一区二区三区gg高清影视 |