賴寶鵬,李志斌,熊 杰,方毅然
(上海電力學院 自動化工程學院,上海 200090)
便于移植智能算法的軟PLC控制器設計
賴寶鵬,李志斌,熊 杰,方毅然
(上海電力學院 自動化工程學院,上海 200090)
針對科學研究人員研究的智能控制算法難以便捷地直接應用于實際控制器中這一現象,設計了一種基于嵌入式的軟PLC控制器。智能控制算法可先由Simulink建模仿真后通過Simulink PLC Coder工具生成符合IEC61131-3標準的結構化文本語言,然后自動加載入PLC開發軟件中,達到便捷地把智能算法移植到所設計的軟PLC控制器中進行測試或工程化運用。測試結果表明,所設計的軟PLC控制器運行穩定、可靠,控制效果與Simulink仿真結果一致。此控制器對于大力推動科研成果更快地轉化為實際運用產品具有重要意義。
嵌入式;控制器;軟PLC;Simulink PLC Coder;STM32處理器
2015年5月,國務院印發《中國制造2025》,提出中國制造必須主攻智能制造[1]。智能制造核心在于智能控制,而智能控制主要是由智能控制器和智能控制算法組成??茖W研究人員算法研發能力決定了智能算法的發展速度。然而,由于缺少實際應用的背景,很難把理論成果進行工程化驗證。傳統的控制器,由于自身結構特點和知識產權保護的原因,往往很難通過二次開發來驗證所設計算法的可靠性。同時,算法研發人員很難有精力去自主研發一種通用的算法驗證平臺。因此,實際問題建模仿真后,如何將理論成果進行工程驗證,這個問題一直困擾著研發人員[2]。本文設計了一種軟PLC控制器,它能充分利用科研機構的研究成果以及他們擁有的強大的算法研發能力來搭建合理的數學模型,使模型的靜態特性和動態特性與被控對象一致,在此模型上添加智能算法,并進行仿真調試[3]。最后把算法移植到所設計的軟PLC控制器中,可便捷地把理論成果轉換為實際工程應用。
系統總體框架由軟PLC內核系統、嵌入式系統、基于模型的算法開發系統三部分組成。嵌入式系統作為底層軟、硬件平臺;軟PLC內核系統作為中間層負責PLC代碼的解釋翻譯;算法開發系統作為科學研究人員的上層高級算法開發平臺,它負責智能算法的生成,同時也是算法向IEC61131-3標準語言轉換的平臺[4-5]。
1.1 軟PLC內核系統
本設計的軟PLC內核選用菲尼克斯軟件提供的ProConOS eCLR。它基于.NET技術,是完全為工業控制應用而設計的內核。ProConOS eCLR提供了一個功能強大、開放、標準以及與平臺無關的編程接口。PLC程序開發軟件使用的是配套的MULTIPROG,該工具是專門用于設計和管理IEC61131標準的應用程序,支持多種編程語言,允許用戶自定義庫。在軟PLC控制器中軟PLC內核相當于一個解釋器,用于解釋MULTIPROG下裝的目標代碼,而不是將PLC運用程序直接編譯成目標芯片的機器指令文件[6]。
軟PLC內核開發主要由固件庫、共享緩存區和I/O接口開發三部分組成。固件庫開發可使用現有的C++或者C#算法來搭建屬于自己行業的固件庫,是對基于模型算法設計的一種補充和擴展。同時固件庫可以作為核心知識產權封裝起來,形成差異化產品。固件庫的兩種開發方式如圖1所示。ProConOS eCLR內核采用變址尋址方式,而嵌入式主要采用的是直接尋址方式,因此,需要采用共享緩存機制。共享緩存是用于ProConOS eCLR內核與嵌入式的其他運用程序之間的一種數據交換方式,它解決了ProConOS eCLR內核和嵌入式尋址方式不同而引起出錯的問題。I/O接口開發的核心原理在于ProConOS eCLR內核并不關心外設的種類以及I/O點的數據類型,它只是作為一個ProConOS eCLR與實際物理I/O設備之間的數據中轉站。系統開發工程師在I/O接口中實現的代碼主要負責采集本地或者總線I/O點數據,返回給ProConOS eCLR內核,以及將ProConOS eCLR輸出的數據發送到實際物理I/O設備或者現場總線I/O上。共享緩存開發和I/O驅動開發一般都是用Native方式實現,并且一般都是通過配置文件的方式來加載。
1.2 嵌入式系統
本文設計的軟PLC控制器采用意法半導體公司推出的工業級STM32F207ZG的32位高性能嵌入式微控制器,該微控制器基于ARM V7架構的Cortex-M3內核,主頻高達120 MHz,內部含有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接口電路、存儲電路、通信電路等模塊。
系統由μC/OS-III作為實時操作系統,負責任務、中斷、內存和其他資源的創建、刪除、管理和調度。μC/OS-III內核代碼是完全開源的,開發人員可以實現對系統的深度定制。本設計軟PLC控制器通過IAR Embedded Workbench軟件移植軟PLC內核到嵌入式系統中,主要包括配置與操作系統的接口、文件系統的接口、時鐘系統的接口、通信接口、板級支持包等內容。操作系統通過OSTaskCreate函數把軟PLC內核創建為μC/OS-III的一個較高優先級的任務來運行;設置系統滴答時間為1 ms;設置串口通信參數波特率為115 200、數據位為8位、停止位為1位、無奇偶校驗位等。同時可根據控制對象需求來選擇性配置文件系統、總線、人機界面等[7]。
1.3 基于模型的算法開發系統
本文采用一種基于Simulink建模仿真并自動代碼生成的技術,它是一種強大的模塊化、圖形化的編程工具。其Simulink PLC Coder工具可根據Simulink模型生成獨立于硬件的符合特定PLC開發平臺配置的IEC61131-3標準的結構化文本語言[8]。它使得基于模型的設計方法能在PLC上運用。與傳統的PLC開發方式相比,這種基于模型的設計方法能使開發者在開發過程中不斷地完善系統模型,有效地減少了現場調試導致的事故發生[9]。
2.1 系統實現
2.1.1 智能算法實現
MATLAB提供了豐富的demo以備參考。為了開發方便迅速,本設計直接利用MATLAB 提供的demo中的plcdemo_simple_subsystem.slx為模板。首先在MATLAB命令行中執行命令plcdemo_simple_subsystem。把demo另存為自己的模板。打開參數配置面板(Simulation->Configuration Parameters),進入PLC Coder的選項頁,Target IDE選為目標PLC開發軟件。回到模型,雙擊進入SimpleSubsystem,根據系統的建模和計算結果搭建自己的模型。
循環水系統仿真實驗臺溫度控制模型的階躍響應曲線如圖4所示。
SimulinkPLCCoder工具只能轉換離散模型,若為連續模塊,還需進行離散化。選擇Analysis→ControlDesign→ModelDiscretizer,調出SimulinkModelDiscretizer工具將所有環節離散化,轉換方式可為Tustin,并修改采樣時間[12]。如果出現代數環問題,則只需在代數回路上添加unitdelay模塊即可。右鍵單擊已創建的子模塊PID-Control,選擇PLCCoder→GenerateandImportCodeforSubsystem[13]。若編譯成功,將生成一個.xml文件及診斷對話框,同時SimulinkPLCCoder工具會直接根據ConfigurationParameters的設置來自動打開目標IDE,并將自動加載生成的固件庫到MULTIPROG中。在MULTIPROG中把它形成用戶庫,方便其他工程調用。在MULTIPROG的編輯向導中選擇UNTITLED便可看到Simulink建模轉化生成的ST語言對應的一個名為PID-Control的功能塊,可直接拖拽使用此功能塊。功能塊如圖5所示。對于具有內部狀態的頂層子系統所自動生成的功能塊會在輸入端自動增加一個名為ssMethodtype的輸入口,它是一個特殊的輸入參數,可當作功能選擇端口。為便于實驗驗證將循環水系統仿真實驗臺的模型去掉輸出反饋環節,將實測值SP作為輸出反饋值。
2.1.2 控制器硬件實現
軟PLC控制器設計主要參考IEC61131-2:2007標準(可編程序控制器第2部分:設備要求和測試)、IEC61000-4-2標準(電磁兼容第2部分:靜電放電抗干擾試驗)、IEC61000-4-3標準(電磁兼容第3部分:試驗和測量技術——輻射、射頻和電磁場的抗擾度試驗)、IEC61000-4-4標準(電磁兼容第4部分:試驗和測量技術——電快速瞬變脈沖群抗擾度試驗)來設計硬件。目前,軟PLC控制器樣機也制作完成。軟PLC控制器已在實驗室測試平臺進行相關性能測試?;菊`差滿足:(1)輸入信號為直流標準信號時,不超過±(0.2%F.S+1d);(2)輸入信號為數字量信號時,顯示正確邏輯值;(3)模擬量輸出時,不超過±0.2%F.S;(4)數字量輸出時,顯示正確邏輯值。在高低溫-20℃、25℃、60℃、80℃溫度點不停機連續運行24 h未出現程序崩潰、數值異常變化的現象。同時也對數據存儲、編程語言、軟件平臺、生產制造、系統架構、系統可靠性、硬件冗余、硬件功能模塊、實時工業網絡、工業網絡安全等做了相應的測試。檢測結果良好,符合標準的技術指標要求。
2.2 系統測試
在已建好的循環水系統仿真實驗臺軟件控制框架中添加PID-Control功能塊,編譯好后下裝入已連接好設備的軟PLC控制器中,得到圖6所示的循環水系統實驗臺溫度與時間的關系曲線。
由圖6可知,實際控制效果與Simulink模型仿真相似,說明算法移植成功且控制效果良好、系統穩定,實現了基于模型的算法開發與軟PLC控制器兩者的無縫連接。
本文以STM32為嵌入式硬件平臺、μC/OS-III為嵌入式軟件平臺、ProConOS eCLR軟PLC作為PLC內核,設計了一種具有良好通用性、兼容性、可擴展性以及不受軟硬件限制的軟PLC控制器,并介紹了結合Simulink建模仿真自動生成符合IEC61131-3標準語言的算法生成方式。極大地提升了理論向實際轉化的進度,為算法工程師提供了一種簡便的開發平臺。同時,所設計的軟PLC控制器也能充分利用開放的平臺面向工業發展更加深入的專用智能控制器,體現出專屬化和定制化的特點與控制優勢[14]。
[1] 周濟. 智能制造——“中國制造2025”的主攻方向[J]. 中國機械工程, 2015,26(17): 2273-2284.
[2] 孫立平, 姜建芳. Matlab代碼在PLC控制系統中的實現方法研究[J]. 微計算機信息, 2012(5): 44-45,50.
[3] 賈茜茜. 基于軟PLC技術的仿真系統設計與應用[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] 劉賢, 梁慧敏, 李國良,等. 基于模型的設計在PLC控制系統開發中的應用[J]. 電氣自動化, 2014, 36(2): 86-88.
[10] 張鵬軍. 基于主元素分析的火電廠熱平衡計算應用研究[D]. 北京:北京交通大學, 2007.
[11] 金果. 凝汽器泄漏判斷與處理[C]. 中國電機工程學會電廠化學2013學術年會, 長沙,2013:155-156.
[12] 張國亮, 陳健, 徐威挺,等. Simulink應用于PLC運動控制系統初探[J]. 儀器儀表標準化與計量, 2014(2):29-32.
[13] 石良臣. MATLAB/Simulink系統仿真超級學習手冊[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,Fang 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控制器設計[J].微型機與應用,2017,36(5):1-3,7.
2016-11-14)
賴寶鵬(1990-),男,碩士研究生,主要研究方向:嵌入式軟PLC控制器設計與研究。
李志斌(1974-),男,博士,教授,主要研究方向:檢測技術與自動化裝置,節能技術,數字全息。
熊杰(1991-),男,碩士研究生,主要研究方向:電氣故障檢測,光電檢測。