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都是扯淡试了不行。

  • 相关阅读:
    C语言之浮点类型
    C语言之变量基本使用
    Linux之Shell位置参数变量
    C语言之字符类型
    Linux之设置环境变量
    C# 获取任何给定类型Type的三种形式
    指针 PointerPlayground2 示例
    mount bind
    mono2.10.9]# ./configure help
    创建基于栈的数组
  • 原文地址:https://www.cnblogs.com/owenzh/p/11009562.html
Copyright © 2011-2022 走看看