hu33333
學不能停
級別: 探索解密
|
圖片:
通訊協議是RTU485 ,9600 ,無校驗,8,1,讀取地址的代碼01 03 01 84 85 DE,返回碼01 03 04 43 29 E6 CA F448,臺達plc讀出的數據為發送碼。不知道該如何解決 |
---|---|
|
tingfenghu
級別: 工控俠客
|
01 03 01 84 85 DE 總覺得讀取地址代碼有問題, 01 站號 03 指令 01 84 應該是地址, 85 DE是讀取數量(感覺這里不對) 后面跟著是CRC校驗, 這個rtu通訊報文的格式,不知道你的設備是否相同 |
|
---|---|---|
|
zhangqi_1234
級別: 略有小成
|
功能碼03H,要求是8個字節,而你的是輸出6個字節,其中保持寄存器的起始地址是H0184,讀取的寄存器個數是H85DE(這么多個寄存器?你不覺得奇怪嗎?),就算個數正確,那么缺少的是CRC校驗碼!如果你發送的報文真的是這樣,居然還能收到返回的報文!返回報文:01 03 04 43 29 E6 CA F448,可以這樣解讀:站號01,功能碼03,讀取的保持寄存器數據字節數4個,第1寄存器數據是H4329,第2個是HE6CA,CRC校驗碼是H48F4。 會這個的人,看到這樣的查詢報文,居然還能收到這樣的應答報文,一定吃驚不! |
---|---|
|
wanruilon08
級別: 略有小成
|
可能是你發送代碼貼錯了吧,正確的完整發送代碼是:01 03 01 84 00 02 85 DE |
---|---|
|
wanruilon08
級別: 略有小成
|
返回碼01 03 04 43 29 E6 CA F448,已經是正確的,怎么說是錯誤?你要的數據是:43 29 E6 CA |
---|---|
|