張彥迪
?
基于機器自動化控制器的水箱水溫和電機轉速的PID控制
張彥迪
(銀川能源學院)
基于Socket通信接口,使用Sysmac Studio軟件編程,配置機器自動化控制器及從站的硬件結構,解決機器自動化控制器與工控機之間的通信問題。在工控機中使用C++語言編程,利用遺傳算法對控制參數進行優化,實現機器自動化控制器對水箱水溫和電機轉速的PID控制。
機器自動化控制器;PID控制;Socket通信;遺傳算法
PLC是一種基于數字運算操作的電子系統,具有高可靠性,廣泛應用于工業控制各領域。機器自動化控制器是OMRON公司從硬件體系和軟件體系進行架構設計的一種新型的PLC,給工業控制帶來新的契機。本文將工控機與NJ系列機器自動化控制器相結合,對水箱水溫和電機轉速實現高速、精密和復雜的運動控制[1]。
本文使用NJ301-1100PLC和與之相配合的供電模塊NJ30-PA3001、S8JC-Z15024C;Devicenet網絡主站的擴展模塊CJ1W-DRM21、輸入端口CJ1W-ID211、輸出端口CJ1W-OD211和Profibus-DP主站;EtherCAT網絡主站的擴展模塊NX-ECC201、輸入元件NX-ID3343、輸出元件NX-OD3153、T型分支接頭DCN1-1C、輸入端口DRT2-ID16、輸出端口DRT2-OD16、水溫控制器DRS1T。NS8-TV01B-V2彩色顯示器為輸入輸出口;溫控器e5ez-r3mt、溫控器通信模塊e53-az03、溫度探頭e52-p6dy 2m完成溫度控制;變頻器3g3mx2-ab002-z-ch、變頻器E-CAT網絡單元3g3ax-mx2-ect、高速計數模塊cj1w-ct201和旋轉編碼器e6b2-cwz6c完成轉速控制。該硬件配置相當于一個工業現場,由NJ30-PA3001進行核心控制,通過EtherCAT的擴展模塊對從站進行控制。
機器自動化控制器通過溫控器e5ez-r3mt控制水溫;通過3g3mx2-ab002-z-ch變頻器控制電機;通過變頻器E-CAT網絡單元3g3ax-mx2-ect網絡使機器自動化控制器與3g3mx2-ab002-z-ch進行通信。旋轉編碼器e6b2-cwz6c在電機旋轉時,可以產生與轉速成正比例的電脈沖信號。cj1w-ct201是一種高速計數模塊,計數高頻率的脈沖信號,并通過3g3ax-mx2-ect將計數結果傳遞給機器自動化控制器。將e6b2-cwz6c和cj1w-ct201結合起來,再由機器自動化控制器確定cj1w-ct201計數時的清零時間(一般設置為1 s),計算得到轉速,電機轉速信號返回給機器自動化控制器,形成閉環控制。機器自動化控制器通信控制連接示意圖如圖1所示。

圖1 機器自動化控制器通信控制連接示意圖
Sysmac Studio是專門用于機器自動化控制器編程的軟件,它提供一個整合的開發環境,可進行設置、編程、調試以及維護機器自動化控制器和EtherCAT從站。本文在工控機上采用C++或Matlab程序對機器自動化控制器的從站進行控制;使用Visual Studio軟件的C++語言編程功能與機器自動化控制器通信;工控機和機器自動化控制器之間實現Socket通信并與客戶端完成連接[2]。工控機端使用Visual Studio實現Socket通信的服務器端監聽連接請求。機器自動化控制器作為客戶端,負責向IP端口發送連接請求,連接之后開始數據交換等工作。工控機與機器自動化控制器互相通信建立后,采用Sysmac Studio編寫梯形圖程序,如圖2所示(其中嵌套ST語句)。

圖2 Sysmac Studio為機器自動化控制器編寫的Socket客戶端程序
Sysmac Studio編程有ST和梯形圖2種語言,并支持在同一個程序里既可使用梯形圖編程,又可使用ST編程[3],這樣可以取長補短,程序直觀易懂、形式簡潔,便于調用。ST主要包括基本算數、邏輯運算、判斷、循環、數組和結構體等功能,它可以使用一條簡短的語言實現梯形圖中任何功能或功能塊所具備的功能,即梯形圖中的功能和功能塊可以被ST語言方便調用。Sysmac Studio梯形圖和ST語言共同編寫Socket通信界面如圖3所示。

圖3 梯形圖和ST語言共同編寫Socket通信界面
水溫控制系統的控制對象具有熱儲存能力和慣性大的特點,水在水箱內的流動或熱量傳遞都存在一定的阻力,因比可以看作一個具有純滯后的一階慣性環節,其傳遞函數如式(1)[4]所示。

其中,,,都是常數,可根據不同的實際情況進行更改。
水箱加熱器的額定電壓為24 V,根據機器自動化控制器發來的控制信號調整水箱加熱的電壓,從而控制水箱的溫度。
電機是一個慣性環節,可用傳遞函數式(2)表示。

其中,,T都是常數,可根據不同的實際情況進行更改。
電機是24 V直流步進電動機,根據機器自動化控制器發來的控制信號調整電動機的供電電壓,從而控制電機的轉速。
PID控制器的輸入為給定值(系統實際輸出),輸出為控制量,理想狀態下PID控制器的微分方程如式(3)所示。

其中,()為控制器的輸出;()為偏差,即設定值與反饋值之差;K為控制器的放大系數,即比例增益;T為控制器的積分常數;T為控制器的微分時間常數。
PID算法通過調節K,T,T參數使系統達到穩定。結合時域關系式(4)[5]的系統,將預定值設置為18,分別對它們進行控制分析。

當K= 0.16,T= 1,T= 0.006時,得到水箱水溫的仿真結果如圖4所示。由圖4可知,系統超調量小,調節時間短,控制效果好。

圖4 Kp =0.16,Ti =1,Td =0.006時程序的運行結果
控制過程中,PID控制可以先看作為一種PD控制,非常靈敏,會生成一個較大的控制量,使系統產生類似跳變的結果。過大的加速會損傷電機,過高的電壓可能燒壞加熱器。為解決這個問題,本文在控制器前端增加一個濾波器,使系統不再跳變。但為了使系統平穩,增加系統的調節時間,也可在控制器后端加入濾波器,對控制器的輸出進行濾波。如果控制器的輸出大于某個預先設定值(這里設置值為18),就用這個值代替控制器的輸出[6]。
在實際工作中,如果反復調節系統參數,并進行實驗,不但浪費時間,還很可能對系統造成危害,且結果不夠精確。通過機器自動化控制器編程的方法,生成不同的參數,并從控制結果中選取最優參數,將快速精準地獲得最優參數。本文采用遺傳算法對PID參數進行優化。
基于遺傳算法的電機轉速控制系統如圖5所示,采樣時間為1 ms,輸入指令為一階躍信號。在進行遺傳算法編程時,用長度為10位的二進制編碼串來分別表示3個決策變量。仿真結果得出:遺傳尋優PID控制算法的輸出幾乎沒有超調量,調整時間為0.07 s;傳統PID算法超調量20%,調整時間為0.09 s。遺傳尋優PID控制相比于常規PID控制具有更快的響應速度、幾乎無超調的優點,具有更好的動態特性和穩定特性[7]。通過遺傳算法得到了較好的PID參數K=0.0280,T=0.0048,T=0.0980,被控量隨時間變化的結果如圖6所示。
基于遺傳算法尋優的PID控制器的設計簡單易行,同時實現了PID參數的優化。該方法比常規方法更能使系統的動態特性和穩態特性得到較大的提高,解決了PID控制器參數整定難的問題。

圖5 基于遺傳算法的電機轉速控制系統圖

圖6 Kp =0.0280,Ti =0.0048,Td =0.0980時程序的運行結果
綜上所述,工控機通過Socket通信協議,使用C++語言在Sysmac Studio中編程,同時在機器自動化控制器中編寫程序,實現了工控機對機器自動化控制器從站的控制,最終控制了水箱水溫和電動機轉速;并通過遺傳算法進行了PID參數優化,實現了機器自動化控制器對水箱水溫和電機轉速的最優PID控制。
[1] 徐世許,宮淑貞,彭濤.可編程序控制器應用指南編程?聯網 [M].北京:電子工業出版社,2007.
[2] OMRON. NJ-series CPU Unit Hardware User's Manual[M]. OMRON公司, 2011.
[3] 徐世許.機器自動化控制器原理與應用[M].北京:機械工出版社,2013.
[4] NJ-series CPU Unit Built-in EtherCAT Port User's Manual [M]. OMRON公司, 2011.
[5] 張艷艷.基于PID算法和89C52單片機的溫度控制系統[J]. 現代電子技術,2009,32(21):216-218.
[6] 秦國經,任慶昌.基于遺傳算法尋優的PID控制與仿真[J].中國西部科技,2011,10(11):12-13.
[7] 李紅梅.遺傳算法概述[J].軟件導刊,2009,8(1):67-68.
PID Control of the Temperature of Water in the Tank and the Speed of Motor Based on Machine Automation Controller
Zhang Yandi
(Yinchuan Energy Institute)
The hardware structure and performance of the Machine Automation Controller NJ salve station are analyzed in this thesis. Based on the Socket communication interface, the communication problems between PLC and industrial computers and simultaneous-send of multiple data are solved via programming with PLC by Sysmac Studio. Second, the C++ program is used in industrial computers and the controlling parameters are optimized by Genetic Algorithm. The program can be applied in some practical problems and the system state mutation in control process because of the realization of the PID control of PLC salve station. Finally, the PID control of water temperature and motor speed can be realized by machine automation controller.
Machine Automation Controller; PID Control; Socket Communication; Genetic Algorithm
張彥迪,女,1979年生,碩士,講師,主要研究方向:電氣工程及其自動化。E-mail: 331970191@qq.com