zoukankan      html  css  js  c++  java
  • 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都是扯淡试了不行。

  • 相关阅读:
    tcpdump 筛选抓包
    TCP拥塞避免
    【转载】TCP协议
    go 参数传递的是值还是引用 (转)
    go 数组指针 指针数组
    go 协程
    go 接口实现
    go函数可见性
    go 继承
    go 结构体函数
  • 原文地址:https://www.cnblogs.com/owenzh/p/11009562.html
Copyright © 2011-2022 走看看