CCLINK IE轉(zhuǎn)MODBUS-TCP網(wǎng)關(guān)modbusTCP
捷米JM-CCLKIE-TCP網(wǎng)關(guān)可以分別從CCLINK IE FIELD BASIC一側(cè)和MODBUS一側(cè)讀寫數(shù)據(jù),然后將數(shù)據(jù)存入各自的緩沖區(qū)。接著,網(wǎng)關(guān)內(nèi)部會將緩沖區(qū)的數(shù)據(jù)進(jìn)行交換,從而實(shí)現(xiàn)兩邊數(shù)據(jù)的傳輸。這樣的設(shè)計使得網(wǎng)關(guān)在處理不同協(xié)議的數(shù)據(jù)時更加靈活和高效。
1, MODBUS 功能碼
MODBUS 報文相對比較固定,所以您只需要稍作了解,看幾條報文之后就知道了它的結(jié)構(gòu),在需要的時候再來具體查詢。
1.1 讀取輸出狀態(tài)(01H)
功能碼:01H 主站詢問報文式:
地址 | 功能碼 | 起始地址高位 | 起始地址低位 | 線圈數(shù)高位 | 線圈數(shù)低位 | CRC |
13H | 01H | 00H | 11H(17) | 00H | 25H | xxxx |
功能:讀從站輸出線圈0XXXX狀態(tài)。
本例:讀13H號從站輸出線圈,寄存器起始地址=0011H=17,線圈數(shù)=0025H=37;因此,本
詢問報文功能是:讀19(13H)號從站輸出線圈00017-00053,共37個線圈狀態(tài)。
從站應(yīng)答格式:
地址 | 功能碼 | 字節(jié)計數(shù) | 線圈狀態(tài) 00017- 00024 | 線圈狀態(tài) 00025- 00032 | 線圈狀態(tài) 00033- 00040 | 線圈狀態(tài) 00041- 00048 | 線圈狀態(tài) 00049- 00053 | CRC |
13H | 01H | 05H | CDH | ABH | EFH | 12H | 1BH | xxxx |
1.2, 功能:從機(jī)返回輸出線圈0XXXX狀態(tài)本例:1B=00011011,對應(yīng)00049-00053
1B= 0 0 0 1 1 0 1 1,對應(yīng)00049-00053
1.3 讀取輸入狀態(tài)(02H)
功能碼:02H 主站詢問報文式:
地址 | 功能碼 | 起始地址高位 | 起始地址低位 | 線圈數(shù)高位 | 線圈數(shù)低位 | CRC |
13H | 02H | 00H | 12H(18) | 00H | 10H | xxxx |
功能:讀從站輸入線圈1XXXX狀態(tài)。
本例:讀13H號從站輸入線圈,起始地址=0012H=18,線圈數(shù)=0010H=16
因此,本詢問報文功能是:讀19(13H)號從站輸入線圈10018—10033,共16個輸入線圈狀態(tài);
從站應(yīng)答格式:
地址 | 功能碼 | 字節(jié)計數(shù) | 線圈狀態(tài) 10018-10025 | 線圈狀態(tài) 10026-10033 | CRC |
13H | 02H | 02H | CDH | ABH | xxxx |
功能:從機(jī)返回DI=1XXXX狀態(tài)
1.4. 讀取保存寄存器(03H)
功能碼:03H 主站詢問報文式:
地址 | 功能碼 | 起始地址高位 | 起始地址低位 | 寄存器數(shù)高位 | 寄存器數(shù)低位 | CRC |
13H | 03H | 00H | 60H(96) | 00H | 02H | xxxx |
功能:讀從站保持寄存器4XXXX值。
本例:讀13H號從站保持寄存器值,起始地址=0060H=96,寄存器數(shù)=0002;
因此,本詢問報文功能是:讀19(13H)號從站3個保持寄存器40096—40097的值;從站應(yīng)答格式:
地址 | 功能碼 | 字節(jié)計數(shù) | 寄存器 40096 高位 | 寄存器 40096 低位 | 寄存器 40097 高位 | 寄存器 40097 低位 | CRC |
13H | 03H | 04H | 03H | 00H | 02H | 2AH | xxxx |
功能:從站返回保持寄存器的值:40096=0300H,40097=022AH
2.1 網(wǎng)關(guān)的控制字
D7~D1 | D0:啟動 MODBUS 發(fā)送 |
保留 | 0:停止 1:啟動 |
2 .2 網(wǎng)關(guān)的狀態(tài)字
D7:奇偶校驗(yàn) | D6:CRC 校驗(yàn) | D5:等待超時 | D4~D1:異常應(yīng)答 | D0:接收/發(fā)送 |
0:沒有錯誤 1:奇偶校驗(yàn)錯 | 0:沒有錯誤 1:CRC 校驗(yàn)錯 | 0:沒有錯誤 1:等待超時 | 0:沒有錯誤 其他:Modbus 訪問異常 | 0:準(zhǔn)備接收 1:準(zhǔn)備發(fā)送 |
3 啟動捷米JM-CCLKIE-TCP網(wǎng)關(guān)的 Modbus
(1) 使用 Modbus Slave 軟件做為從站,與網(wǎng)關(guān)的 RTU 端子連接進(jìn)行測試。
(2) 點(diǎn)擊軟件的菜單欄“Connection——Connect…”,設(shè)置正確的端口號,然后點(diǎn)擊 OK,開始運(yùn)行。如下圖:
(3) 點(diǎn)擊軟件的菜單欄“Setup——Slave Definition”,設(shè)置從站允許訪問的數(shù)據(jù)區(qū),如下圖:
(4) 在 GX WORKS3 主站軟件上,將輸出數(shù)據(jù)的第 1 個 word 賦值為 1(控制字 =1),啟動 MODBUS-RTU 通訊。
(5) 測試數(shù)據(jù):
在 Modbus Slave 軟件中,手動修改數(shù)據(jù)值,如下圖:
( 6 ), 可以在 GX WORKS3 主站軟件中監(jiān)控到上傳數(shù)據(jù)。
( 7 ). 在 GX WORKS3 主站軟件上手動修改一個 output 數(shù)據(jù)值,在 Modbus Slave 軟件中可以監(jiān)視到,數(shù)據(jù)已經(jīng)成功下發(fā)。
( 8 ), 通過使用捷米的JM-CCLKIE-TCP網(wǎng)關(guān),你可以輕松地同時處理CCLINK IE FIELD BASIC和MODBUS兩種數(shù)據(jù)協(xié)議。趕快評論分享你對這個網(wǎng)關(guān)的看法,并告訴我們你是否有類似的需求吧!