久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關注中國自動化產業發展的先行者!
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

計算機控制系統的二種控制方式
  • 企業:     領域:電源    
  • 點擊數:2337     發布時間:2005-03-29 16:06:51
  • 分享到:
介紹了編寫計算機控制系統二種控制器程序的思路、算式和需要考慮的問題。

 

1  引言

    在控制理論中,所謂"控制系統的設計"是指把負反饋控制的原理應用到實際的計算機測控系統中去,不是指計算機測控系統的工程設計。應用控制理論討論控制系統的設計問題有一個隱含的前提,就是該計算機測控系統已經正常運行,起碼也要設計就緒。關于這一點,許多人都缺乏應有的認識。

    于是在控制理論中,"設計控制系統"就是"設計控制器"。這個控制器,其實是指控制系統框圖中控制器方框的算式,和測控系統中的控制器部件含義不同。而計算機控制理論的"設計控制器"就是首先推導出合乎要求的控制器算式,然后按照該控制器算式編寫一段程序模塊,插入到計算機測控系統的運行程序中,以便使該計算機測控系統在正常運行的基礎上,實現滿意的負反饋自動控制,充分發揮計算機測控系統的潛在能力,實現真正意義上的自動控制。

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

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

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

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


圖1  被控對象的二種模型


圖2  二種控制器

    設計的控制器D(z)的分子分母階次差也只有兩種(如圖2所示):(1) 同階(現時)控制器就是讀入y(k)后,馬上計算u(k)并發出,這用于計算時間遠小于測控周期的情況。(2) 差一階(一步預報)控制器就是發出u(k)并讀入y(k),然后計算出u(k+1)以備下一節拍發出。當計算時間不容忽視時,一定要用預報控制器。

    本著利用最新情報的原則,沒有必要設計二步三步預報控制器。

    于是設備模型G(z)與控制器D(z)的搭配也只有兩種(如圖3所示):(1) G(z)差一階配D(z)同階,叫"現時控制系統",這時,設備在上次的控制量和已知的數據的作用下產生了本次輸出y(k),計算機測得y(k)之后,立即計算并發出本次的控制量u(k)。(2) G(z)同階配D(z)差一階,叫"預報控制系統",這時,計算機把上次算好的控制量u(k)發出,立即測量設備輸出y(k)(認為這是由于本次及以前控制量作用的結果),由此算出u(k+1)以備下次發出。這二者,在設計時千萬不要搞錯。

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

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


圖3  二種正確的搭配


圖4  二種錯誤的搭配

    在基于狀態方程的控制系統中,也存在被控對象和控制器的階差搭配問題,也只有"預報控制系統"和"現時控制系統"二種,其道理是一樣的。

3  控制器程序中用的算式
3.1  串聯現時控制器
    串聯現時控制器的z傳遞函數(不失一般性,以三階來列寫):
   
    然而,在程序中的算式不用z傳遞函數,而用它所對應的差分方程:
   

3.2  串聯預報控制器
    它的輸入輸出z傳遞函數關系如下(不失一般性,以三階來列寫):
   
    它的算式如下:
   
3.3  前反饋現時控制器
    它的輸入輸出z傳遞函數關系如下(不失一般性,以二階來列寫):
   
    它的算式如下:
   

3.4  前反饋預報控制器

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

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

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

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

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


圖5  計算機控制系統的簡圖

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

    關于讀寫操作的具體化,就是根據具體測控系統,編寫讀寫操作語句(或者子程序、函數)。讀操作和寫操作,在編寫控制器程序時只需從現有的測控系統運行程序中復制。

    開關動作是在開機、關機或者換檔時才用的,一般在控制器程序中不考慮。至于運行狀況檢測或者定期巡檢以及中斷服務子程序,最好能包含在控制器程序中,從現有的運行程序中搬過來就行了。程序暫停和終止的設定,通常也是原來的運行程序已經考慮過的問題。

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

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

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

5  編程思路

(1)  計算機測控系統運行就緒:系統狀態的初始化、開機、正常運行等。

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

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

(4)  在每個控制節拍(測控周期)中,如果是現時控制器,編程思路:
    for(i=n;i<10000;i++)           或用 while()句
    用讀指令測y(k);
    計算u(k);
    用寫指令發出u(k);
    其他計算操作和等待下一時刻;
    如果是預報控制器,編程思路:
    for(i=n;i<10000;i++)            或用 while()句
    用寫指令發出u(k);
    用讀指令測y(k);
    計算u(k+1);
    其他計算操作和等待下一時刻;

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

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

熱點新聞

推薦產品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 成人免费观看在线网址 | 另类二区三四 | 欧美变态口味重另类日韩毛片 | 欧美人成人亚洲专区中文字幕 | 综合色视频 | 日本黄色一级网站 | 一级a级国产不卡毛片 | 黄色观看视频 | 快猫在线观看入口免费网站满十八 | 女人精aaaa片一级毛片女女 | 免费黄色一级 | 美女亚洲精品一区 | 99视频有精品视频免费观看 | 国产欧美日韩在线人成aaaa | 色成人亚洲| 成人日韩在线观看 | 免费黄网在线观看 | 日韩一级片免费在线观看 | 韩国啪啪高清网站 | 最近手机中文在线视频 | 男女动态视频在线观看 | 自拍视频网址 | 一区毛片 | 日本免费黄网站 | 草草在线播放 | 精品一区二区三区在线播放 | 男人的天堂久久精品激情 | 国产精品丝袜 | 真实国语对白视频播放 | 色国产在线视频一区 | 午夜欧美成人久久久久久 | 丁香婷婷成人 | 黄色片免费在线观看 | 欧美日韩免费在线 | 久久久久琪琪免费影院 | 色琪琪原网站亚洲香蕉 | 日本久久网 | 国产精品久久二区三区色裕 | 国产丝袜福利 | 丰满女人毛片免费播放 | 中文精品久久久久国产网站 |