賴寶鵬,李志斌,熊 杰,方毅然
(上海電力學(xué)院 自動化工程學(xué)院,上海 200090)
便于移植智能算法的軟PLC控制器設(shè)計(jì)
賴寶鵬,李志斌,熊 杰,方毅然
(上海電力學(xué)院 自動化工程學(xué)院,上海 200090)
針對科學(xué)研究人員研究的智能控制算法難以便捷地直接應(yīng)用于實(shí)際控制器中這一現(xiàn)象,設(shè)計(jì)了一種基于嵌入式的軟PLC控制器。智能控制算法可先由Simulink建模仿真后通過Simulink PLC Coder工具生成符合IEC61131-3標(biāo)準(zhǔn)的結(jié)構(gòu)化文本語言,然后自動加載入PLC開發(fā)軟件中,達(dá)到便捷地把智能算法移植到所設(shè)計(jì)的軟PLC控制器中進(jìn)行測試或工程化運(yùn)用。測試結(jié)果表明,所設(shè)計(jì)的軟PLC控制器運(yùn)行穩(wěn)定、可靠,控制效果與Simulink仿真結(jié)果一致。此控制器對于大力推動科研成果更快地轉(zhuǎn)化為實(shí)際運(yùn)用產(chǎn)品具有重要意義。
嵌入式;控制器;軟PLC;Simulink PLC Coder;STM32處理器
2015年5月,國務(wù)院印發(fā)《中國制造2025》,提出中國制造必須主攻智能制造[1]。智能制造核心在于智能控制,而智能控制主要是由智能控制器和智能控制算法組成。科學(xué)研究人員算法研發(fā)能力決定了智能算法的發(fā)展速度。然而,由于缺少實(shí)際應(yīng)用的背景,很難把理論成果進(jìn)行工程化驗(yàn)證。傳統(tǒng)的控制器,由于自身結(jié)構(gòu)特點(diǎn)和知識產(chǎn)權(quán)保護(hù)的原因,往往很難通過二次開發(fā)來驗(yàn)證所設(shè)計(jì)算法的可靠性。同時,算法研發(fā)人員很難有精力去自主研發(fā)一種通用的算法驗(yàn)證平臺。因此,實(shí)際問題建模仿真后,如何將理論成果進(jìn)行工程驗(yàn)證,這個問題一直困擾著研發(fā)人員[2]。本文設(shè)計(jì)了一種軟PLC控制器,它能充分利用科研機(jī)構(gòu)的研究成果以及他們擁有的強(qiáng)大的算法研發(fā)能力來搭建合理的數(shù)學(xué)模型,使模型的靜態(tài)特性和動態(tài)特性與被控對象一致,在此模型上添加智能算法,并進(jìn)行仿真調(diào)試[3]。最后把算法移植到所設(shè)計(jì)的軟PLC控制器中,可便捷地把理論成果轉(zhuǎn)換為實(shí)際工程應(yīng)用。
系統(tǒng)總體框架由軟PLC內(nèi)核系統(tǒng)、嵌入式系統(tǒng)、基于模型的算法開發(fā)系統(tǒng)三部分組成。嵌入式系統(tǒng)作為底層軟、硬件平臺;軟PLC內(nèi)核系統(tǒng)作為中間層負(fù)責(zé)PLC代碼的解釋翻譯;算法開發(fā)系統(tǒng)作為科學(xué)研究人員的上層高級算法開發(fā)平臺,它負(fù)責(zé)智能算法的生成,同時也是算法向IEC61131-3標(biāo)準(zhǔn)語言轉(zhuǎn)換的平臺[4-5]。
1.1 軟PLC內(nèi)核系統(tǒng)
本設(shè)計(jì)的軟PLC內(nèi)核選用菲尼克斯軟件提供的ProConOS eCLR。它基于.NET技術(shù),是完全為工業(yè)控制應(yīng)用而設(shè)計(jì)的內(nèi)核。ProConOS eCLR提供了一個功能強(qiáng)大、開放、標(biāo)準(zhǔn)以及與平臺無關(guān)的編程接口。PLC程序開發(fā)軟件使用的是配套的MULTIPROG,該工具是專門用于設(shè)計(jì)和管理IEC61131標(biāo)準(zhǔn)的應(yīng)用程序,支持多種編程語言,允許用戶自定義庫。在軟PLC控制器中軟PLC內(nèi)核相當(dāng)于一個解釋器,用于解釋MULTIPROG下裝的目標(biāo)代碼,而不是將PLC運(yùn)用程序直接編譯成目標(biāo)芯片的機(jī)器指令文件[6]。
軟PLC內(nèi)核開發(fā)主要由固件庫、共享緩存區(qū)和I/O接口開發(fā)三部分組成。固件庫開發(fā)可使用現(xiàn)有的C++或者C#算法來搭建屬于自己行業(yè)的固件庫,是對基于模型算法設(shè)計(jì)的一種補(bǔ)充和擴(kuò)展。同時固件庫可以作為核心知識產(chǎn)權(quán)封裝起來,形成差異化產(chǎn)品。固件庫的兩種開發(fā)方式如圖1所示。ProConOS eCLR內(nèi)核采用變址尋址方式,而嵌入式主要采用的是直接尋址方式,因此,需要采用共享緩存機(jī)制。共享緩存是用于ProConOS eCLR內(nèi)核與嵌入式的其他運(yùn)用程序之間的一種數(shù)據(jù)交換方式,它解決了ProConOS eCLR內(nèi)核和嵌入式尋址方式不同而引起出錯的問題。I/O接口開發(fā)的核心原理在于ProConOS eCLR內(nèi)核并不關(guān)心外設(shè)的種類以及I/O點(diǎn)的數(shù)據(jù)類型,它只是作為一個ProConOS eCLR與實(shí)際物理I/O設(shè)備之間的數(shù)據(jù)中轉(zhuǎn)站。系統(tǒng)開發(fā)工程師在I/O接口中實(shí)現(xiàn)的代碼主要負(fù)責(zé)采集本地或者總線I/O點(diǎn)數(shù)據(jù),返回給ProConOS eCLR內(nèi)核,以及將ProConOS eCLR輸出的數(shù)據(jù)發(fā)送到實(shí)際物理I/O設(shè)備或者現(xiàn)場總線I/O上。共享緩存開發(fā)和I/O驅(qū)動開發(fā)一般都是用Native方式實(shí)現(xiàn),并且一般都是通過配置文件的方式來加載。
1.2 嵌入式系統(tǒng)
本文設(shè)計(jì)的軟PLC控制器采用意法半導(dǎo)體公司推出的工業(yè)級STM32F207ZG的32位高性能嵌入式微控制器,該微控制器基于ARM V7架構(gòu)的Cortex-M3內(nèi)核,主頻高達(dá)120 MHz,內(nèi)部含有128 KB的SRAM和1 024 KB的FLASH、自帶3個12位24通道的ADC和2個12位DAC、12個通用16位定時器和2個通用32位定時器、1個低功耗RTC、2個CAN接口、擁有114個通用I/O口等。適用于低功耗、低成本、高性能的嵌入式控制器中。控制器硬件電路包括:控制器芯片主電路、電源電路、I/O接口電路、存儲電路、通信電路等模塊。
系統(tǒng)由μC/OS-III作為實(shí)時操作系統(tǒng),負(fù)責(zé)任務(wù)、中斷、內(nèi)存和其他資源的創(chuàng)建、刪除、管理和調(diào)度。μC/OS-III內(nèi)核代碼是完全開源的,開發(fā)人員可以實(shí)現(xiàn)對系統(tǒng)的深度定制。本設(shè)計(jì)軟PLC控制器通過IAR Embedded Workbench軟件移植軟PLC內(nèi)核到嵌入式系統(tǒng)中,主要包括配置與操作系統(tǒng)的接口、文件系統(tǒng)的接口、時鐘系統(tǒng)的接口、通信接口、板級支持包等內(nèi)容。操作系統(tǒng)通過OSTaskCreate函數(shù)把軟PLC內(nèi)核創(chuàng)建為μC/OS-III的一個較高優(yōu)先級的任務(wù)來運(yùn)行;設(shè)置系統(tǒng)滴答時間為1 ms;設(shè)置串口通信參數(shù)波特率為115 200、數(shù)據(jù)位為8位、停止位為1位、無奇偶校驗(yàn)位等。同時可根據(jù)控制對象需求來選擇性配置文件系統(tǒng)、總線、人機(jī)界面等[7]。
1.3 基于模型的算法開發(fā)系統(tǒng)
本文采用一種基于Simulink建模仿真并自動代碼生成的技術(shù),它是一種強(qiáng)大的模塊化、圖形化的編程工具。其Simulink PLC Coder工具可根據(jù)Simulink模型生成獨(dú)立于硬件的符合特定PLC開發(fā)平臺配置的IEC61131-3標(biāo)準(zhǔn)的結(jié)構(gòu)化文本語言[8]。它使得基于模型的設(shè)計(jì)方法能在PLC上運(yùn)用。與傳統(tǒng)的PLC開發(fā)方式相比,這種基于模型的設(shè)計(jì)方法能使開發(fā)者在開發(fā)過程中不斷地完善系統(tǒng)模型,有效地減少了現(xiàn)場調(diào)試導(dǎo)致的事故發(fā)生[9]。
2.1 系統(tǒng)實(shí)現(xiàn)
2.1.1 智能算法實(shí)現(xiàn)
MATLAB提供了豐富的demo以備參考。為了開發(fā)方便迅速,本設(shè)計(jì)直接利用MATLAB 提供的demo中的plcdemo_simple_subsystem.slx為模板。首先在MATLAB命令行中執(zhí)行命令plcdemo_simple_subsystem。把demo另存為自己的模板。打開參數(shù)配置面板(Simulation->Configuration Parameters),進(jìn)入PLC Coder的選項(xiàng)頁,Target IDE選為目標(biāo)PLC開發(fā)軟件?;氐侥P?,雙擊進(jìn)入SimpleSubsystem,根據(jù)系統(tǒng)的建模和計(jì)算結(jié)果搭建自己的模型。
循環(huán)水系統(tǒng)仿真實(shí)驗(yàn)臺溫度控制模型的階躍響應(yīng)曲線如圖4所示。
SimulinkPLCCoder工具只能轉(zhuǎn)換離散模型,若為連續(xù)模塊,還需進(jìn)行離散化。選擇Analysis→ControlDesign→ModelDiscretizer,調(diào)出SimulinkModelDiscretizer工具將所有環(huán)節(jié)離散化,轉(zhuǎn)換方式可為Tustin,并修改采樣時間[12]。如果出現(xiàn)代數(shù)環(huán)問題,則只需在代數(shù)回路上添加unitdelay模塊即可。右鍵單擊已創(chuàng)建的子模塊PID-Control,選擇PLCCoder→GenerateandImportCodeforSubsystem[13]。若編譯成功,將生成一個.xml文件及診斷對話框,同時SimulinkPLCCoder工具會直接根據(jù)ConfigurationParameters的設(shè)置來自動打開目標(biāo)IDE,并將自動加載生成的固件庫到MULTIPROG中。在MULTIPROG中把它形成用戶庫,方便其他工程調(diào)用。在MULTIPROG的編輯向?qū)е羞x擇UNTITLED便可看到Simulink建模轉(zhuǎn)化生成的ST語言對應(yīng)的一個名為PID-Control的功能塊,可直接拖拽使用此功能塊。功能塊如圖5所示。對于具有內(nèi)部狀態(tài)的頂層子系統(tǒng)所自動生成的功能塊會在輸入端自動增加一個名為ssMethodtype的輸入口,它是一個特殊的輸入?yún)?shù),可當(dāng)作功能選擇端口。為便于實(shí)驗(yàn)驗(yàn)證將循環(huán)水系統(tǒng)仿真實(shí)驗(yàn)臺的模型去掉輸出反饋環(huán)節(jié),將實(shí)測值SP作為輸出反饋值。
2.1.2 控制器硬件實(shí)現(xiàn)
軟PLC控制器設(shè)計(jì)主要參考IEC61131-2:2007標(biāo)準(zhǔn)(可編程序控制器第2部分:設(shè)備要求和測試)、IEC61000-4-2標(biāo)準(zhǔn)(電磁兼容第2部分:靜電放電抗干擾試驗(yàn))、IEC61000-4-3標(biāo)準(zhǔn)(電磁兼容第3部分:試驗(yàn)和測量技術(shù)——輻射、射頻和電磁場的抗擾度試驗(yàn))、IEC61000-4-4標(biāo)準(zhǔn)(電磁兼容第4部分:試驗(yàn)和測量技術(shù)——電快速瞬變脈沖群抗擾度試驗(yàn))來設(shè)計(jì)硬件。目前,軟PLC控制器樣機(jī)也制作完成。軟PLC控制器已在實(shí)驗(yàn)室測試平臺進(jìn)行相關(guān)性能測試?;菊`差滿足:(1)輸入信號為直流標(biāo)準(zhǔn)信號時,不超過±(0.2%F.S+1d);(2)輸入信號為數(shù)字量信號時,顯示正確邏輯值;(3)模擬量輸出時,不超過±0.2%F.S;(4)數(shù)字量輸出時,顯示正確邏輯值。在高低溫-20℃、25℃、60℃、80℃溫度點(diǎn)不停機(jī)連續(xù)運(yùn)行24 h未出現(xiàn)程序崩潰、數(shù)值異常變化的現(xiàn)象。同時也對數(shù)據(jù)存儲、編程語言、軟件平臺、生產(chǎn)制造、系統(tǒng)架構(gòu)、系統(tǒng)可靠性、硬件冗余、硬件功能模塊、實(shí)時工業(yè)網(wǎng)絡(luò)、工業(yè)網(wǎng)絡(luò)安全等做了相應(yīng)的測試。檢測結(jié)果良好,符合標(biāo)準(zhǔn)的技術(shù)指標(biāo)要求。
2.2 系統(tǒng)測試
在已建好的循環(huán)水系統(tǒng)仿真實(shí)驗(yàn)臺軟件控制框架中添加PID-Control功能塊,編譯好后下裝入已連接好設(shè)備的軟PLC控制器中,得到圖6所示的循環(huán)水系統(tǒng)實(shí)驗(yàn)臺溫度與時間的關(guān)系曲線。
由圖6可知,實(shí)際控制效果與Simulink模型仿真相似,說明算法移植成功且控制效果良好、系統(tǒng)穩(wěn)定,實(shí)現(xiàn)了基于模型的算法開發(fā)與軟PLC控制器兩者的無縫連接。
本文以STM32為嵌入式硬件平臺、μC/OS-III為嵌入式軟件平臺、ProConOS eCLR軟PLC作為PLC內(nèi)核,設(shè)計(jì)了一種具有良好通用性、兼容性、可擴(kuò)展性以及不受軟硬件限制的軟PLC控制器,并介紹了結(jié)合Simulink建模仿真自動生成符合IEC61131-3標(biāo)準(zhǔn)語言的算法生成方式。極大地提升了理論向?qū)嶋H轉(zhuǎn)化的進(jìn)度,為算法工程師提供了一種簡便的開發(fā)平臺。同時,所設(shè)計(jì)的軟PLC控制器也能充分利用開放的平臺面向工業(yè)發(fā)展更加深入的專用智能控制器,體現(xiàn)出專屬化和定制化的特點(diǎn)與控制優(yōu)勢[14]。
[1] 周濟(jì). 智能制造——“中國制造2025”的主攻方向[J]. 中國機(jī)械工程, 2015,26(17): 2273-2284.
[2] 孫立平, 姜建芳. Matlab代碼在PLC控制系統(tǒng)中的實(shí)現(xiàn)方法研究[J]. 微計(jì)算機(jī)信息, 2012(5): 44-45,50.
[3] 賈茜茜. 基于軟PLC技術(shù)的仿真系統(tǒng)設(shè)計(jì)與應(yīng)用[J]. 自動化與儀器儀表, 2016(2):211-213.
[4] Zhou Qingguo, Yang Xuhui, Han Genliang, et al. An embedded control system designed based on soft PLC[M]. Springer Berlin Heidelberg, 2014:115-120.
[5] WANG Z. The key technology research for embedded soft PLC control[C]. IEEE Workshop on Electronics, Computer and Applications, 2014:1045-1048.
[6] LIANG Q, LI L. The study of soft PLC running system[J]. Procedia Engineering, 2011(15):1234-1238.
[7] LIANG G, LI Z, LI W, et al. On an LAS-integrated soft PLC system based on WorldFIP fieldbus[J]. Isa Transactions, 2012, 51(1):170-180.
[8] DEVEZA T, MARTINS J F. PLC control and Matlab/Simulink simulations: a translation approach[C]. 2009 IEEE Conference on Emerging Technologies & Factory Automation, IEEE, 2009: 1-5.
[9] 劉賢, 梁慧敏, 李國良,等. 基于模型的設(shè)計(jì)在PLC控制系統(tǒng)開發(fā)中的應(yīng)用[J]. 電氣自動化, 2014, 36(2): 86-88.
[10] 張鵬軍. 基于主元素分析的火電廠熱平衡計(jì)算應(yīng)用研究[D]. 北京:北京交通大學(xué), 2007.
[11] 金果. 凝汽器泄漏判斷與處理[C]. 中國電機(jī)工程學(xué)會電廠化學(xué)2013學(xué)術(shù)年會, 長沙,2013:155-156.
[12] 張國亮, 陳健, 徐威挺,等. Simulink應(yīng)用于PLC運(yùn)動控制系統(tǒng)初探[J]. 儀器儀表標(biāo)準(zhǔn)化與計(jì)量, 2014(2):29-32.
[13] 石良臣. MATLAB/Simulink系統(tǒng)仿真超級學(xué)習(xí)手冊[M]. 北京:人民郵電出版社, 2014.
[14] 宋慧欣. 施耐德電氣PLC:詮釋市場趨勢[J]. 自動化博覽, 2015,32(6):42-43.
The design of soft PLC controller which intelligent algorithms can be transplanted into conveniently
Lai Baopeng,Li Zhibin,Xiong Jie,F(xiàn)ang Yiran
(School of Automation Engineering, Shanghai University of Electric Power, Shanghai 200090, China)
Embedded soft Programmable Logic Controller (PLC) was designed in response to this phenomenon that intelligent control algorithm researched by scientists couldn’t be applied to actual controller conveniently and directly. Intelligent control algorithm can generate structuring text language which meets the standard of IEC61131-3 by the tool of Simulink PLC Coder after modeling and simulating by Simulink. Then the structuring text language is loaded into PLC development software automatically. In this way, the intelligent algorithm can be transplanted into the soft PLC controller conveniently to test and apply to engineering. Test results show that the soft PLC controller operates stably and reliably, and its control effect is the same as the simulation result of Simulink. So it is of great significance to promote the translation of scientific payoffs into actual products.
embedded system; controller; soft PLC; Simulink PLC Coder; STM32
TP23
A
10.19358/j.issn.1674- 7720.2017.05.001
賴寶鵬,李志斌,熊杰,等.便于移植智能算法的軟PLC控制器設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2017,36(5):1-3,7.
2016-11-14)
賴寶鵬(1990-),男,碩士研究生,主要研究方向:嵌入式軟PLC控制器設(shè)計(jì)與研究。
李志斌(1974-),男,博士,教授,主要研究方向:檢測技術(shù)與自動化裝置,節(jié)能技術(shù),數(shù)字全息。
熊杰(1991-),男,碩士研究生,主要研究方向:電氣故障檢測,光電檢測。