一、概述
本文介紹了艾默生公司EC20 PLC在老化房控制系統中的應用并著重介紹該產品的PID閉環功能在恒溫控制上的實現和強大的網絡通信功能對EMERSON EV2000變頻器運行控制的實現。該老化房控制系統是家電,電子,電腦行業產品生產檢測的重要設備,也是產品生產合格檢查的重要環節。該系統采用EMERSON EC20 PLC和多臺EV2000變頻器,實現對室內溫度和變頻器運行的集中控制。
二、老化房控制系統工藝要求:
老化房結構如圖所示:

具體要求如下:
1, 該系統所控制的老化房面積達16×30M,要求控制范圍在20-55℃,控制精度達±5℃,能夠在上位機對溫度設定/顯示/保存;(加濕控制采用單獨進行和PLC無關)
2, 該系統有3個風機,用于進風,回風和排風;有4個風閘:新風閘,回風閘,排風閘,防火閘;2個防塵過濾網;6個火災報警點;
在正常情況下(溫濕度),關閉進風閥和排風閥,停止進風電機和排風電機,打開回風閥和防火閥,啟動回風風機,保持老化房內回風循環;
在高溫情況下,排風閥和進風閥打開,啟動排風電機和進風電機,抽出部分空氣;
在火災報警情況下,防火閥關閉,回風禁止循環,全部從室內抽出;同時排風閥和進風閥打開,啟動排風電機和進風電機,抽出室內空氣;
3,其他要求省略;
三、工作原理:
PLC系統結構如下:

EC20PLC設備的I/0接線如圖:

工作原理:
根據老化房工藝要求組成如上圖控制系統:上位機采用臺灣研華IPC(工控計算機);監控畫面采用亞控公司的KINGVIEW軟件,該軟件操作簡單,元件形象豐富,性能穩定;核心控制部分采用EMERSON EC20-2012BTA類型的PLC和4個溫度采集模塊(EC20-4TC,接受K型溫度信號);傳動采用EMERSON EV2000通用型變頻器。
在設備連接方面,EC20 PLC充分體現了自身的優勢,由于EC20 PLC本身帶有2個串行通信口(1個RS232口,集成自由協議/編程協議/MODBUS從站協議,1個RS232/485口,集成自由協議/MODBUS主站/從站協議),EC20 PLC利用COM0口和IPC進行通信(EC20 PLC做從站,設置成MODBUS從站協議),利用COM1和多臺變頻器組成網絡進行集中控制(EC20 PLC的COM1設置成MODBUS主站協議)。
IPC為整個系統的人機接口,IPC讀取PLC采集的系統運行狀態如各風機的運轉狀態,各測溫點溫度,報警狀況并顯示在監控畫面上,IPC又把各種操作命令傳給PLC以控制系統的運行,如溫度的設定,PID參數設定,各種閥門的開閉,變頻器的啟動、停止等設定。并且可以實時監控整個系統的工作運行狀態、動作過程及故障報警等,IPC還可以根據設定對采集的數據進行保存打印。
在系統設計中,EC20 PLC為整個系統的核心,執行各種系統操作及計算,EC20 PLC根據工藝要求和現場狀況進行邏輯判斷,開閉各種閥門和啟停各風機;同時利用自身的PID功能對溫度進行控制,具體方法后面描述。
EV2000系列變頻器自帶RS485接口的通訊單元,符合RS485通訊規范,用于實現PLC與多臺變頻器的聯網。根據MODBUS通訊協議,我們可以通過RS485網絡輕松實現對變頻器的運行控制。由于RS485通訊鏈路傳輸距離遠、配線簡單、抗干擾能力強、可靠性高,因此在設計中,我們省略了變頻器的外部起停控制線路,對變頻器的所有控制都通過RS485通訊鏈路來完成,達到了經濟高效的目的。
四、監控畫面
整個系統監控畫面主要分為主畫面,實時溫度監控,PID參數設定,三個部分(其他部分省略),具體如下:

主畫面如上圖所示,主要完成對系統狀態的監控(如各種風閥的開閉狀態,風機的運行狀態,報警狀態),數據統計(如系統運行的時間,啟停系統的次數),溫度設定/測量等功能。

實時溫度監控畫面如上所示,此畫面主要用于對溫度的實時監控,并描繪出溫度曲線趨勢,以便判斷系統的溫度控制是否處于良好狀態,同時可以實現對溫度進行保存/打印等操作。

PID參數設定畫面主要用于比例常數P,積分常數I,微分常數D的設定,同時根據實時溫度曲線狀況進行調節;同時顯示PID控制的輸出比例。
五、對溫度控制的實現
為便于對整個老化房內溫度的控制,同時充分利用EC20 PLC自身PID功能和PWM脈沖輸出(Y0,Y1)的優勢,室內溫度區域分為2個部分(上層和下層各8個測溫度點),對溫度取平均值作為溫度的測量值,并把此平均值送入PID功能塊進行運算,同時對加熱執行元件(參考EC20 PLC的I/O接線圖,固態繼電器SSR1,SSR2,SSR3所控制的發熱管的功率逐漸加大)也進行了分組處理:溫度偏差較小的情況下,進行PID運算,通過Y0輸出脈沖給SSR1,同時關閉SSR2,SSR3(即Y1,Y2停止輸出);如果溫度偏差較大,則Y1,Y2也參加輸出,具體處理思路如下:
偏差值(ER=SV-PV) |
處理辦法 |
ER≥3 |
關閉PID運算,直接輸出Y0,Y1,Y2; |
3>ER≥1 |
啟動PID運算控制Y0輸出,同時啟動Y1輸出;關閉Y2輸出; |
1>ER≥-1 |
啟動PID運算控制Y0輸出,關閉Y1,Y2輸出; |
-3>ER>-1 |
啟動PID運算控制Y0輸出,同時啟動Y1輸出;關閉Y2輸出; |
-3≥ER |
關閉PID運算,關閉Y0,Y1,Y2; |
通過此法處理可以把溫度控制精度保持在±0.3度以內,而且無論提升溫度還是下降溫度都很快速;同時把PID輸出轉化為PWM的占空比輸出,又大大節省了PLC的資源(充分利用Y0,Y1的高達100KHZ的脈沖輸出功能)。
EC20 PLC的編程軟件CONTROLSTAR的操作簡單方便,指令豐富,功能強大,是一個很優秀的全中文編輯工具。
實現步驟具體如下:首先,在數據塊設定PID各參數,其中的重點是設置P,I,D三個參數和輸出量的上下限范圍,由于PID的輸出結果直接和PWM結合在一起,所以設置時要特別注意,在本例子中,按照PWM的周期為4秒(=4000MS)計算,把PID的輸出上下限分別設定為4000和0;另外按照逆動作(BIT0=1),輸出限定(BIT5=1)的要求對D7911各位進行賦值;
D7910 500 //采樣時間S3 采樣時間(Ts)范圍為1~32767(ms),比運算周期短的時間數值無法執行;
D7911 16#23 //動作方向 > 逆動作,設輸出限定
………………………………………………..//BIT0 0:正動作 1:逆動作;
………………………………………………..//BIT1 0:輸入變化量報警無效 1:輸入變化量報警有效;
………………………………………………..//BIT2 0:輸出變化量報警無效 1:輸出變化量報警有效;
………………………………………………..//BIT3-4 沒使用;
………………………………………………..//BIT5 0:輸出值上下限設定無效1:輸出值上下限設定有效
………………………………………………..//BIT6~BIT15 沒使用
D7912 70 //S3+2 輸入濾波常數(α)范圍0~99[﹪],為0時沒有輸入濾波;
D7913 100 //S3+3 比例增益(Kp)范圍1~32767[﹪];
D7914 25 //S3+4 積分時間(TI)范圍0~32767(×100ms),為0時作為∞處理(無積分);
D7915 0 //S3+5 微分增益(KD)范圍0~100[﹪],為0時無微分增益;
D7916 63 //S3+6 微分時間(TD)范圍0~32767(×10ms),為0時無微分處理;
D7925 2000 //S3+15 輸入變化量(增側)報警設定值0~32767(S3+1的BIT1=1時);
D7926 0 //S3+16 輸入變化量(減側)報警設定值0~32767(S3+1的BIT1=1時);
D7927 4000 //S3+17 輸出變化量(增側)報警設定值0~32767(S3+1的BIT2=1和BIT5=0時);輸出上限設定值-32768~32767(S3+1的BIT2=0和BIT5=1時);
D7928 0 //S3+18 輸出變化量(減側)報警設定值0~32767(S3+1的BIT2=1和BIT5=0時);輸出下限設定值-32768~32767(S3+1的BIT2=0和BIT5=1時);
其次,在程序里調用PID指令和PWM指令用于控制Y0的輸出(對SV和PV的比較而進行的邏輯控制輸出較簡單,故此處省略)。

六、 對變頻器的啟停控制
由于EMESON EC20 PLC和EV2000變頻器(非標)都集成MODBUS協議,所以實現它們的通信相對比較簡單,整個網絡采用RS485通信方式。
1. 各設備接口通信參數設置,對EC20 PLC設置如下:
2. EV2000的設置要點:1,各通信參數要和EC20 PLC一致;2,各變頻器的地址要有自己唯一的從機地址;3,注意變頻器的通信跳線開關CN14撥在RS485方向 ;

3. EC20PLC和變頻器的連接如下:

4. EC20 PLC和變頻器之間采用MODBUS RTU方式通信,Modbus采用“Big Endian”編碼方式,先發送高位字節,然后是低位字節。RTU方式格式如下:

RTU方式:在RTU方式下,幀之間的空閑時間取功能碼設定和Modbus內部約定值中的較大值。Modbus內部約定的最小幀間空閑如下:幀頭和幀尾通過總線空閑時間不小于3.5個字節時間來界定幀。數據校驗采用CRC-16,整個信息參與校驗,校驗和的高低字節需要交換后發送。具體的CRC校驗請參考協議后面的示例。值得注意的是,幀間保持至少3.5個字符的總線空閑即可,幀之間的總線空閑不需要累加起始和結束空閑。
Modbus最主要的功能是讀寫參數,不同的功能碼決定不同的操作請求。變頻器Modbus協議支持以下功能碼操作:
功能碼 |
功能碼意義 |
0x03 |
讀取變頻器功能碼參數和運行狀態參數 |
0x06 |
改寫單個變頻器功能碼或者控制參數,掉電之后不保存 |
0x08 |
線路診斷 |
0x10 |
改寫多個變頻器功能碼或者控制參數,掉電之后不保存 |
0x41 |
改寫單個變頻器功能碼或者控制參數,掉電之后保存 |
0x42 |
功能碼管理 |
Modbus協議不同的功能碼有不同數據的格式和意義,簡要介紹如下:
改寫多個變頻器功能碼和狀態參數的格式協議:請求格式如下:
應用層協議
數據單元 |
數據長度
(字節數) |
取值或范圍 |
功能碼 |
1 |
0x10 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
操作寄存器數目 |
2 |
0x0001~0x0004 |
寄存器內容字節數 |
1 |
2*操作寄存器數目 |
寄存器內容 |
2*操作寄存器數目 |
|
應答格式如下:
應用層協議
數據單元 |
數據長度(字節數) |
取值或范圍 |
功能碼 |
1 |
0x10 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
操作寄存器數目 |
2 |
0x0001~0x0004 |
讀取變頻器參數的協議格式:請求格式如下:
應用層協議
數據單元 |
數據長度
(字節數) |
取值或范圍 |
功能碼 |
1 |
0x03 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
寄存器數目 |
2 |
0x0001~0x0004 |
應答格式如下:
應用層協議
數據單元 |
數據長度
(字節數) |
取值或范圍 |
功能碼 |
1 |
0x03 |
讀取字節數 |
1 |
2*寄存器數目 |
讀取內容 |
2*寄存器數目 |
|
變頻器的功能碼參數、控制參數和狀態參數都映射為Modbus的讀寫寄存器。功能碼參數的讀寫特性和范圍遵循變頻器用戶手冊的說明。變頻器功能碼的組號映射為寄存器地址的高字節,組內索引映射為寄存器地址的低字節。變頻器的控制參數和狀態參數均虛擬為變頻器功能碼組。功能碼組號與其映射的寄存器地址高字節的對應關系如下:
F0組:0x00;F1組:0x01;F2組:0x02;F3組:0x03;F4組:0x04;F5組:0x05;F6組:0x06;F7組:0x07;F8組:0x08;F9組:0x09;FA組:0x0A;Fb組:0x0B;FC組:0x0C;Fd組:0x0D;FE組:0x0E;FF組:0x0F;FH組:0x10;FL組:0x11;Fn組:0x12;FP組:0x13;FU組:0x14;變頻器控制參數組:0x32;變頻器狀態參數組:0x33。
例如變頻器功能碼參數F3.02的寄存器地址為0x302,變頻器功能碼參數FF.01的寄存器地址為0xF01。
5、具體程序編寫:啟動5#變頻器正轉,轉速設定為50.00HZ(內部表示為5000)的命令如下:
|
地址 |
功能碼 |
寄存器地址 |
寄存器數目 |
寄存器內容字節數 |
寄存器內容 |
校驗和 |
請求 |
0x05 |
0x10 |
0x3200 |
0x0002 |
0x04 |
0x01C7,0x1388 |
0x16A9 |
響應 |
0x05 |
0x10 |
0x3200 |
0x0002 |
無 |
無 |
0x4EF4 |
程序清單:

讀取5#變頻器的運行頻率,變頻器應答運行頻率為50.00HZ:
|
地址 |
功能碼 |
寄存器地址 |
寄存器數目或者讀取字節數 |
寄存器內容 |
校驗和 |
請求 |
0x05 |
0x03 |
0x3301 |
0x0001 |
無 |
0xDB0A |
響應 |
0x05 |
0x03 |
無 |
0x02 |
0x1388 |
0x44D2 |
程序清單:

5#變頻器以最快速度停車:
|
地址 |
功能碼 |
寄存器地址 |
寄存器內容 |
校驗和 |
請求 |
0x05 |
0x06 |
0x3200 |
0x00C3 |
0xC6A7 |
響應 |
0x05 |
0x06 |
0x3200 |
0x00C3 |
0xC6A7 |
七、 小結
該系統以前是采用IPC+控制I/O卡的方式進行控制的,但是存在系統穩定性能差,控制效果不理想,故障率高的缺點,自從改用EMERSON 的PLC作為系統的核心設備后,系統不僅達到良好的控制效果和很好的經濟效益,同時比較容易維護,受到用戶的好評。
參考文獻:無
①艾默生公司EV3000系列通用變頻器 艾默生網絡能源有限公司
③EC20系統手冊 艾默生網絡能源有限公司