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