歐姆龍CP1E PLC與3G3MX2變頻器的MODBUS通信
如有一臺CP1E-N40 PLC需要與3G3MX2變頻器進(jìn)行MODBUS連接通信,變頻器運(yùn)行頻率設(shè)為40Hz,PLC通過執(zhí)行MODBUS-RTU簡易主站功能讀取變頻器的輸出頻率至PLC的內(nèi)存區(qū)D100中,需要進(jìn)行怎樣的配置? MODBUS通信也要用到串行數(shù)據(jù)接口,由于CP1E-N40 PLC CPU單元無自帶串口,因此需要加裝CP1W--CIF11的RS-422A/485串口通信板。 一、接線
CP1W-CIF11通信板的DIP開關(guān)在板背面,設(shè)置撥碼開關(guān)為下表所示的參數(shù)。
編號
| 設(shè)定 | 參數(shù) | 功能 | 1 | 終端電阻 | 1 | 首尾站為1 | 2 | 2/4線 | 1 | 2線 | 3 | 2/4線 | 1 | 2線 | 4 |
| 0 | 總為0 | 5 | PS控制用于RD | 1 | 啟用 | 6 | PS控制用于SD | 1 | 啟用 |
如通信不穩(wěn)定,變頻器也要打開終端電阻開關(guān)。 二、主站PLC參數(shù)設(shè)置 打開CX-P編程軟件依次設(shè)置通信波特率、通信格式、通信模式(站別),如定制,可設(shè)為波特率19200,格式1,8,1,E等(需要與變頻器一致,一般速度要求不高的情況下,波特率設(shè)為9600,通信較穩(wěn)定),模式設(shè)定為“Modbus-RTU簡易主站”。 設(shè)置完成后下載到PLC中,PLC斷電重啟一次設(shè)置方生效。 三、變頻器參數(shù)設(shè)置 參數(shù)號
| 值 | 功能 | C071 | 06 | 波特率19.2kbps | C072 | 1默認(rèn) | 站號 | C074 | 01 | 偶校驗(yàn) | C075 | 1默認(rèn) | 停止位 | C076 | 02默認(rèn) | 無視出錯 | C077 | 0.00s默認(rèn) | 通信錯誤超時 | C078 | 0ms默認(rèn) | 通信等待時間 | A001 | 02默認(rèn) | 第一頻率設(shè)定 | A002 | 02默認(rèn) | 第一運(yùn)行設(shè)定 | A201 | 02默認(rèn) | 第二頻率設(shè)定 | A202 | 02默認(rèn) | 第二運(yùn)行設(shè)定 |
此變頻器默認(rèn)數(shù)據(jù)位為8位。本例中只要讀取變頻器的頻率,A號參數(shù)不用設(shè)置,同樣的,設(shè)置完成后下載到PLC中,PLC斷電重啟一次設(shè)置方生效。
四、功能解析 1、了解標(biāo)準(zhǔn)MODBUS-RTU協(xié)議與簡易MODBUS協(xié)議命令幀(主站→從站)組成。 從站 地址 | 功能 碼 |
| 請求 數(shù)據(jù) | 校驗(yàn) 碼 | 標(biāo)準(zhǔn) | 從站 地址 | 功能 碼 | 數(shù)據(jù) 字節(jié) 數(shù) | 請求 數(shù)據(jù) | 無 | 簡易 | 2字 節(jié) | 2字 節(jié) | 2字 節(jié) | <94 字節(jié) |
|
|
2、了解標(biāo)準(zhǔn)MODBUS-RTU協(xié)議與簡易MODBUS協(xié)議響應(yīng)幀(從站→主站)組成。 從站地址 | 功能碼 |
|
| 應(yīng)答數(shù)據(jù)
| 校驗(yàn)碼
| 標(biāo)準(zhǔn) | 從站地址 | 功能碼 | 錯誤代碼 | 應(yīng)答數(shù)據(jù)字節(jié) | 應(yīng)答數(shù)據(jù) | 無 | 簡易 | 2字節(jié) | 2字節(jié) | 2字節(jié) | 2字節(jié) | 多字節(jié) |
|
|
3、了解CP1E PLC “MODBUS-RTU簡易主站”D\M區(qū)固定分配字。 字
| 位 | 內(nèi)容 | 內(nèi)置 | 通信板 | D1200 | D1300 | 低8位 | 命令 | 從站地址 | 高8位 | 保留 | D1201 | D1301 | 低8位 | 功能碼 | 高8位 | 保留 | D1202 | D1302 | 全部位 | 數(shù)據(jù)字節(jié) | D1203~D1249 | D1303~D1349 | 全部位 | 通信數(shù)據(jù) | D1250 | D1350 | 低8位 | 響應(yīng)
| 從站地址 | 高8位 | 保留 | D1251 | D1351 | 低8位 | 功能碼 | 高8位 | 保留 | D1252 | D1352 | 低8位 | 錯誤代碼 | 高8位 | 保留 | D1253 | D1353 | 全部位 | 數(shù)據(jù)字節(jié) | D1254~D1299 | D1354~D1399 | 全部位 | 響應(yīng)數(shù)據(jù) |
4、了解功能代碼的功能。 功能代碼16進(jìn)制 | 功能 | 01 | 讀取線圈狀態(tài) | 03 | 讀取保持寄存器 | 05 | 寫入線圈 | 06 | 寫入保持寄存器 | 08 | 回送測試 | 0F | 寫入多個線圈 | 10 | 寫入多個寄存器 | 17 | 讀寫多個寄存器 |
5、了解變頻器輸出頻率的寄存器編號與MODBUS通信地址號的區(qū)別與聯(lián)系。 如上圖所示,變頻器輸出頻率監(jiān)控,要讀取變頻器寄存器1001h與1002h中的數(shù)據(jù)=參數(shù)d001中的值=40.00Hz=0000 0FA0 Hex→MODBUS通信地址號“1000”與“1001” 2個寄存器地址的數(shù)據(jù)。因此命令幀內(nèi)容如下表。 D1300 | D1301 | D1302 | D1303 | D1304 | 00 01 | 00 03 | 00 04 | 10 00 | 00 02 | 從站地址 | 功能碼 | 字節(jié)數(shù) | 起始地址 | 寄存器數(shù) |
發(fā)送了命令幀后,通信正常就可以收到響應(yīng)幀,響應(yīng)幀的內(nèi)容如下表。 D1350 | D1351 | D1352 | D1353 | D1354 | D1355 | D1356 | 00 01 | 00 03 | 00 00 | 00 05 | 04 00 | 00 0F | A0 00 | 從站 地址 | 功能 碼 | 錯誤 碼 | 響應(yīng) 數(shù)據(jù) 字節(jié) | 有效 數(shù)據(jù) 字節(jié) | 綠色 響應(yīng) 數(shù)據(jù) |
|
6、了解CP1E PLC中“MODBUS-RTU簡易主站”A區(qū)相關(guān)字。 字 | 位 | 端口 | 內(nèi)容 | A640 | 02 | 內(nèi)置RS232端口 | 1:執(zhí)行錯誤 0:執(zhí)行正常 | 01 | 1:執(zhí)行正常 0:執(zhí)行錯誤 | 00 | 置1:執(zhí)行啟動 1:執(zhí)行中 0:執(zhí)行結(jié)束 | A641
| 02 | 串口選件板 | 1:執(zhí)行錯誤 0:執(zhí)行正常 | 01 | 1:執(zhí)行正常 0:執(zhí)行錯誤 | 00 | 置1:執(zhí)行啟動 1:執(zhí)行中 0:執(zhí)行結(jié)束 |
本例中,使用A641.00位作為啟動位。 五、編寫程序 程序如下圖所示。 程序下載至PLC中,在線監(jiān)視雙字D100中的數(shù)據(jù),即可查看通信效果。 感謝閱讀指正,關(guān)注了解更多! 關(guān)于在本公眾號搜索歷史內(nèi)容的方法←點(diǎn)擊查看
|