Modbus TCP 使用常见问题

未读取到点位值,错误码 3002


  • 开启 DEBUG 日志,查看日志,检查数据流,设备是否有回复数据,如果有回复数据,回复的数据是否正确(串口设备如果有多个上游主站采集时,会产生异常)。
  • 检查站点号是否正确。
  • 检查地址是否正确(Neuron 的 Modbus 地址从 1 开始)。
  • 某些设备可能不支持一次只读取一个点位,需要把所有点位都配上(Neuron 会自动优化批量读取)。
  • 连接是否通,可使用 telnet 指令检测链路是否有异常。
  • 设备支持的协议为 Modbus RTU,不是 Modbus TCP,使用 Modbus RTU 插件尝试。

点位值失效,错误码 3008


  • 设备离线,数据无法更新。
  • 设备在一定时间内无响应数据。
  • 设备支持的协议为 Modbus RTU,不是 Modbus TCP,使用 Modbus RTU 插件尝试。

读取到的点位值与预期不符


  • 数据类型选择不正确。
  • 点位字节序设置不正确。
  • 存在多个上游主站采集数据,导致数据出现错乱。
  • DTU 开启了注册包或心跳包,导致 Neuron 认为数据流数据错误。
  • 设备主动上传数据,标准 Modbus 协议基于主设备主导的请求-响应模式,而不是从设备主动上传数据的模式。
  • 设备支持的协议为 Modbus RTU,不是 Modbus TCP,使用 Modbus RTU 插件尝试。