dyysam513
級別: 略有小成
![]() |
有臺1200跟眾為興做標準modbus TCP/IP協(xié)議,現在一直連接不上,請高手幫忙看下是不是設置不對?我需要往眾為興地址60401里面寫(xiě)數據進(jìn)去。 ![]() ![]() ![]() ![]() |
---|---|
|
bnnyygy
bnnyygy
級別: 家園?
![]() |
先用MODBUS_TCP工具測試一下呀 樓主留言:MODBUS_TCP能連上,PLC就是連不上 |
---|---|
|
wlmissyou
級別: 探索解密
![]() |
鏈接: https://pan.baidu.com/s/1erSvXdYYP9ydcMgSSPzAlw 提取碼: cpbu |
---|---|
|
渣渣暉
學(xué)海無(wú)涯,苦中作樂(lè )···
級別: 略有小成
![]() |
![]() |
|
---|---|---|
|
sjm213
有小知識,無(wú)大學(xué)問(wèn)。
級別: 論壇版主
![]() ![]() ![]() ![]() |
注意: 對于一般的支持 Modbus TCP 設備,可能無(wú)法在其設備手冊中查找到諸如 40001、30001 這種數據地址,而是以功能碼 + 十六進(jìn)制數形式的變量地址,這樣有兩種處理辦法: 方法 1:將功能碼 + 100 作為 MB_MODE,十六進(jìn)制地址數轉化為十進(jìn)制數作為 MB_DATA_ADDR。例如 0x03 功能碼,地址 0x00FF,這樣就是 MB_MODE = 103, MB_DATA_ADDR = 255。 方法 2:通過(guò)判斷功能碼決定是讀是寫(xiě),決定 MB_MODE 為 0 讀還是 1 寫(xiě)(2 寫(xiě)比較特殊,只用于不支持 5、6 號功能碼的設備),然后將十六進(jìn)制地址數轉化為十進(jìn)制數,然后對于不同的功能碼,十進(jìn)制數增加不同的偏移量,對于功能碼 1、5、15 偏移量為 1,對于功能碼 2 偏移量為 10001,對于功能碼 3、6、16 偏移量為 40001(對于超過(guò) 9999 的地址,偏移量為 400001),對于功能碼 4 偏移量為 30001。同樣以 0x03 功能碼,地址 0x00FF 為例,因為是讀,所以 MB_MODE = 0, 0x00FF 轉換為十進(jìn)制為 255,加上偏移量 40001 就是 40256,這樣 MB_DATA_ADDR = 40256。 |
---|---|
|