【问题标题】:byte count in the Modbus TCP PDUModbus TCP PDU 中的字节数
【发布时间】:2019-05-14 12:34:01
【问题描述】:

我正在编写一个 Modbus TCP 主站来与 Modbus TCP 从站通信。

我在确定数据包的正确格式时遇到问题

这是标准数据包格式:

 | Tx ID | Proto ID | Length | Unit ID ***| FCode | Data |***

我们知道,FCode & Data 构成了通讯的 PDU。

但我的 Modbus TCP 从站前面有一个字节用于传输的字节数。 看起来像这样:

| Tx ID | Proto ID | Length | Unit ID ***| FCode | byte count | Data |***

我的问题是这是否违反了 Modbus TCP 规范?

【问题讨论】:

  • edited your question,改进其格式,或 its quality 以帮助人们理解您的问题,并帮助您获得适当的答案。但您仍可能需要添加更多信息才能让您的问题完全得到解决。

标签: modbus-tcp


【解决方案1】:

这取决于功能代码。不同的功能码有不同的pdu:s。

例如,写入单个寄存器 (0x06) 没有“字节数”,但写入多个寄存器 (0x010) 有。

使用了哪些功能码?

【讨论】:

  • 我发现按照实施指南,这种格式是可以接受的。我发现,从站正在使用 TCP 上的 Modbus RTU,因此字节计数的额外字段
  • 好的,我明白了。您是否更换了从属设备或将您的代码更新为 RTU,以便现在一切正常?
  • 由于我添加了对从站的支持并且它在规范中是可以接受的,我添加了对 Modbus TCP 和 Modbus RTU over TCP 的支持,现在它可以正常工作了。感谢您的投入
猜你喜欢
  • 1970-01-01
  • 2022-01-09
  • 2020-12-01
  • 1970-01-01
  • 2017-10-31
  • 2016-09-06
  • 2020-06-10
  • 2014-04-07
  • 2022-08-16
相关资源
最近更新 更多