王后能,宋杰
武漢工程大學電氣信息學院,湖北 武漢 430205
LabVIEW嵌入Matlab腳本節(jié)點的電機轉(zhuǎn)速控制系統(tǒng)仿真
王后能,宋杰
武漢工程大學電氣信息學院,湖北 武漢 430205
LabVIEW是一款使用圖形編程語言的開發(fā)平臺,用LabVIEW編寫出的仿真程序具有友好的人機界面.以直流電機轉(zhuǎn)速控制系統(tǒng)為被控對象,基于LabVIEW軟件平臺,嵌入Matlab腳本節(jié)點,并用Matlab控制工具箱中的函數(shù)來實現(xiàn)PID控制器的設(shè)計,并進行仿真計算.另外,將系統(tǒng)的傳遞函數(shù)轉(zhuǎn)換成狀態(tài)方程,運用龍格庫塔法求出方程的數(shù)值解.最后,針對具體的直流電機控制系統(tǒng)模型,進行了實例分析,從所設(shè)計的界面來看,PID各參數(shù)對系統(tǒng)性能的影響一目了然,而且計算過程簡潔方便.
PID控制;可視化;直流電機控制系統(tǒng)
自從1936年英國的考倫德(A·Callender)和斯蒂文森(A·Stevenson)等人給出了PID控制器的方法以來,PID控制器作為最早實用化的控制器已有70多年歷史,現(xiàn)在仍然是工業(yè)生產(chǎn)中應(yīng)用最廣泛的控制器.文獻[1]基于高爐的控制系統(tǒng)模型,進行了模糊PID控制器的設(shè)計,并進行了仿真驗證. PID控制器的參數(shù)整定對于控制效果有直接影響,而在實際調(diào)試中,先通過理論計算和仿真,然后在實際運行的過程中對這個初值進行調(diào)整和完善.
LabVIEW具有強大的數(shù)學計算功能,采用它作為系統(tǒng)建模和仿真的工具,編寫出的仿真程序具有友好的人機界面.文獻[2]采用LabVIEW開發(fā)上位機監(jiān)控界面,開發(fā)了整套監(jiān)控系統(tǒng),程序運行穩(wěn)定,傳輸數(shù)據(jù)穩(wěn)定可靠.文獻[3]利用LabVIEW平臺研制了家庭智能報警系統(tǒng),對部分硬件進行軟件虛擬化,提高性價比.
用LabVIEW分析PID各參數(shù)對系統(tǒng)性能的影響顯得更加直觀,有助于PID控制器參數(shù)的理論整定及其應(yīng)用.如文獻[4]基于LabVIEW,設(shè)計了一種用PID控制算法對直流電機轉(zhuǎn)速的控制系統(tǒng),充分體現(xiàn)了虛擬儀器技術(shù)的靈活性.筆者在已有工作的基礎(chǔ)上,在LabVIEW仿真程序中嵌入Matlab腳本節(jié)點,對電機轉(zhuǎn)速系統(tǒng)進行控制,在界面友好的基礎(chǔ)上,使得計算更加簡潔方便.
PID控制器,通常由比例單元P、積分單元I和微分單元D組成,并通過比例系數(shù)KP,積分系數(shù)KI和微分系數(shù)KD三個參數(shù)分別設(shè)定.PID控制規(guī)律可描述為[5]:
式(1)中:u(t)是控制器的輸出,e(t)是測量值與設(shè)定值的偏差.常見PID控制系統(tǒng)的結(jié)構(gòu)如圖1所示,其中r是參考信號,y是系統(tǒng)輸出信號.
圖1 PID串聯(lián)校正系統(tǒng)方框圖Fig.1 Diagram of PID series correction system
Matlab的控制系統(tǒng)工具箱有許多成熟的仿真算法,在LabVIEW程序中調(diào)用Matlab,能使系統(tǒng)建模更為簡便.使用Matlab Script Node可以在LabVIEW中嵌入Matlab腳本.仿真程序的功能是根據(jù)圖1所示系統(tǒng)的參數(shù)繪制出階躍響應(yīng)、斜坡響應(yīng)和正弦響應(yīng)的曲線,并計算系統(tǒng)在階躍信號作用下的性能指標.
程序有以下輸入:PID參數(shù)(KP、KI、KD)、被控對象傳遞函數(shù)的分子和分母(num、den)、系統(tǒng)反饋系數(shù)(v)、系統(tǒng)輸入信號類型(R)、階躍輸入信號的幅值(RA)以及仿真起止時間(T0、Tf)和仿真步長(h).其中,num和den為向量,分別是分子分母多項式按降冪排列時的一組系數(shù).程序的輸出有:系統(tǒng)有無PID控制器時的響應(yīng)曲線,系統(tǒng)階躍響應(yīng)的穩(wěn)態(tài)值、超調(diào)量、上升時間和調(diào)節(jié)時間.
圖2 Matlab腳本節(jié)點程序流程圖Fig.2 Flow chart of Matlab Script node program
腳本程序流程圖如圖2所示.腳本中使用step(RA*sys)命令計算系統(tǒng)在幅值為RA的階躍輸入作用下的響應(yīng).對于斜坡響應(yīng)和正弦響應(yīng)則運用lsim函數(shù)求取.需要注意的是,step和lsim函數(shù)求出的響應(yīng)值是一個列向量,不能直接賦值給LabVIEW中的數(shù)組,應(yīng)先對其進行轉(zhuǎn)置操作,然后再將結(jié)果傳回給LabVIEW程序.另外,dcgain函數(shù)可用于求系統(tǒng)響應(yīng)的穩(wěn)態(tài)值.由階躍響應(yīng)的峰值和穩(wěn)態(tài)值即可求得超調(diào)量.再運用循環(huán)結(jié)構(gòu)找出特定響應(yīng)值對應(yīng)的時間點,就能計算出上升時間和調(diào)節(jié)時間.圖3是程序框圖.圖3中除了腳本節(jié)點外,還有一小段程序,它按照系統(tǒng)輸入信號的類型來確定是否隱藏顯示性能指標的控件.由于仿真程序僅計算系統(tǒng)階躍響應(yīng)的性能指標,當系統(tǒng)輸入為斜坡信號或正弦信號時,應(yīng)將顯示性能指標的控件隱藏.
3.1 PID控制系統(tǒng)狀態(tài)空間模型
如果不想借助Matlab腳本進行仿真計算,則需要使用狀態(tài)空間法來建立系統(tǒng)模型.相對于傳遞函數(shù)而言,狀態(tài)空間描述的是系統(tǒng)的內(nèi)部模型[5].而且狀態(tài)方程是一階微分方程組形式,適宜用計算機求數(shù)值解.將圖1中的控制器與被控對象合并為G(s),并設(shè)系統(tǒng)輸出靜態(tài)反饋增益為v,可得圖4所示系統(tǒng)框圖.
其中R(s),E(s),G(s),Y(s)和B(s)分別是參考信號、誤差信號、被控對象,輸出信號和測量信號的拉斯變換,系統(tǒng)的開環(huán)傳遞函數(shù)為
令被控對象的輸入信號U(s)=E(s),按照能控標準型寫出開環(huán)狀態(tài)方程
式(3)中,
圖3 使用Matlab腳本節(jié)點編寫的仿真程序框圖Fig.3 Diagram of simulation program in Matlab Script node
圖4 典型閉環(huán)系統(tǒng)方框圖Fig.4 Diagram of typical closed loop system
由圖4又有,控制量u=r-vy,代人式(3)得
再由
故
即得系統(tǒng)閉環(huán)狀態(tài)方程.
3.2 LabVIEW仿真程序
為了使程序的結(jié)構(gòu)更加清晰,便于設(shè)計和維護,這里采用模塊化的設(shè)計方法,自頂向下對任務(wù)進行分解,然后用一系列子程序分別處理細分出來的小任務(wù),最后,在主程序中將各模塊結(jié)合起來.考慮到本仿真程序的功能,至少應(yīng)設(shè)計以下三個子模塊.
a.將傳遞函數(shù)轉(zhuǎn)換成狀態(tài)空間矩陣的模塊.由于仿真程序仍然以系統(tǒng)的傳遞函數(shù)形式作為輸入,而使用的仿真計算方法是基于狀態(tài)空間形式的.所以,應(yīng)設(shè)計一個子模塊將系統(tǒng)的傳遞函數(shù)模型轉(zhuǎn)換成狀態(tài)空間的形式.
進行模型轉(zhuǎn)換時,首先根據(jù)圖1中所示系統(tǒng)的PID參數(shù)和被控對象的傳遞函數(shù),求出系統(tǒng)開環(huán)傳遞函數(shù)的分子分母.具體方法是,使用信號運算模板中的卷積函數(shù)計算PID控制器傳遞函數(shù)與電動機傳遞函數(shù)乘積的分子分母,然后用多項式模板中的消除尾部零函數(shù)對求出的乘積進行約分.得到開環(huán)傳遞函數(shù)后,將其分子分母均除以分母的最高項系數(shù),就得到式(3)中A、C陣的、(j=1,2,…,n;i=0,1,…,m).接著,用數(shù)組模板中的初始化函數(shù)、插入函數(shù)以及矩陣模板中的創(chuàng)建特殊矩陣函數(shù)建立式(4)的B陣和A陣除去最后一行形成的子陣,用數(shù)組插入函數(shù)在這個子陣的最后一行后面插入之前求出的(j=1,2,…,n),即可得到狀態(tài)方程的A陣.在(i=0,1,…,m)的后面插入幾個0,使其長度與B陣相同,即可得到狀態(tài)方程的C陣.最后,用矩陣模板中的矩陣相乘函數(shù)按照式(4)可求出Ab陣.
b.龍格庫塔算法模塊.將系統(tǒng)模型轉(zhuǎn)換成狀態(tài)空間形式后,就可以進行仿真計算了,本程序采用四階龍格庫塔算法,這是因為其精度較高,而且能夠使用LabVIEW中數(shù)學模塊里的各函數(shù)進行實現(xiàn).
可將式(4)看成對應(yīng)n個狀態(tài)變量x=[x1,x2,…,xn]T一階導(dǎo)數(shù)x˙的n維向量表達式.當t=tk時刻,欲求tk+1時刻各量,需先求龍格庫塔算法的4個斜率.
此模塊中使用一個for循環(huán)來實現(xiàn)龍格庫塔算法.在循環(huán)結(jié)構(gòu)的輸入隧道上單擊鼠標右鍵,選擇快捷菜單中的替換成移位寄存器選項,就可以把輸入隧道轉(zhuǎn)換成移位寄存器.將移位寄存器的左端子連接到數(shù)組插入函數(shù)的輸入數(shù)組端子上,再把數(shù)組插入函數(shù)的輸出數(shù)組端子與移位寄存器的右端子相連.最后,把每次循環(huán)中需要保存的計算結(jié)果接入到數(shù)組插入函數(shù)的插入值端子上,就能將響應(yīng)曲線中的每個點都保存在數(shù)組中輸出了.
c.系統(tǒng)穩(wěn)態(tài)值計算模塊.要計算系統(tǒng)的超調(diào)量、上升時間和調(diào)節(jié)時間等性能指標,首先必須求出系統(tǒng)的穩(wěn)態(tài)值,而LabVIEW中沒有現(xiàn)成的函數(shù)幫助我們計算系統(tǒng)的穩(wěn)態(tài)值,因此必須設(shè)計一個子模塊計算系統(tǒng)穩(wěn)態(tài)值.
由終值定理可知,只要已知系統(tǒng)輸出的拉氏變換,就可根據(jù)其與s的乘積在s趨近于0時的極限值確定系統(tǒng)的穩(wěn)態(tài)值.設(shè)系統(tǒng)輸入是幅值為A的階躍信號,系統(tǒng)的開環(huán)傳遞函數(shù)的分子分母分別為num和den,反饋系數(shù)為v,那么系統(tǒng)的穩(wěn)態(tài)值可表示為
此模塊首先使用卷積函數(shù)計算開環(huán)傳遞函數(shù)的分子分母,并由此計算出式(5)中的A*num和den+num*v.然后將式(5)表示成字符串的形式.最后用極限函數(shù)求式(5)的值.極限函數(shù)位于數(shù)學→腳本與公式→微積分模板中.
將三個子模塊結(jié)合起來,可以得到仿真主程序.
本文以電樞電壓為輸入、轉(zhuǎn)子轉(zhuǎn)速為輸出的直流電動機轉(zhuǎn)速控制系統(tǒng)為例來進行仿真分析,直流電機轉(zhuǎn)速控制系統(tǒng)的傳遞函數(shù)為
當輸入為單位階躍信號時,系統(tǒng)的性能指標可歸納為:穩(wěn)態(tài)誤差小于1%,調(diào)節(jié)時間小于2 s,超調(diào)量小于5%.
圖5是主程序框圖,其中RK4是龍格庫塔算法模塊,而dcgain是系統(tǒng)穩(wěn)態(tài)值計算模塊.程序的輸入輸出與前面使用Matlab腳本節(jié)點的仿真程序基本相同,其前面板如圖6所示.從前面板圖6可見,可以直接通過相應(yīng)控件設(shè)置輸入信號的參數(shù)和系統(tǒng)的傳遞函數(shù),單擊循環(huán)運行按鈕,就能在調(diào)整PID控制器各參數(shù)的同時觀察到系統(tǒng)響應(yīng)曲線和性能指標的變化.
圖5 直流電機轉(zhuǎn)速控制系統(tǒng)仿真程序框圖Fig.5 Diagram of simulation program of DC motor speed control system
圖6 直流電機轉(zhuǎn)速控制系統(tǒng)仿真程序前面板Fig.6 Front panel of simulation program of DC motor speed control system
用LabVIEW編寫的PID控制系統(tǒng)仿真程序,具有界面直觀,結(jié)構(gòu)清晰等優(yōu)點.在LabVIEW仿真程序中嵌入Matlab腳本節(jié)點,在界面友好的基礎(chǔ)上,使得計算更加簡潔方便.該程序可用于PID控制器參數(shù)的理論整定,比例、積分、微分三個控制參數(shù)對系統(tǒng)響應(yīng)的影響可以直接明了的觀察得到.通過直流電機調(diào)速控制系統(tǒng)的實例來分析了方法的有效性和實用性.
致謝
感謝湖北省科技廳和武漢工程大學對本研究提供的資助.
[1]焦靈俠.基于高爐系統(tǒng)的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的液壓站監(jiān)控系統(tǒng)[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的家庭智能報警系統(tǒng)研究[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速度控制系統(tǒng)設(shè)計[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-),男,湖北嘉魚人,副教授,博士.研究方向:控制理論及應(yīng)用.