723512949
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 47 個
工控威望: 140 點(diǎn)
下載積分: 515 分
在線時間: 21(小時)
注冊時間: 2019-05-20
最后登錄: 2024-09-04
查看723512949的 主題 / 回貼
樓主  發(fā)表于: 2020-04-25 11:45
圖片:
圖片:
這是我通過三菱PLC發(fā)送的MODBUS RTU的報(bào)文
01 05 00 00 FF 00 8C 3A 00
01 0F 00 01 00 17 03 FF FF 7F 34 95 00
01 0F 00 00 00 17 03 00 00 00 14 75 00
01 06 00 00 33 33 DD 2F 00
01 10 00 01 00 10 20 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 07 28 1B 23 00
單個線圈我能理解
批量寫入我就不能理解了
例如:01 05 00 00 FF 00 8C 3A 00
站號。功能碼。數(shù)據(jù)高位。數(shù)據(jù)低位。ON。CRC效驗(yàn)。00
但是:01 0F 00 01 00 17 03 FF FF 7F 34 95 00
站號。功能碼。起始地址高位。起始地址低位。寫入點(diǎn)位。字節(jié)數(shù)。寫入數(shù)據(jù)。CRC效驗(yàn)
這里的寫入數(shù)據(jù)我寫的是FFFF為什么會多出來個7F


經(jīng)過實(shí)驗(yàn),數(shù)據(jù)超過8個字節(jié)后面就會出現(xiàn)這個,第一位表示數(shù)據(jù)的最后一位的個數(shù),第二位表示最后一個數(shù)據(jù)
例如:7777后面就是77,7D2D后面就是1D,AEEE后面就是3E,3235后面就是05
[ 此帖被723512949在2020-04-28 10:48重新編輯 ]
mistyke
打工仔
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 144 個
工控威望: 1067 點(diǎn)
下載積分: 6033 分
在線時間: 356(小時)
注冊時間: 2018-01-02
最后登錄: 2025-01-17
查看mistyke的 主題 / 回貼
1樓  發(fā)表于: 2020-04-25 15:00
看這樣子,應(yīng)該是你最后H0FFFF才16位,你實(shí)際是需要有17位要置位