EMERSON EV1000/EV2000變頻器與MITSUBISH FX2 PLC
基于Modbus協(xié)議通訊的DEMO程序
一、硬件連接
二、通訊方式
Modbus協(xié)議,ASCII格式,LRC校驗(yàn);
主從方式:PLC為主機(jī),變頻器為從機(jī);
波特率:19200bps(默認(rèn)),可選;
數(shù)據(jù)格式:7-N-2(默認(rèn))、無校驗(yàn),可選。
三、程序模塊
1. MAIN:主程序。
根據(jù)PLC輸入端子的命令執(zhí)行通訊命令。
2. P0:初始化子程序。
初始化通訊接口;添加數(shù)據(jù)幀頭、幀尾;初始化從機(jī)地址。
3. P1:變頻器正轉(zhuǎn)命令賦值,調(diào)用LRC校驗(yàn)子程序,將待發(fā)送的ASCII碼字符串置入發(fā)送緩沖器。
4. P2:變頻器反轉(zhuǎn)命令賦值,調(diào)用LRC校驗(yàn)子程序,將待發(fā)送的ASCII碼字符串置入發(fā)送緩沖器。
5. P3:變頻器停機(jī)命令賦值,調(diào)用LRC校驗(yàn)子程序,將待發(fā)送的ASCII碼字符串置入發(fā)送緩沖器。
6. P4:寫變頻器參數(shù)命令賦值,調(diào)用LRC校驗(yàn)子程序,將待發(fā)送的ASCII碼字符串置入發(fā)送緩沖器。
7. P5:讀變頻器參數(shù)命令賦值,調(diào)用LRC校驗(yàn)子程序,將待發(fā)送的ASCII碼字符串置入發(fā)送緩沖器。
8. P6:LRC校驗(yàn)子程序。
計(jì)算待發(fā)送字符串的LRC校驗(yàn)值,并將十六進(jìn)制字符串轉(zhuǎn)化為ASCII碼。
9. P7:接收字符串校驗(yàn)子程序。根據(jù)接收字符串的特性,將接收到的ACSII碼轉(zhuǎn)化為十六進(jìn)制,并進(jìn)行LRC校驗(yàn);比較計(jì)算所得的校驗(yàn)值與接受到的校驗(yàn)值。
10. P8:根據(jù)命令,選擇接收和發(fā)送字符串的長(zhǎng)度。
四、程序功能
X000=1:正轉(zhuǎn)運(yùn)行(寫0x0187到控制寄命令字存器0x3200),點(diǎn)亮Y000;
X001=1:反轉(zhuǎn)運(yùn)行(寫0x018F到控制命令字寄存器0x3200),點(diǎn)亮X001;
X002=1:停機(jī)(寫0x0186到控制命令字寄存器0x3200),指示燈熄滅;
X003=1:改寫單個(gè)參數(shù)(如設(shè)定頻率,功能碼地址可選),掉電后不保存;
X004=1:讀參數(shù)(如設(shè)定頻率、狀態(tài)字等,功能碼的地址和個(gè)數(shù)可選)。
若校驗(yàn)有誤,則Y007亮,校驗(yàn)正確后該燈熄滅。
五、注意事項(xiàng)
1. 本DEMO程序僅作為用戶參考程序,請(qǐng)根據(jù)實(shí)際應(yīng)用加以修改;
2. 通訊波特率和數(shù)據(jù)格式可改,請(qǐng)參考FX PLC相關(guān)手冊(cè),在“P0”中進(jìn)行修改(DEMO程序中默認(rèn)為“19200bps,7位數(shù)據(jù)位,2位停止位,無校驗(yàn),無幀頭和幀尾,控制線正常模式1,不添加和校驗(yàn)碼,無協(xié)議,協(xié)議格式1”格式);
3. 從機(jī)(變頻器)地址可由用戶在“P0”中進(jìn)行設(shè)置(DEMO程序中默認(rèn)為“05”)。
4. “正轉(zhuǎn)”、“反轉(zhuǎn)”和“停機(jī)”是通過寫控制字實(shí)現(xiàn)的,用戶可以根據(jù)實(shí)際情況在“P1”、“P2”、“P3”中進(jìn)行修改(DEMO程序中這三種情況對(duì)應(yīng)的控制字的內(nèi)容分別為“0x0187”、“0x018F”和“0x0186”);
5.“改寫單個(gè)參數(shù)”時(shí),待寫的變頻器功能碼的地址及其內(nèi)容由用戶決定,請(qǐng)根據(jù)需要在“P5”中進(jìn)行修改(DEMO程序中通過“寫”命令設(shè)置運(yùn)行頻率,F(xiàn)0.02=50.00Hz);
6. “讀參數(shù)”時(shí),待讀的變頻器功能碼的地址和字節(jié)數(shù)由用戶決定,請(qǐng)根據(jù)需要在“P6”中進(jìn)行修改(DEMO程序讀以F0.02開始的4個(gè)單元的內(nèi)容,即F0.02~F0.05)。
附:
錯(cuò)誤幀處理方式:PLC發(fā)送命令后,接收返回的命令并進(jìn)行LRC校驗(yàn),將校驗(yàn)所得的LRC校驗(yàn)碼與接收到的校驗(yàn)碼進(jìn)行比較。若兩者相等,則表明此次通訊正常;若不等,則表明通訊有誤,0.3s后重新發(fā)送上次的請(qǐng)求命令,直到接收到的字符串的校驗(yàn)碼正確為止。這樣做是為了保證PLC端發(fā)送的命令(如正/反轉(zhuǎn)、停機(jī)等)能夠正常送到變頻器。
-
plc
+關(guān)注
關(guān)注
5008文章
13150瀏覽量
462052
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論