張健,王雨,任洪兵
(1.四川化工職業(yè)技術(shù)學(xué)院自動化工程系,四川 瀘州 646003;2.四川瀘州大新科技有限公司,四川 瀘州 646003)
基于模型的PLC設(shè)計方法研究
張健1,王雨1,任洪兵2
(1.四川化工職業(yè)技術(shù)學(xué)院自動化工程系,四川 瀘州 646003;2.四川瀘州大新科技有限公司,四川 瀘州 646003)
以MATLAB/simulink為軟件平臺,圍繞基于模型設(shè)計這個核心思想,通過對房間溫度控制的PLC設(shè)計介紹了完整的基于模型的PLC開發(fā)流程和工具使用。設(shè)計方法首先利用Simulink/Stateflow建立房間溫度控制的模型,然后用MATLAB自帶的代碼自動轉(zhuǎn)換工具Simulink PLC Coder將模型轉(zhuǎn)換為符合PLC編程標(biāo)準(zhǔn)IEC61131-3的結(jié)構(gòu)化文本語言(ST)代碼,然后將代碼導(dǎo)入到PLC編程軟件SIMIENS STEP7中,得到溫度控制模型的功能塊,并以此為基礎(chǔ)編寫房間溫度的控制程序。實驗結(jié)果證明了這種PLC控制系統(tǒng)設(shè)計方法的可行性及高效性。
基于模型;MATLAB;溫度控制
MathWorks公司發(fā)布了新產(chǎn)品Simulink PLC Coder(PLC編碼器),這是一種軟件產(chǎn)品,可以為可編程邏輯控制器(PLC)和可編程自動化控制器(PAC)生成符合IEC61131-3標(biāo)準(zhǔn)的結(jié)構(gòu)化文本程序。這種技術(shù)可以把基于模型設(shè)計的生成程序,用于生產(chǎn)制造和能源發(fā)電設(shè)備中的PLC和PAC控制。特別是最近幾年,基于模型的設(shè)計(Model Based Design)在單片機(jī)、DSP、FPGA等嵌入式系統(tǒng)的開發(fā)中得到了越來越廣泛的應(yīng)用,較之傳統(tǒng)的開發(fā)方式,展現(xiàn)出了強(qiáng)大的優(yōu)勢。
一般流程是先用Simulink/Stateflow建立可執(zhí)行的模型,并進(jìn)行仿真調(diào)試,再使用代碼轉(zhuǎn)換工具自動生成代碼,最后將代碼下載到目標(biāo)PLC中進(jìn)行測試和驗證。
基于模型的設(shè)計方法分為4個階段:可執(zhí)行的原理模型,定點,代碼生成,仿真驗證。從開發(fā)的結(jié)果看,基于模型的設(shè)計可以大大縮短PLC開發(fā)周期,同時保證了軟件系統(tǒng)的質(zhì)量和安全性。
Mathworks公司的Matlab軟件提供了Simulink/ Stateflow工具來實現(xiàn)基于模型的設(shè)計思想,為PLC控制算法的實現(xiàn)提供了一個高效易用安全的圖形化編程環(huán)境。以房間溫度控制的PLC建模為例,如圖1所示。
該模型左邊是期望溫度值設(shè)定模塊,中間是溫度控制算法模塊,右邊是當(dāng)前溫度和熱量消耗的示波器輸出。該模型可以完全仿真房間溫度控制系統(tǒng)的全過程。
該模型會實時檢測房間當(dāng)前溫度,并把檢測值與設(shè)定溫度進(jìn)行比較,然后根據(jù)差值判斷是否加熱、制冷或不動作。
建模完成后就可以開始進(jìn)行仿真,通過仿真檢測模型算法是否正確。即通常的軟件仿真。
定點模型就是將實際的PLC環(huán)境參數(shù)加入原理模型中。生成定點模型的原因有兩個:一個是因為PLC 的CPU都是單片機(jī)或者嵌入式CPU,該類CPU的機(jī)器指令都是定長指令,只能進(jìn)行整數(shù)運(yùn)算。另外一個原因是模型中的模塊并不是能全部轉(zhuǎn)換成結(jié)構(gòu)文本程序。將Termos tat、House、Heater、比較器模塊組合成unit模塊,然后將該unit模塊轉(zhuǎn)換成定點模型。
圖1 房間溫度控制模型
Matlab軟件中的PLC Coder工具可以將定點模型轉(zhuǎn)換成特定PLC可以識別的結(jié)構(gòu)文本程序。在轉(zhuǎn)換之前必須做模型一致性檢測。
如果沒有錯誤,則Matlab會自動調(diào)用PLC Coder轉(zhuǎn)換。
基于模型的設(shè)計方法從建立可執(zhí)行的原理模型開始,就可以不斷地進(jìn)行測試和驗證。檢測設(shè)計的系統(tǒng)是否滿足需求,在需求修改的情況下可以快速跟蹤變更和測試系統(tǒng)結(jié)果。
在代碼自動生成之后可以通過Matlab的軟在線仿真和硬在線仿真測試代碼是否正確。
基于模型的設(shè)計方法提供了一種高效安全的開發(fā)方法。使用該方法可以在PLC控制系統(tǒng)開發(fā)過程中將需求、設(shè)計、測試一體化,從而加快控制系統(tǒng)的開發(fā)速度,而且可以大大降低開發(fā)成本。
[1] 俞張輝,張自強(qiáng). 基于模型的設(shè)計思想加速電梯控制算法開發(fā)[J].電子科技,2011,24(8):28~30.
[2] Mathwors公司. Simulink用戶手冊,2015,3.
[3] 華镕. 基于模型設(shè)計的控制程序自動生成[J]. 國內(nèi)外機(jī)電一體化技術(shù),2010,13(6):22~23
[4] 劉杰. 基于模型的設(shè)計-MCU篇[M].北京:北京航空航天大學(xué)出版社,2011.
[5] 張威. Stateflow邏輯系統(tǒng)建模[M].西安:西安電子科技大學(xué)大學(xué)出版社,2007.
Model based PLC design method
TP273
1009-797X (2015) 20-0147-02
A DOI:10.13520/j.cnki.rpte.2015.20.048
張健(1976-),男,碩研,助教,畢業(yè)于中國電子科技大學(xué),主要研究方向為模式識別、PLC控制技術(shù)等。
2015-09-01