首页 > 解决方案 > 为什么在写入多个寄存器时需要寄存器数量和字节数?

问题描述

根据 MODBUS 应用协议规范,当写入多个寄存器时,我们需要指定寄存器的数量和字节数。但是这个文件也说“数据被打包为每个寄存器两个字节”。那么,我们只需要其中一个就足够了吗?寄存器数量或字节数。

在我看来,数据并不总是被打包为每个寄存器两个字节。它可以是三个或四个字节。那是对的吗?所以,我们两者都需要,是吗?

标签: modbus

解决方案


Modbus 寄存器总是 2 个字节。对于预设多寄存器命令,字节计数字段是多余的。但似乎字节计数字段在其他命令中有其他用途,而且并非总是如此(寄存器计数 * 2)。例如,查看读取线圈状态命令 (0x01) 的响应。此响应可以包含奇数个字节。


推荐阅读