傅鵬
摘 要:本文以MATLAB為計(jì)算平臺(tái),通過(guò)OPC通信協(xié)議,進(jìn)行與西門(mén)子PLC 1215C寄存器內(nèi)數(shù)據(jù)和MATLAB數(shù)據(jù)之間的交換,并利用易控組態(tài)軟件進(jìn)行上位機(jī)顯示,為解決現(xiàn)階段PLC較難以實(shí)現(xiàn)復(fù)雜、智能控制算法找到一個(gè)切實(shí)可行方法。
關(guān)鍵詞:OPC;MATLAB;組態(tài)軟件;PLC 1215C
MATLAB和Simulink在控制系統(tǒng)領(lǐng)域的模擬和應(yīng)用已經(jīng)非常廣泛,不僅由于MATLAB具有強(qiáng)大的工程計(jì)算能力,還由于其易于實(shí)現(xiàn)復(fù)雜的控制算法。隨著現(xiàn)代控制理論的進(jìn)一步完善和控制算法的不斷提出,工業(yè)控制領(lǐng)域也逐漸把先進(jìn)的控制算法應(yīng)用于工程實(shí)踐。但是在應(yīng)用實(shí)踐中也遇到了一些問(wèn)題。最主要的原因?yàn)檩^復(fù)雜智能控制算法處理模塊有時(shí)需要單獨(dú)進(jìn)行購(gòu)買(mǎi),其價(jià)格昂貴。同時(shí)作為PLC,PLC只為邏輯處理設(shè)備,其處理復(fù)雜數(shù)據(jù)的能力有限,在PLC中進(jìn)行智能控制算法編程并進(jìn)行較復(fù)雜運(yùn)算是比較困難的。針對(duì)此問(wèn)題本文提出的方法是:通過(guò)PLC采集數(shù)據(jù),通過(guò)OPC協(xié)議,把數(shù)據(jù)傳輸?shù)缴衔粰C(jī)中,進(jìn)行計(jì)算,再把計(jì)算結(jié)果反饋到PLC,進(jìn)行相應(yīng)的控制。
1 系統(tǒng)內(nèi)容介紹
本文思路如圖1系統(tǒng)框圖所示,通過(guò)OPC協(xié)議實(shí)現(xiàn)PLC 1215C中的數(shù)據(jù)與MATLAB進(jìn)行實(shí)時(shí)數(shù)據(jù)交換。
2 實(shí)現(xiàn)步驟
本文使用的是PLC 1215C 作為控制器,在與上位機(jī)軟件MATLAB通訊時(shí),由于MATLAB并不支持西門(mén)子的通信協(xié)議,所以在上位機(jī)中要安裝SIMATIC NET軟件,對(duì)上位機(jī)和PLC進(jìn)行設(shè)置。以1215C PLC作為服務(wù)器,以MATLAB為客戶(hù)端。Simulink搭建被控對(duì)象,通過(guò)OPC通訊協(xié)議完成PLC 1215C和MATLAB之間的簡(jiǎn)單的PID控制算法,上位機(jī)易控組態(tài)軟件有對(duì)PLC 1215C的驅(qū)動(dòng)支持,可以讀取PLC寄存器中的數(shù)據(jù),在上位機(jī)組態(tài)中顯示控制過(guò)程。
2.1 PLC 1215C的設(shè)置
(1)在西門(mén)子編程軟件TIA PORTAL V13版本中,進(jìn)行PLC 1215C組態(tài),添加PLC 1215C和PC STATION在組態(tài)中完成PC STATION的配置,添加OPC SERVER和IE GENERAL。并生成對(duì)應(yīng)的XBL文件。
(2)在Station Configurator中添加剛才設(shè)置好的PC station,如圖所示,Status中表示設(shè)置正確。
2.2 MATLAB的設(shè)置
在MATLAB中既可以通過(guò)M語(yǔ)言來(lái)編寫(xiě)代碼完成OPC客戶(hù)端的設(shè)置,也可以通過(guò)OPC TOOL工具來(lái)進(jìn)行界面設(shè)置,還可以在Simulink中搭建OPC功能模塊來(lái)實(shí)現(xiàn)功能。本文通過(guò)在MATLAB中使用Simulink搭建OPC功能模塊來(lái)完成控制。如圖3所示。
OPC配置中,點(diǎn)擊Configure OPC clients,添localhost/OPC.SimaticNET.1再點(diǎn)擊connect即可完成OPC客戶(hù)端和服務(wù)器連接,配置OPC READ和OPC WRITE,在進(jìn)行MATLAB中,設(shè)置如此所示。在西門(mén)子PLC 1215C中設(shè)置PID三個(gè)參數(shù)直到滿(mǎn)足要求。在設(shè)置PID參數(shù)為:Kp=2,Ki=1,Kd=1。
2.3 易控組態(tài)軟件的設(shè)置
在易控組態(tài)軟件中使用端口設(shè)置為102,1215C PLC設(shè)置IP地址為192.168.0.66,如圖4所示。
3 運(yùn)行結(jié)果
將Simulink中仿真時(shí)間設(shè)置為inf無(wú)窮,運(yùn)行可以同時(shí)在MATLAB和易控組態(tài)軟件中都觀察到波形,并在窗口中對(duì)PID參數(shù)進(jìn)行修改,直到滿(mǎn)足控制要求為止。運(yùn)行結(jié)果如圖所示: (下轉(zhuǎn)第120頁(yè))
(上接第147頁(yè))
4 結(jié)束語(yǔ)
本文中使用的是簡(jiǎn)單PID調(diào)節(jié),不可能對(duì)每種被控對(duì)象都適用。各類(lèi)型的被控對(duì)象都有與其相適應(yīng)的控制算法,不過(guò)本文提出一種適于對(duì)復(fù)雜控制算法驗(yàn)證和使用的應(yīng)用于工業(yè)控制方面的思路。使用這種思路并結(jié)合MATLAB軟件中大量的先進(jìn)控制算法函數(shù)和Simulink將在工業(yè)控制算法的開(kāi)發(fā)和應(yīng)用中大大縮減開(kāi)發(fā)周期和成本。同時(shí)組態(tài)軟件也不局限于易控組態(tài)軟件一種。
參考文獻(xiàn):
[1]Matlab OPC Toolbox幫助文件[K].
[2]劉金琨.先進(jìn)PID控制及其Matlab仿真[M].北京:電子工業(yè)出版社,2004.
[3]石瑩等.MATLAB與組態(tài)軟件的數(shù)據(jù)交換技術(shù)[J].自動(dòng)化儀表,2006,27(04):23-26.
[4]Inspect開(kāi)發(fā)環(huán)境幫助文件[K].