張健,王雨,任洪兵
(1.四川化工職業技術學院自動化工程系,四川 瀘州 646003;2.四川瀘州大新科技有限公司,四川 瀘州 646003)
基于模型的PLC設計方法研究
張健1,王雨1,任洪兵2
(1.四川化工職業技術學院自動化工程系,四川 瀘州 646003;2.四川瀘州大新科技有限公司,四川 瀘州 646003)
以MATLAB/simulink為軟件平臺,圍繞基于模型設計這個核心思想,通過對房間溫度控制的PLC設計介紹了完整的基于模型的PLC開發流程和工具使用。設計方法首先利用Simulink/Stateflow建立房間溫度控制的模型,然后用MATLAB自帶的代碼自動轉換工具Simulink PLC Coder將模型轉換為符合PLC編程標準IEC61131-3的結構化文本語言(ST)代碼,然后將代碼導入到PLC編程軟件SIMIENS STEP7中,得到溫度控制模型的功能塊,并以此為基礎編寫房間溫度的控制程序。實驗結果證明了這種PLC控制系統設計方法的可行性及高效性。
基于模型;MATLAB;溫度控制
MathWorks公司發布了新產品Simulink PLC Coder(PLC編碼器),這是一種軟件產品,可以為可編程邏輯控制器(PLC)和可編程自動化控制器(PAC)生成符合IEC61131-3標準的結構化文本程序。這種技術可以把基于模型設計的生成程序,用于生產制造和能源發電設備中的PLC和PAC控制。特別是最近幾年,基于模型的設計(Model Based Design)在單片機、DSP、FPGA等嵌入式系統的開發中得到了越來越廣泛的應用,較之傳統的開發方式,展現出了強大的優勢。
一般流程是先用Simulink/Stateflow建立可執行的模型,并進行仿真調試,再使用代碼轉換工具自動生成代碼,最后將代碼下載到目標PLC中進行測試和驗證。
基于模型的設計方法分為4個階段:可執行的原理模型,定點,代碼生成,仿真驗證。從開發的結果看,基于模型的設計可以大大縮短PLC開發周期,同時保證了軟件系統的質量和安全性。
Mathworks公司的Matlab軟件提供了Simulink/ Stateflow工具來實現基于模型的設計思想,為PLC控制算法的實現提供了一個高效易用安全的圖形化編程環境。以房間溫度控制的PLC建模為例,如圖1所示。
該模型左邊是期望溫度值設定模塊,中間是溫度控制算法模塊,右邊是當前溫度和熱量消耗的示波器輸出。該模型可以完全仿真房間溫度控制系統的全過程。
該模型會實時檢測房間當前溫度,并把檢測值與設定溫度進行比較,然后根據差值判斷是否加熱、制冷或不動作。
建模完成后就可以開始進行仿真,通過仿真檢測模型算法是否正確。即通常的軟件仿真。
定點模型就是將實際的PLC環境參數加入原理模型中。生成定點模型的原因有兩個:一個是因為PLC 的CPU都是單片機或者嵌入式CPU,該類CPU的機器指令都是定長指令,只能進行整數運算。另外一個原因是模型中的模塊并不是能全部轉換成結構文本程序。將Termos tat、House、Heater、比較器模塊組合成unit模塊,然后將該unit模塊轉換成定點模型。

圖1 房間溫度控制模型
Matlab軟件中的PLC Coder工具可以將定點模型轉換成特定PLC可以識別的結構文本程序。在轉換之前必須做模型一致性檢測。
如果沒有錯誤,則Matlab會自動調用PLC Coder轉換。
基于模型的設計方法從建立可執行的原理模型開始,就可以不斷地進行測試和驗證。檢測設計的系統是否滿足需求,在需求修改的情況下可以快速跟蹤變更和測試系統結果。
在代碼自動生成之后可以通過Matlab的軟在線仿真和硬在線仿真測試代碼是否正確。
基于模型的設計方法提供了一種高效安全的開發方法。使用該方法可以在PLC控制系統開發過程中將需求、設計、測試一體化,從而加快控制系統的開發速度,而且可以大大降低開發成本。
[1] 俞張輝,張自強. 基于模型的設計思想加速電梯控制算法開發[J].電子科技,2011,24(8):28~30.
[2] Mathwors公司. Simulink用戶手冊,2015,3.
[3] 華镕. 基于模型設計的控制程序自動生成[J]. 國內外機電一體化技術,2010,13(6):22~23
[4] 劉杰. 基于模型的設計-MCU篇[M].北京:北京航空航天大學出版社,2011.
[5] 張威. Stateflow邏輯系統建模[M].西安:西安電子科技大學大學出版社,2007.
Model based PLC design method
TP273
1009-797X (2015) 20-0147-02
A DOI:10.13520/j.cnki.rpte.2015.20.048
張健(1976-),男,碩研,助教,畢業于中國電子科技大學,主要研究方向為模式識別、PLC控制技術等。
2015-09-01