王后能,宋杰
武漢工程大學電氣信息學院,湖北 武漢 430205
LabVIEW嵌入Matlab腳本節點的電機轉速控制系統仿真
王后能,宋杰
武漢工程大學電氣信息學院,湖北 武漢 430205
LabVIEW是一款使用圖形編程語言的開發平臺,用LabVIEW編寫出的仿真程序具有友好的人機界面.以直流電機轉速控制系統為被控對象,基于LabVIEW軟件平臺,嵌入Matlab腳本節點,并用Matlab控制工具箱中的函數來實現PID控制器的設計,并進行仿真計算.另外,將系統的傳遞函數轉換成狀態方程,運用龍格庫塔法求出方程的數值解.最后,針對具體的直流電機控制系統模型,進行了實例分析,從所設計的界面來看,PID各參數對系統性能的影響一目了然,而且計算過程簡潔方便.
PID控制;可視化;直流電機控制系統
自從1936年英國的考倫德(A·Callender)和斯蒂文森(A·Stevenson)等人給出了PID控制器的方法以來,PID控制器作為最早實用化的控制器已有70多年歷史,現在仍然是工業生產中應用最廣泛的控制器.文獻[1]基于高爐的控制系統模型,進行了模糊PID控制器的設計,并進行了仿真驗證. PID控制器的參數整定對于控制效果有直接影響,而在實際調試中,先通過理論計算和仿真,然后在實際運行的過程中對這個初值進行調整和完善.
LabVIEW具有強大的數學計算功能,采用它作為系統建模和仿真的工具,編寫出的仿真程序具有友好的人機界面.文獻[2]采用LabVIEW開發上位機監控界面,開發了整套監控系統,程序運行穩定,傳輸數據穩定可靠.文獻[3]利用LabVIEW平臺研制了家庭智能報警系統,對部分硬件進行軟件虛擬化,提高性價比.
用LabVIEW分析PID各參數對系統性能的影響顯得更加直觀,有助于PID控制器參數的理論整定及其應用.如文獻[4]基于LabVIEW,設計了一種用PID控制算法對直流電機轉速的控制系統,充分體現了虛擬儀器技術的靈活性.筆者在已有工作的基礎上,在LabVIEW仿真程序中嵌入Matlab腳本節點,對電機轉速系統進行控制,在界面友好的基礎上,使得計算更加簡潔方便.
PID控制器,通常由比例單元P、積分單元I和微分單元D組成,并通過比例系數KP,積分系數KI和微分系數KD三個參數分別設定.PID控制規律可描述為[5]:

式(1)中:u(t)是控制器的輸出,e(t)是測量值與設定值的偏差.常見PID控制系統的結構如圖1所示,其中r是參考信號,y是系統輸出信號.

圖1 PID串聯校正系統方框圖Fig.1 Diagram of PID series correction system
Matlab的控制系統工具箱有許多成熟的仿真算法,在LabVIEW程序中調用Matlab,能使系統建模更為簡便.使用Matlab Script Node可以在LabVIEW中嵌入Matlab腳本.仿真程序的功能是根據圖1所示系統的參數繪制出階躍響應、斜坡響應和正弦響應的曲線,并計算系統在階躍信號作用下的性能指標.
程序有以下輸入:PID參數(KP、KI、KD)、被控對象傳遞函數的分子和分母(num、den)、系統反饋系數(v)、系統輸入信號類型(R)、階躍輸入信號的幅值(RA)以及仿真起止時間(T0、Tf)和仿真步長(h).其中,num和den為向量,分別是分子分母多項式按降冪排列時的一組系數.程序的輸出有:系統有無PID控制器時的響應曲線,系統階躍響應的穩態值、超調量、上升時間和調節時間.

圖2 Matlab腳本節點程序流程圖Fig.2 Flow chart of Matlab Script node program
腳本程序流程圖如圖2所示.腳本中使用step(RA*sys)命令計算系統在幅值為RA的階躍輸入作用下的響應.對于斜坡響應和正弦響應則運用lsim函數求取.需要注意的是,step和lsim函數求出的響應值是一個列向量,不能直接賦值給LabVIEW中的數組,應先對其進行轉置操作,然后再將結果傳回給LabVIEW程序.另外,dcgain函數可用于求系統響應的穩態值.由階躍響應的峰值和穩態值即可求得超調量.再運用循環結構找出特定響應值對應的時間點,就能計算出上升時間和調節時間.圖3是程序框圖.圖3中除了腳本節點外,還有一小段程序,它按照系統輸入信號的類型來確定是否隱藏顯示性能指標的控件.由于仿真程序僅計算系統階躍響應的性能指標,當系統輸入為斜坡信號或正弦信號時,應將顯示性能指標的控件隱藏.
3.1 PID控制系統狀態空間模型
如果不想借助Matlab腳本進行仿真計算,則需要使用狀態空間法來建立系統模型.相對于傳遞函數而言,狀態空間描述的是系統的內部模型[5].而且狀態方程是一階微分方程組形式,適宜用計算機求數值解.將圖1中的控制器與被控對象合并為G(s),并設系統輸出靜態反饋增益為v,可得圖4所示系統框圖.
其中R(s),E(s),G(s),Y(s)和B(s)分別是參考信號、誤差信號、被控對象,輸出信號和測量信號的拉斯變換,系統的開環傳遞函數為

令被控對象的輸入信號U(s)=E(s),按照能控標準型寫出開環狀態方程

式(3)中,


圖3 使用Matlab腳本節點編寫的仿真程序框圖Fig.3 Diagram of simulation program in Matlab Script node

圖4 典型閉環系統方框圖Fig.4 Diagram of typical closed loop system
由圖4又有,控制量u=r-vy,代人式(3)得

再由

故

即得系統閉環狀態方程.
3.2 LabVIEW仿真程序
為了使程序的結構更加清晰,便于設計和維護,這里采用模塊化的設計方法,自頂向下對任務進行分解,然后用一系列子程序分別處理細分出來的小任務,最后,在主程序中將各模塊結合起來.考慮到本仿真程序的功能,至少應設計以下三個子模塊.
a.將傳遞函數轉換成狀態空間矩陣的模塊.由于仿真程序仍然以系統的傳遞函數形式作為輸入,而使用的仿真計算方法是基于狀態空間形式的.所以,應設計一個子模塊將系統的傳遞函數模型轉換成狀態空間的形式.
進行模型轉換時,首先根據圖1中所示系統的PID參數和被控對象的傳遞函數,求出系統開環傳遞函數的分子分母.具體方法是,使用信號運算模板中的卷積函數計算PID控制器傳遞函數與電動機傳遞函數乘積的分子分母,然后用多項式模板中的消除尾部零函數對求出的乘積進行約分.得到開環傳遞函數后,將其分子分母均除以分母的最高項系數,就得到式(3)中A、C陣的、(j=1,2,…,n;i=0,1,…,m).接著,用數組模板中的初始化函數、插入函數以及矩陣模板中的創建特殊矩陣函數建立式(4)的B陣和A陣除去最后一行形成的子陣,用數組插入函數在這個子陣的最后一行后面插入之前求出的(j=1,2,…,n),即可得到狀態方程的A陣.在(i=0,1,…,m)的后面插入幾個0,使其長度與B陣相同,即可得到狀態方程的C陣.最后,用矩陣模板中的矩陣相乘函數按照式(4)可求出Ab陣.
b.龍格庫塔算法模塊.將系統模型轉換成狀態空間形式后,就可以進行仿真計算了,本程序采用四階龍格庫塔算法,這是因為其精度較高,而且能夠使用LabVIEW中數學模塊里的各函數進行實現.
可將式(4)看成對應n個狀態變量x=[x1,x2,…,xn]T一階導數x˙的n維向量表達式.當t=tk時刻,欲求tk+1時刻各量,需先求龍格庫塔算法的4個斜率.

此模塊中使用一個for循環來實現龍格庫塔算法.在循環結構的輸入隧道上單擊鼠標右鍵,選擇快捷菜單中的替換成移位寄存器選項,就可以把輸入隧道轉換成移位寄存器.將移位寄存器的左端子連接到數組插入函數的輸入數組端子上,再把數組插入函數的輸出數組端子與移位寄存器的右端子相連.最后,把每次循環中需要保存的計算結果接入到數組插入函數的插入值端子上,就能將響應曲線中的每個點都保存在數組中輸出了.
c.系統穩態值計算模塊.要計算系統的超調量、上升時間和調節時間等性能指標,首先必須求出系統的穩態值,而LabVIEW中沒有現成的函數幫助我們計算系統的穩態值,因此必須設計一個子模塊計算系統穩態值.
由終值定理可知,只要已知系統輸出的拉氏變換,就可根據其與s的乘積在s趨近于0時的極限值確定系統的穩態值.設系統輸入是幅值為A的階躍信號,系統的開環傳遞函數的分子分母分別為num和den,反饋系數為v,那么系統的穩態值可表示為

此模塊首先使用卷積函數計算開環傳遞函數的分子分母,并由此計算出式(5)中的A*num和den+num*v.然后將式(5)表示成字符串的形式.最后用極限函數求式(5)的值.極限函數位于數學→腳本與公式→微積分模板中.
將三個子模塊結合起來,可以得到仿真主程序.
本文以電樞電壓為輸入、轉子轉速為輸出的直流電動機轉速控制系統為例來進行仿真分析,直流電機轉速控制系統的傳遞函數為

當輸入為單位階躍信號時,系統的性能指標可歸納為:穩態誤差小于1%,調節時間小于2 s,超調量小于5%.
圖5是主程序框圖,其中RK4是龍格庫塔算法模塊,而dcgain是系統穩態值計算模塊.程序的輸入輸出與前面使用Matlab腳本節點的仿真程序基本相同,其前面板如圖6所示.從前面板圖6可見,可以直接通過相應控件設置輸入信號的參數和系統的傳遞函數,單擊循環運行按鈕,就能在調整PID控制器各參數的同時觀察到系統響應曲線和性能指標的變化.

圖5 直流電機轉速控制系統仿真程序框圖Fig.5 Diagram of simulation program of DC motor speed control system

圖6 直流電機轉速控制系統仿真程序前面板Fig.6 Front panel of simulation program of DC motor speed control system
用LabVIEW編寫的PID控制系統仿真程序,具有界面直觀,結構清晰等優點.在LabVIEW仿真程序中嵌入Matlab腳本節點,在界面友好的基礎上,使得計算更加簡潔方便.該程序可用于PID控制器參數的理論整定,比例、積分、微分三個控制參數對系統響應的影響可以直接明了的觀察得到.通過直流電機調速控制系統的實例來分析了方法的有效性和實用性.
致謝
感謝湖北省科技廳和武漢工程大學對本研究提供的資助.
[1]焦靈俠.基于高爐系統的PID控制器研究[J].電子測試,2015(5):126-130.
JIAO Ling-xia.The research of Blast PID controller system[J].ElectronicTest,2015(5):126-130.(inChinese)
[2]談宏華,潘正春,騰達.基于LabVIEW的液壓站監控系統[J].武漢工程大學學報,2010,32(12):94-97.
TANHong-hua,PANZheng-chun,TENGDa.Lab-VIEW-based monitoring system of hydraulic station[J].Journal of Wuhan Institute of Technology,2010,32(12):94-97.(in Chinese)
[3]王會清,程勇.基于LabVIEW的家庭智能報警系統研究[J].武漢工程大學學報,2011,33(11):78-82.
WANGHui-qing,CHENGYong.Developmentof intelligent household alarm system based on LabVIEW[J].Journal of Wuhan Institute of Technology,2011,33(11):78-82.(in Chinese)
[4]沈峰,鐘勝奎,仲兆準,等.基于LabVIEW的直流電機PID速度控制系統設計[J].機械制造與自動化,2014,43(3):189-190,207.
SHEN Feng,ZHONG Sheng-kui,ZHONG Zhao-zhun,et al.Design of PID speed control system based on LabVIEW for DC motor[J].Machine Building& Automation,2014,43(3):189-190,207.(in Chinese)
[5]胡壽松.自動控制原理[M].北京:科學出版社,2013.
HU Shou-song.Automatic control theory[M].Beijng:Science Press,2013.(in Chinese)
Simulation of motor speed control system based on LabVIEW embedded in Matlab Script node
WANG Hou-neng,SONG Jie
School of Electrical and Information Engineering,Wuhan Institute of Technology,Wuhan 430205,China
LabVIEW is a development platform using graphical programming language,and the simulation program based on the tool of LabVIEW has friendly interface.Speed control system for direct current(DC)motor was designed in this paper.Based on LabVIEW software platform,Matlab script node was embedded in.The functions of control toolbox in Matlab were used for constructing proportional integration derivative(PID)controller,and the simulation calculation was accomplished.Additionally the transfer function of system could be converted to state equations,and the numerical solution of the equation with Runge-Kutta method was obtained.At last,according to the definite model of DC motor speed adjusting system,the effectiveness of the control algorithm was analyzed.The effect of PID parameters on system performance is even more intuitive,and the calculating process is convenient and simple.
proportional integration differential control;visualization;direct current motor control system
TP273
A
10.3969/j.issn.1674-2869.2015.08.014
1674-2869(2015)08-0069-06
本文編輯:苗變
2015-05-19
湖北省自然科學基金(2010CHB01301);武漢工程大學科學研究項目(15106032)
王后能(1978-),男,湖北嘉魚人,副教授,博士.研究方向:控制理論及應用.