張彥迪
?
基于機(jī)器自動(dòng)化控制器的水箱水溫和電機(jī)轉(zhuǎn)速的PID控制
張彥迪
(銀川能源學(xué)院)
基于Socket通信接口,使用Sysmac Studio軟件編程,配置機(jī)器自動(dòng)化控制器及從站的硬件結(jié)構(gòu),解決機(jī)器自動(dòng)化控制器與工控機(jī)之間的通信問(wèn)題。在工控機(jī)中使用C++語(yǔ)言編程,利用遺傳算法對(duì)控制參數(shù)進(jìn)行優(yōu)化,實(shí)現(xiàn)機(jī)器自動(dòng)化控制器對(duì)水箱水溫和電機(jī)轉(zhuǎn)速的PID控制。
機(jī)器自動(dòng)化控制器;PID控制;Socket通信;遺傳算法
PLC是一種基于數(shù)字運(yùn)算操作的電子系統(tǒng),具有高可靠性,廣泛應(yīng)用于工業(yè)控制各領(lǐng)域。機(jī)器自動(dòng)化控制器是OMRON公司從硬件體系和軟件體系進(jìn)行架構(gòu)設(shè)計(jì)的一種新型的PLC,給工業(yè)控制帶來(lái)新的契機(jī)。本文將工控機(jī)與NJ系列機(jī)器自動(dòng)化控制器相結(jié)合,對(duì)水箱水溫和電機(jī)轉(zhuǎn)速實(shí)現(xiàn)高速、精密和復(fù)雜的運(yùn)動(dòng)控制[1]。
本文使用NJ301-1100PLC和與之相配合的供電模塊NJ30-PA3001、S8JC-Z15024C;Devicenet網(wǎng)絡(luò)主站的擴(kuò)展模塊CJ1W-DRM21、輸入端口CJ1W-ID211、輸出端口CJ1W-OD211和Profibus-DP主站;EtherCAT網(wǎng)絡(luò)主站的擴(kuò)展模塊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網(wǎng)絡(luò)單元3g3ax-mx2-ect、高速計(jì)數(shù)模塊cj1w-ct201和旋轉(zhuǎn)編碼器e6b2-cwz6c完成轉(zhuǎn)速控制。該硬件配置相當(dāng)于一個(gè)工業(yè)現(xiàn)場(chǎng),由NJ30-PA3001進(jìn)行核心控制,通過(guò)EtherCAT的擴(kuò)展模塊對(duì)從站進(jìn)行控制。
機(jī)器自動(dòng)化控制器通過(guò)溫控器e5ez-r3mt控制水溫;通過(guò)3g3mx2-ab002-z-ch變頻器控制電機(jī);通過(guò)變頻器E-CAT網(wǎng)絡(luò)單元3g3ax-mx2-ect網(wǎng)絡(luò)使機(jī)器自動(dòng)化控制器與3g3mx2-ab002-z-ch進(jìn)行通信。旋轉(zhuǎn)編碼器e6b2-cwz6c在電機(jī)旋轉(zhuǎn)時(shí),可以產(chǎn)生與轉(zhuǎn)速成正比例的電脈沖信號(hào)。cj1w-ct201是一種高速計(jì)數(shù)模塊,計(jì)數(shù)高頻率的脈沖信號(hào),并通過(guò)3g3ax-mx2-ect將計(jì)數(shù)結(jié)果傳遞給機(jī)器自動(dòng)化控制器。將e6b2-cwz6c和cj1w-ct201結(jié)合起來(lái),再由機(jī)器自動(dòng)化控制器確定cj1w-ct201計(jì)數(shù)時(shí)的清零時(shí)間(一般設(shè)置為1 s),計(jì)算得到轉(zhuǎn)速,電機(jī)轉(zhuǎn)速信號(hào)返回給機(jī)器自動(dòng)化控制器,形成閉環(huán)控制。機(jī)器自動(dòng)化控制器通信控制連接示意圖如圖1所示。
圖1 機(jī)器自動(dòng)化控制器通信控制連接示意圖
Sysmac Studio是專(zhuān)門(mén)用于機(jī)器自動(dòng)化控制器編程的軟件,它提供一個(gè)整合的開(kāi)發(fā)環(huán)境,可進(jìn)行設(shè)置、編程、調(diào)試以及維護(hù)機(jī)器自動(dòng)化控制器和EtherCAT從站。本文在工控機(jī)上采用C++或Matlab程序?qū)C(jī)器自動(dòng)化控制器的從站進(jìn)行控制;使用Visual Studio軟件的C++語(yǔ)言編程功能與機(jī)器自動(dòng)化控制器通信;工控機(jī)和機(jī)器自動(dòng)化控制器之間實(shí)現(xiàn)Socket通信并與客戶(hù)端完成連接[2]。工控機(jī)端使用Visual Studio實(shí)現(xiàn)Socket通信的服務(wù)器端監(jiān)聽(tīng)連接請(qǐng)求。機(jī)器自動(dòng)化控制器作為客戶(hù)端,負(fù)責(zé)向IP端口發(fā)送連接請(qǐng)求,連接之后開(kāi)始數(shù)據(jù)交換等工作。工控機(jī)與機(jī)器自動(dòng)化控制器互相通信建立后,采用Sysmac Studio編寫(xiě)梯形圖程序,如圖2所示(其中嵌套ST語(yǔ)句)。
圖2 Sysmac Studio為機(jī)器自動(dòng)化控制器編寫(xiě)的Socket客戶(hù)端程序
Sysmac Studio編程有ST和梯形圖2種語(yǔ)言,并支持在同一個(gè)程序里既可使用梯形圖編程,又可使用ST編程[3],這樣可以取長(zhǎng)補(bǔ)短,程序直觀(guān)易懂、形式簡(jiǎn)潔,便于調(diào)用。ST主要包括基本算數(shù)、邏輯運(yùn)算、判斷、循環(huán)、數(shù)組和結(jié)構(gòu)體等功能,它可以使用一條簡(jiǎn)短的語(yǔ)言實(shí)現(xiàn)梯形圖中任何功能或功能塊所具備的功能,即梯形圖中的功能和功能塊可以被ST語(yǔ)言方便調(diào)用。Sysmac Studio梯形圖和ST語(yǔ)言共同編寫(xiě)Socket通信界面如圖3所示。
圖3 梯形圖和ST語(yǔ)言共同編寫(xiě)Socket通信界面
水溫控制系統(tǒng)的控制對(duì)象具有熱儲(chǔ)存能力和慣性大的特點(diǎn),水在水箱內(nèi)的流動(dòng)或熱量傳遞都存在一定的阻力,因比可以看作一個(gè)具有純滯后的一階慣性環(huán)節(jié),其傳遞函數(shù)如式(1)[4]所示。
其中,,,都是常數(shù),可根據(jù)不同的實(shí)際情況進(jìn)行更改。
水箱加熱器的額定電壓為24 V,根據(jù)機(jī)器自動(dòng)化控制器發(fā)來(lái)的控制信號(hào)調(diào)整水箱加熱的電壓,從而控制水箱的溫度。
電機(jī)是一個(gè)慣性環(huán)節(jié),可用傳遞函數(shù)式(2)表示。
其中,,T都是常數(shù),可根據(jù)不同的實(shí)際情況進(jìn)行更改。
電機(jī)是24 V直流步進(jìn)電動(dòng)機(jī),根據(jù)機(jī)器自動(dòng)化控制器發(fā)來(lái)的控制信號(hào)調(diào)整電動(dòng)機(jī)的供電電壓,從而控制電機(jī)的轉(zhuǎn)速。
PID控制器的輸入為給定值(系統(tǒng)實(shí)際輸出),輸出為控制量,理想狀態(tài)下PID控制器的微分方程如式(3)所示。
其中,()為控制器的輸出;()為偏差,即設(shè)定值與反饋值之差;K為控制器的放大系數(shù),即比例增益;T為控制器的積分常數(shù);T為控制器的微分時(shí)間常數(shù)。
PID算法通過(guò)調(diào)節(jié)K,T,T參數(shù)使系統(tǒng)達(dá)到穩(wěn)定。結(jié)合時(shí)域關(guān)系式(4)[5]的系統(tǒng),將預(yù)定值設(shè)置為18,分別對(duì)它們進(jìn)行控制分析。
當(dāng)K= 0.16,T= 1,T= 0.006時(shí),得到水箱水溫的仿真結(jié)果如圖4所示。由圖4可知,系統(tǒng)超調(diào)量小,調(diào)節(jié)時(shí)間短,控制效果好。
圖4 Kp =0.16,Ti =1,Td =0.006時(shí)程序的運(yùn)行結(jié)果
控制過(guò)程中,PID控制可以先看作為一種PD控制,非常靈敏,會(huì)生成一個(gè)較大的控制量,使系統(tǒng)產(chǎn)生類(lèi)似跳變的結(jié)果。過(guò)大的加速會(huì)損傷電機(jī),過(guò)高的電壓可能燒壞加熱器。為解決這個(gè)問(wèn)題,本文在控制器前端增加一個(gè)濾波器,使系統(tǒng)不再跳變。但為了使系統(tǒng)平穩(wěn),增加系統(tǒng)的調(diào)節(jié)時(shí)間,也可在控制器后端加入濾波器,對(duì)控制器的輸出進(jìn)行濾波。如果控制器的輸出大于某個(gè)預(yù)先設(shè)定值(這里設(shè)置值為18),就用這個(gè)值代替控制器的輸出[6]。
在實(shí)際工作中,如果反復(fù)調(diào)節(jié)系統(tǒng)參數(shù),并進(jìn)行實(shí)驗(yàn),不但浪費(fèi)時(shí)間,還很可能對(duì)系統(tǒng)造成危害,且結(jié)果不夠精確。通過(guò)機(jī)器自動(dòng)化控制器編程的方法,生成不同的參數(shù),并從控制結(jié)果中選取最優(yōu)參數(shù),將快速精準(zhǔn)地獲得最優(yōu)參數(shù)。本文采用遺傳算法對(duì)PID參數(shù)進(jìn)行優(yōu)化。
基于遺傳算法的電機(jī)轉(zhuǎn)速控制系統(tǒng)如圖5所示,采樣時(shí)間為1 ms,輸入指令為一階躍信號(hào)。在進(jìn)行遺傳算法編程時(shí),用長(zhǎng)度為10位的二進(jìn)制編碼串來(lái)分別表示3個(gè)決策變量。仿真結(jié)果得出:遺傳尋優(yōu)PID控制算法的輸出幾乎沒(méi)有超調(diào)量,調(diào)整時(shí)間為0.07 s;傳統(tǒng)PID算法超調(diào)量20%,調(diào)整時(shí)間為0.09 s。遺傳尋優(yōu)PID控制相比于常規(guī)PID控制具有更快的響應(yīng)速度、幾乎無(wú)超調(diào)的優(yōu)點(diǎn),具有更好的動(dòng)態(tài)特性和穩(wěn)定特性[7]。通過(guò)遺傳算法得到了較好的PID參數(shù)K=0.0280,T=0.0048,T=0.0980,被控量隨時(shí)間變化的結(jié)果如圖6所示。
基于遺傳算法尋優(yōu)的PID控制器的設(shè)計(jì)簡(jiǎn)單易行,同時(shí)實(shí)現(xiàn)了PID參數(shù)的優(yōu)化。該方法比常規(guī)方法更能使系統(tǒng)的動(dòng)態(tài)特性和穩(wěn)態(tài)特性得到較大的提高,解決了PID控制器參數(shù)整定難的問(wèn)題。
圖5 基于遺傳算法的電機(jī)轉(zhuǎn)速控制系統(tǒng)圖
圖6 Kp =0.0280,Ti =0.0048,Td =0.0980時(shí)程序的運(yùn)行結(jié)果
綜上所述,工控機(jī)通過(guò)Socket通信協(xié)議,使用C++語(yǔ)言在Sysmac Studio中編程,同時(shí)在機(jī)器自動(dòng)化控制器中編寫(xiě)程序,實(shí)現(xiàn)了工控機(jī)對(duì)機(jī)器自動(dòng)化控制器從站的控制,最終控制了水箱水溫和電動(dòng)機(jī)轉(zhuǎn)速;并通過(guò)遺傳算法進(jìn)行了PID參數(shù)優(yōu)化,實(shí)現(xiàn)了機(jī)器自動(dòng)化控制器對(duì)水箱水溫和電機(jī)轉(zhuǎn)速的最優(yōu)PID控制。
[1] 徐世許,宮淑貞,彭濤.可編程序控制器應(yīng)用指南編程?聯(lián)網(wǎng) [M].北京:電子工業(yè)出版社,2007.
[2] OMRON. NJ-series CPU Unit Hardware User's Manual[M]. OMRON公司, 2011.
[3] 徐世許.機(jī)器自動(dòng)化控制器原理與應(yīng)用[M].北京:機(jī)械工出版社,2013.
[4] NJ-series CPU Unit Built-in EtherCAT Port User's Manual [M]. OMRON公司, 2011.
[5] 張艷艷.基于PID算法和89C52單片機(jī)的溫度控制系統(tǒng)[J]. 現(xiàn)代電子技術(shù),2009,32(21):216-218.
[6] 秦國(guó)經(jīng),任慶昌.基于遺傳算法尋優(yōu)的PID控制與仿真[J].中國(guó)西部科技,2011,10(11):12-13.
[7] 李紅梅.遺傳算法概述[J].軟件導(dǎo)刊,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年生,碩士,講師,主要研究方向:電氣工程及其自動(dòng)化。E-mail: 331970191@qq.com