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

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

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

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

RTU方式:在RTU方式下,幀之間的空閑時(shí)間取功能碼設(shè)定和Modbus內(nèi)部約定值中的較大值。Modbus內(nèi)部約定的最小幀間空閑如下:幀頭和幀尾通過總線空閑時(shí)間不小于3.5個(gè)字節(jié)時(shí)間來界定幀。數(shù)據(jù)校驗(yàn)采用CRC-16,整個(gè)信息參與校驗(yàn),校驗(yàn)和的高低字節(jié)需要交換后發(fā)送。具體的CRC校驗(yàn)請參考協(xié)議后面的示例。值得注意的是,幀間保持至少3.5個(gè)字符的總線空閑即可,幀之間的總線空閑不需要累加起始和結(jié)束空閑。
Modbus最主要的功能是讀寫參數(shù),不同的功能碼決定不同的操作請求。變頻器Modbus協(xié)議支持以下功能碼操作:
功能碼 |
功能碼意義 |
0x03 |
讀取變頻器功能碼參數(shù)和運(yùn)行狀態(tài)參數(shù) |
0x06 |
改寫單個(gè)變頻器功能碼或者控制參數(shù),掉電之后不保存 |
0x08 |
線路診斷 |
0x10 |
改寫多個(gè)變頻器功能碼或者控制參數(shù),掉電之后不保存 |
0x41 |
改寫單個(gè)變頻器功能碼或者控制參數(shù),掉電之后保存 |
0x42 |
功能碼管理 |
Modbus協(xié)議不同的功能碼有不同數(shù)據(jù)的格式和意義,簡要介紹如下:
改寫多個(gè)變頻器功能碼和狀態(tài)參數(shù)的格式協(xié)議:請求格式如下:
應(yīng)用層協(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ù)目 |
|
應(yīng)答格式如下:
應(yīng)用層協(xié)議
數(shù)據(jù)單元 |
數(shù)據(jù)長度(字節(jié)數(shù)) |
取值或范圍 |
功能碼 |
1 |
0x10 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
操作寄存器數(shù)目 |
2 |
0x0001~0x0004 |
讀取變頻器參數(shù)的協(xié)議格式:請求格式如下:
應(yīng)用層協(xié)議
數(shù)據(jù)單元 |
數(shù)據(jù)長度
(字節(jié)數(shù)) |
取值或范圍 |
功能碼 |
1 |
0x03 |
起始寄存器地址 |
2 |
0x0000~0xFFFF |
寄存器數(shù)目 |
2 |
0x0001~0x0004 |
應(yīng)答格式如下:
應(yīng)用層協(xié)議
數(shù)據(jù)單元 |
數(shù)據(jù)長度
(字節(jié)數(shù)) |
取值或范圍 |
功能碼 |
1 |
0x03 |
讀取字節(jié)數(shù) |
1 |
2*寄存器數(shù)目 |
讀取內(nèi)容 |
2*寄存器數(shù)目 |
|
|