ModbusTcp踩得坑


單元標識符
在MODBUS或MODBUS+串行鏈路子網中對設備進行尋址時,這個域是用於路由的目的。在這種情況下,“Unit Identifier”攜帶一個遠端設備的MODBUS從站地址:
- 如果MODBUS服務器連接到MODBUS+或MODBUS串行鏈路子網,並通過一個橋或網關配置地址這個服務器,MODBUS單元標識符對識別連接到網橋或網關后的子網的從站設備是必需的。目的IP地址識別了網橋本身的地址,而網橋則使用MODBUS單元標識符將請求轉交給正確的從站設備。
- 分配串行鏈路上MODBUS從站設備地址為1~247(10進制),地址0作為廣播地址。
對TCP/IP 來說,利用IP 地址尋址MODBUS 服務器;因此,MODBUS 單元標識符是無用的。必需使用值0xFF。
- 當對直接連接到TCP/IP網絡上的MODBUS服務器尋址時,建議不要在“單元標識符”域使用有效的MODBUS從站地址。在一個自動系統中重新分配IP地址的情況下,並且如果以前分配的MODBUS服務器的IP地址又被指配給網關,使用一個有效的從站地址可能會由於網關的路由不暢而引起麻煩。使用無效的從站地址,網關僅是簡單地廢棄MODBUD PDU,而不會有任何問題。建議:在采用0xFF作為“單元標識符”的無效值。
注:0也可以用作與MODBUS/TCP設備直接通信。

 

其實單元標識符需要設置成01才行,上面說的0 ,ff都是扯淡試了不行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM