我已经在一个MODBUS
项目中工作了 2 个月,现在我发现了一个问题。
我的客户要求我写一个输入寄存器(地址 30001 到 40000)。
我认为这对我来说不是一件事情,因为每个modbus
文档都说 30001 到 40000 个寄存器是只读的。
甚至可以写入这些寄存器吗?提前致谢
我已经在一个MODBUS
项目中工作了 2 个月,现在我发现了一个问题。
我的客户要求我写一个输入寄存器(地址 30001 到 40000)。
我认为这对我来说不是一件事情,因为每个modbus
文档都说 30001 到 40000 个寄存器是只读的。
甚至可以写入这些寄存器吗?提前致谢
保持和输入寄存器相关函数都包含一个 2 字节的地址值。这意味着您可以在一个设备中同时拥有 65536 个输入寄存器和 65536 个保持寄存器。
如果您的客户正在开发从机的固件,他们可以将保持寄存器放入 3xxxx - 4xxxx 区域。他们不需要遵循原始 Modicon 设备的内存布局。
如果可以负担得起与 Modbus 标准不同的费用,甚至可以增加寄存器的数量。在我的一个项目中,我正在考虑将Preset Single Register (06)
函数用作银行选择命令。当然,你不能再称它为 Modbus。但是,主机仍然可以使用标准库或诊断工具访问从机。
您不能写入输入触点或输入寄存器,没有 Modbus 功能可以写入它们,它们根据定义是只读的
Modbus 是一种协议,在任何情况下都不会指定值的存储位置,只指定它们的传输方式
目前有些设备支持 6 位地址,因此每组最多可寻址 65536 个寄存器