張浩,任正云,馮雪,王成,汪文斌
(1. 東華大學,上海 201620;2. 四川煙葉復烤有限責任公司,四川 成都 610041)
自21世紀以來,信息技術進入了迅速發展的時期,給人們的日常生活帶來了許多方便之處,同時信息技術也提高了人們的工作效率,并且不斷促使社會各方面向自動化、智能化發展。在這樣的背景下,可編程邏輯控制器(PLC)應運而生。但是PLC在仿真測試時需要硬件設備的支持,否則難以進行,但1套PLC的硬件設備可能價值不菲,這就給許多非專業人員帶來了很大的困擾,而本文所建立的實時仿真系統擺脫了硬件設備帶來的局限,完全由軟件構成,不需要硬件設備的支持。
實時仿真系統的建立方案是將算法封裝在PLC中,而數學模型建立在Simulink組件中,通過實時仿真系統,二者之間得以交換數據,形成一個控制系統,實現實時仿真測試,該仿真系統建立過程如圖1所示。

圖1 實時仿真系統建立思路示意
首先將算法封裝在PLC博圖v14中,通過S7 PLCSim仿真器仿真運行,利用Nettoplcsim軟件將仿真器運行過程中的數據通過TCP/IP協議送至客戶端[1],客戶端KEPServer通過102端口讀取數據,再通過OPC協議[2]與Matlab相連接,準確地說是與Simulink組件相連接,被控對象的數學模型建立在Simulink組件中,這樣Simulink組件就得到了PLC仿真運行過程中的數據,數據交換都是雙向的,改變任意軟件中數據都可以改變系統的運行狀態,這樣就建立了實時仿真系統。
Nettoplcsim[3]是一款用于連接PLC的軟件,主要支持S7-300/400,S7-1200,S7-1500系列PLC,該軟件能夠利用仿真器將PLC連接到KEPServer,OPC-Server,WinCC,Intouch[4]等軟件上。Nettoplcsim軟件打開時需要以管理員身份運行,因為Nettoplcsim軟件的主要作用是將仿真器中的數據讀取至102端口,而102端口一般是被電腦占用的,所以需要以管理員身份運行,以獲取102端口的暫時性的使用權。獲取102端口之后,添加正在運行的仿真器。
KEPServer[5]是一個基于Windows 32位的應用程序,它提供了一種將各種工業設備和系統中的數據引入PC客戶端應用程序的方法,通過該程序可監視、管理各種自動化設備和控制系統中的數據[6]。
相關配置完成后,在PLC和Nettoplcsim軟件運行的情況下,點擊軟件首頁上的“Quick Client”,即可將PLC中的數據讀取到KEPServer軟件中。
Matlab[7]是美國Mathworks公司開發的一款數學軟件,主要分為兩大部分: Matlab和Simulink。Matlab集數值分析和數據可視化于一身,高級計算語言和科學計算于一體,將諸多功能集成于可視化窗口內,主要用于科學計算、工業控制、圖像處理、數學建模等領域。Simulink是Matlab的一種擴展,提供了一種系統仿真的可視化方案,是Matlab中框圖設計的延伸。
打開Simulink,新建一個模型,打開Simulink Library Browser,從OPC Toolbox[8]工具箱中添加OPC配置模塊,OPC讀入模塊和OPC寫出模塊,首先配置OPC配置模塊然后通過OPC讀入模塊的“Add Items”添加變量, 配置OPC寫出模塊即可。通過OPC即可實現Simulink與KEPServer的通信,進而實現與PLC的數據交換。
本文所選用的人機界面[9]是HMI TP900 Comfort,根畫面是主要的制圖空間。根畫面下方是屬性窗口,在屬性窗口內可以設置畫面上的文本域、I/O域、趨勢圖等;根畫面右側包括工具箱、動畫、布局、指令等,工具箱內包括基本對象、元素、控件和圖形,基本對象內含有基本的圖形、文本域、圖形視圖等,元素內包含I/O域、按鈕、圖形I/O域、時鐘等,控件內含有警報視圖、趨勢視圖、監控表等。利用工具箱向畫面內添加各種圖形、域或視圖等,在屬性窗口內配置圖形、域或視圖,連接變量,添加限制條件,完善人機界面。


圖2 Simulink模型示意
在運行過程中從Simulink中向系統加入階躍干擾,得到設定值、輸出值二者的關系曲線,加入干擾的運行測試曲線如圖3所示,其中輸出值能夠快速達到設定值且沒有超調和振蕩,在加入干擾后,輸出值會有些許的超調。表明干擾對輸出值有一定的影響;在Simulink中改變參數對整個控制系統有一定的影響;Simulink和PLC之間存在數據交流。

圖3 加入干擾的控制系統運行測試示意
在系統運行一段時間后,將系統的含水率設定值由15%改到25%,得到的運行結果如圖4所示。

圖4 改變設定值的控制系統運行測試示意
由圖4中波形可以看出,在設定值改變后,輸出值能夠及時反映,及時跟隨新的設定值,且在跟隨過程中不會產生超調和震蕩,表明Simulink與PLC之間存在數據交流。
綜上所述,通過Nettoplcsim,KEPServer等軟件能夠擺脫PLC硬件對于仿真帶來的限制,實現Simulink與PLC之間的數據交流。通過在線實時仿真系統的仿真測試表明,該系統運行狀態穩定,達到了預期目標。