一、概述
本文介紹了艾默生公司EC20 PLC在老化房控制系統(tǒng)中的應用并著重介紹該產(chǎn)品的PID閉環(huán)功能在恒溫控制上的實現(xiàn)和強大的網(wǎng)絡通信功能對EMERSON EV2000變頻器運行控制的實現(xiàn)。該老化房控制系統(tǒng)是家電,電子,電腦行業(yè)產(chǎn)品生產(chǎn)檢測的重要設備,也是產(chǎn)品生產(chǎn)合格檢查的重要環(huán)節(jié)。該系統(tǒng)采用EMERSON EC20 PLC和多臺EV2000變頻器,實現(xiàn)對室內(nèi)溫度和變頻器運行的集中控制。
二、老化房控制系統(tǒng)工藝要求:
老化房結(jié)構(gòu)如圖所示:
具體要求如下:
1, 該系統(tǒng)所控制的老化房面積達16×30M,要求控制范圍在20-55℃,控制精度達±5℃,能夠在上位機對溫度設定/顯示/保存;(加濕控制采用單獨進行和PLC無關)
2, 該系統(tǒng)有3個風機,用于進風,回風和排風;有4個風閘:新風閘,回風閘,排風閘,防火閘;2個防塵過濾網(wǎng);6個火災報警點;
在正常情況下(溫濕度),關閉進風閥和排風閥,停止進風電機和排風電機,打開回風閥和防火閥,啟動回風風機,保持老化房內(nèi)回風循環(huán);
在高溫情況下,排風閥和進風閥打開,啟動排風電機和進風電機,抽出部分空氣;
在火災報警情況下,防火閥關閉,回風禁止循環(huán),全部從室內(nèi)抽出;同時排風閥和進風閥打開,啟動排風電機和進風電機,抽出室內(nèi)空氣;
3,其他要求省略;
三、工作原理:
PLC系統(tǒng)結(jié)構(gòu)如下:
EC20PLC設備的I/0接線如圖:
工作原理:
根據(jù)老化房工藝要求組成如上圖控制系統(tǒng):上位機采用臺灣研華IPC(工控計算機);監(jiān)控畫面采用亞控公司的KINGVIEW軟件,該軟件操作簡單,元件形象豐富,性能穩(wěn)定;核心控制部分采用EMERSON EC20-2012BTA類型的PLC和4個溫度采集模塊(EC20-4TC,接受K型溫度信號);傳動采用EMERSON EV2000通用型變頻器。
在設備連接方面,EC20 PLC充分體現(xiàn)了自身的優(yōu)勢,由于EC20 PLC本身帶有2個串行通信口(1個RS232口,集成自由協(xié)議/編程協(xié)議/MODBUS從站協(xié)議,1個RS232/485口,集成自由協(xié)議/MODBUS主站/從站協(xié)議),EC20 PLC利用COM0口和IPC進行通信(EC20 PLC做從站,設置成MODBUS從站協(xié)議),利用COM1和多臺變頻器組成網(wǎng)絡進行集中控制(EC20 PLC的COM1設置成MODBUS主站協(xié)議)。
IPC為整個系統(tǒng)的人機接口,IPC讀取PLC采集的系統(tǒng)運行狀態(tài)如各風機的運轉(zhuǎn)狀態(tài),各測溫點溫度,報警狀況并顯示在監(jiān)控畫面上,IPC又把各種操作命令傳給PLC以控制系統(tǒng)的運行,如溫度的設定,PID參數(shù)設定,各種閥門的開閉,變頻器的啟動、停止等設定。并且可以實時監(jiān)控整個系統(tǒng)的工作運行狀態(tài)、動作過程及故障報警等,IPC還可以根據(jù)設定對采集的數(shù)據(jù)進行保存打印。
在系統(tǒng)設計中,EC20 PLC為整個系統(tǒng)的核心,執(zhí)行各種系統(tǒng)操作及計算,EC20 PLC根據(jù)工藝要求和現(xiàn)場狀況進行邏輯判斷,開閉各種閥門和啟停各風機;同時利用自身的PID功能對溫度進行控制,具體方法后面描述。
EV2000系列變頻器自帶RS485接口的通訊單元,符合RS485通訊規(guī)范,用于實現(xiàn)PLC與多臺變頻器的聯(lián)網(wǎng)。根據(jù)MODBUS通訊協(xié)議,我們可以通過RS485網(wǎng)絡輕松實現(xiàn)對變頻器的運行控制。由于RS485通訊鏈路傳輸距離遠、配線簡單、抗干擾能力強、可靠性高,因此在設計中,我們省略了變頻器的外部起停控制線路,對變頻器的所有控制都通過RS485通訊鏈路來完成,達到了經(jīng)濟高效的目的。
四、監(jiān)控畫面
整個系統(tǒng)監(jiān)控畫面主要分為主畫面,實時溫度監(jiān)控,PID參數(shù)設定,三個部分(其他部分省略),具體如下:
主畫面如上圖所示,主要完成對系統(tǒng)狀態(tài)的監(jiān)控(如各種風閥的開閉狀態(tài),風機的運行狀態(tài),報警狀態(tài)),數(shù)據(jù)統(tǒng)計(如系統(tǒng)運行的時間,啟停系統(tǒng)的次數(shù)),溫度設定/測量等功能。
實時溫度監(jiān)控畫面如上所示,此畫面主要用于對溫度的實時監(jiān)控,并描繪出溫度曲線趨勢,以便判斷系統(tǒng)的溫度控制是否處于良好狀態(tài),同時可以實現(xiàn)對溫度進行保存/打印等操作。
PID參數(shù)設定畫面主要用于比例常數(shù)P,積分常數(shù)I,微分常數(shù)D的設定,同時根據(jù)實時溫度曲線狀況進行調(diào)節(jié);同時顯示PID控制的輸出比例。
五、對溫度控制的實現(xiàn)
為便于對整個老化房內(nèi)溫度的控制,同時充分利用EC20 PLC自身PID功能和PWM脈沖輸出(Y0,Y1)的優(yōu)勢,室內(nèi)溫度區(qū)域分為2個部分(上層和下層各8個測溫度點),對溫度取平均值作為溫度的測量值,并把此平均值送入PID功能塊進行運算,同時對加熱執(zhí)行元件(參考EC20 PLC的I/O接線圖,固態(tài)繼電器SSR1,SSR2,SSR3所控制的發(fā)熱管的功率逐漸加大)也進行了分組處理:溫度偏差較小的情況下,進行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度以內(nèi),而且無論提升溫度還是下降溫度都很快速;同時把PID輸出轉(zhuǎn)化為PWM的占空比輸出,又大大節(jié)省了PLC的資源(充分利用Y0,Y1的高達100KHZ的脈沖輸出功能)。
EC20 PLC的編程軟件CONTROLSTAR的操作簡單方便,指令豐富,功能強大,是一個很優(yōu)秀的全中文編輯工具。
實現(xiàn)步驟具體如下:首先,在數(shù)據(jù)塊設定PID各參數(shù),其中的重點是設置P,I,D三個參數(shù)和輸出量的上下限范圍,由于PID的輸出結(jié)果直接和PWM結(jié)合在一起,所以設置時要特別注意,在本例子中,按照PWM的周期為4秒(=4000MS)計算,把PID的輸出上下限分別設定為4000和0;另外按照逆動作(BIT0=1),輸出限定(BIT5=1)的要求對D7911各位進行賦值;
D7910 500 //采樣時間S3 采樣時間(Ts)范圍為1~32767(ms),比運算周期短的時間數(shù)值無法執(zhí)行;
D7911 16#23 //動作方向 > 逆動作,設輸出限定
………………………………………………..//BIT0 0:正動作 1:逆動作;
………………………………………………..//BIT1 0:輸入變化量報警無效 1:輸入變化量報警有效;
………………………………………………..//BIT2 0:輸出變化量報警無效 1:輸出變化量報警有效;
………………………………………………..//BIT3-4 沒使用;
………………………………………………..//BIT5 0:輸出值上下限設定無效1:輸出值上下限設定有效
………………………………………………..//BIT6~BIT15 沒使用
D7912 70 //S3+2 輸入濾波常數(shù)(α)范圍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 輸入變化量(增側(cè))報警設定值0~32767(S3+1的BIT1=1時);
D7926 0 //S3+16 輸入變化量(減側(cè))報警設定值0~32767(S3+1的BIT1=1時);
D7927 4000 //S3+17 輸出變化量(增側(cè))報警設定值0~32767(S3+1的BIT2=1和BIT5=0時);輸出上限設定值-32768~32767(S3+1的BIT2=0和BIT5=1時);
D7928 0 //S3+18 輸出變化量(減側(cè))報警設定值0~32767(S3+1的BIT2=1和BIT5=0時);輸出下限設定值-32768~32767(S3+1的BIT2=0和BIT5=1時);
其次,在程序里調(diào)用PID指令和PWM指令用于控制Y0的輸出(對SV和PV的比較而進行的邏輯控制輸出較簡單,故此處省略)。
六、 對變頻器的啟停控制
由于EMESON EC20 PLC和EV2000變頻器(非標)都集成MODBUS協(xié)議,所以實現(xiàn)它們的通信相對比較簡單,整個網(wǎng)絡采用RS485通信方式。
1. 各設備接口通信參數(shù)設置,對EC20 PLC設置如下:
2. EV2000的設置要點:1,各通信參數(shù)要和EC20 PLC一致;2,各變頻器的地址要有自己唯一的從機地址;3,注意變頻器的通信跳線開關CN14撥在RS485方向 ;
3. EC20PLC和變頻器的連接如下:
4. EC20 PLC和變頻器之間采用MODBUS RTU方式通信,Modbus采用“Big Endian”編碼方式,先發(fā)送高位字節(jié),然后是低位字節(jié)。RTU方式格式如下:
RTU方式:在RTU方式下,幀之間的空閑時間取功能碼設定和Modbus內(nèi)部約定值中的較大值。Modbus內(nèi)部約定的最小幀間空閑如下:幀頭和幀尾通過總線空閑時間不小于3.5個字節(jié)時間來界定幀。數(shù)據(jù)校驗采用CRC-16,整個信息參與校驗,校驗和的高低字節(jié)需要交換后發(fā)送。具體的CRC校驗請參考協(xié)議后面的示例。值得注意的是,幀間保持至少3.5個字符的總線空閑即可,幀之間的總線空閑不需要累加起始和結(jié)束空閑。
Modbus最主要的功能是讀寫參數(shù),不同的功能碼決定不同的操作請求。變頻器Modbus協(xié)議支持以下功能碼操作:
功能碼 |
功能碼意義 |
0x03 |
讀取變頻器功能碼參數(shù)和運行狀態(tài)參數(shù) |
0x06 |
改寫單個變頻器功能碼或者控制參數(shù),掉電之后不保存 |
0x08 |
線路診斷 |
0x10 |
改寫多個變頻器功能碼或者控制參數(shù),掉電之后不保存 |
0x41 |
改寫單個變頻器功能碼或者控制參數(shù),掉電之后保存 |
0x42 |
功能碼管理 |
Modbus協(xié)議不同的功能碼有不同數(shù)據(jù)的格式和意義,簡要介紹如下:
改寫多個變頻器功能碼和狀態(tài)參數(shù)的格式協(xié)議:請求格式如下:
應用層協(xié)議
數(shù)據(jù)單元 |
數(shù)據(jù)長度
(字節(jié)數(shù)) |
取值或范圍 |
功能碼 |
1 |
0x10 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
操作寄存器數(shù)目 |
2 |
0x0001~0x0004 |
寄存器內(nèi)容字節(jié)數(shù) |
1 |
2*操作寄存器數(shù)目 |
寄存器內(nèi)容 |
2*操作寄存器數(shù)目 |
|
應答格式如下:
應用層協(xié)議
數(shù)據(jù)單元 |
數(shù)據(jù)長度(字節(jié)數(shù)) |
取值或范圍 |
功能碼 |
1 |
0x10 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
操作寄存器數(shù)目 |
2 |
0x0001~0x0004 |
讀取變頻器參數(shù)的協(xié)議格式:請求格式如下:
應用層協(xié)議
數(shù)據(jù)單元 |
數(shù)據(jù)長度
(字節(jié)數(shù)) |
取值或范圍 |
功能碼 |
1 |
0x03 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
寄存器數(shù)目 |
2 |
0x0001~0x0004 |
應答格式如下:
應用層協(xié)議
數(shù)據(jù)單元 |
數(shù)據(jù)長度
(字節(jié)數(shù)) |
取值或范圍 |
功能碼 |
1 |
0x03 |
讀取字節(jié)數(shù) |
1 |
2*寄存器數(shù)目 |
讀取內(nèi)容 |
2*寄存器數(shù)目 |
|
變頻器的功能碼參數(shù)、控制參數(shù)和狀態(tài)參數(shù)都映射為Modbus的讀寫寄存器。功能碼參數(shù)的讀寫特性和范圍遵循變頻器用戶手冊的說明。變頻器功能碼的組號映射為寄存器地址的高字節(jié),組內(nèi)索引映射為寄存器地址的低字節(jié)。變頻器的控制參數(shù)和狀態(tài)參數(shù)均虛擬為變頻器功能碼組。功能碼組號與其映射的寄存器地址高字節(jié)的對應關系如下:
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;變頻器控制參數(shù)組:0x32;變頻器狀態(tài)參數(shù)組:0x33。
例如變頻器功能碼參數(shù)F3.02的寄存器地址為0x302,變頻器功能碼參數(shù)FF.01的寄存器地址為0xF01。
5、具體程序編寫:啟動5#變頻器正轉(zhuǎn),轉(zhuǎn)速設定為50.00HZ(內(nèi)部表示為5000)的命令如下:
|
地址 |
功能碼 |
寄存器地址 |
寄存器數(shù)目 |
寄存器內(nèi)容字節(jié)數(shù) |
寄存器內(nèi)容 |
校驗和 |
請求 |
0x05 |
0x10 |
0x3200 |
0x0002 |
0x04 |
0x01C7,0x1388 |
0x16A9 |
響應 |
0x05 |
0x10 |
0x3200 |
0x0002 |
無 |
無 |
0x4EF4 |
程序清單:
讀取5#變頻器的運行頻率,變頻器應答運行頻率為50.00HZ:
|
地址 |
功能碼 |
寄存器地址 |
寄存器數(shù)目或者讀取字節(jié)數(shù) |
寄存器內(nèi)容 |
校驗和 |
請求 |
0x05 |
0x03 |
0x3301 |
0x0001 |
無 |
0xDB0A |
響應 |
0x05 |
0x03 |
無 |
0x02 |
0x1388 |
0x44D2 |
程序清單:
5#變頻器以最快速度停車:
|
地址 |
功能碼 |
寄存器地址 |
寄存器內(nèi)容 |
校驗和 |
請求 |
0x05 |
0x06 |
0x3200 |
0x00C3 |
0xC6A7 |
響應 |
0x05 |
0x06 |
0x3200 |
0x00C3 |
0xC6A7 |
七、 小結(jié)
該系統(tǒng)以前是采用IPC+控制I/O卡的方式進行控制的,但是存在系統(tǒng)穩(wěn)定性能差,控制效果不理想,故障率高的缺點,自從改用EMERSON 的PLC作為系統(tǒng)的核心設備后,系統(tǒng)不僅達到良好的控制效果和很好的經(jīng)濟效益,同時比較容易維護,受到用戶的好評。
參考文獻:無
①艾默生公司EV3000系列通用變頻器 艾默生網(wǎng)絡能源有限公司
③EC20系統(tǒng)手冊 艾默生網(wǎng)絡能源有限公司