我可以在输入寄存器中写入吗?Modbus

问题描述 投票:0回答:1

我已经在一家公司工作了两个月了。MODBUS 项目,现在我发现一个问题。

我的客户要求我写入一个输入寄存器(地址30001到40000)。

我想这对我来说不是一件事,因为每个 modbus 文档中说30001到40000个寄存器。

enter image description here

是否可以在这些寄存器中写入?先谢谢你

modbus modbus-tcp pymodbus
1个回答
1
投票

保持和输入寄存器相关的功能都包含一个2字节的地址值。这意味着你可以在一个器件中同时拥有65536个输入寄存器和65536个保持寄存器。

如果您的客户正在开发从机的固件,他们可以将保持寄存器放入3xxxx - 4xxxx区域。他们不需要遵循原Modicon器件的内存布局。

如果能够承受与Modbus标准的分歧,甚至可以增加寄存器的数量。在我的一个项目中,我正在考虑使用 Preset Single Register (06) 功能作为银行选择命令。当然,你不能再叫它Modbus了。但是,主站仍然可以使用标准库或诊断工具访问从站。


1
投票
  • 你不能对输入触点或输入寄存器进行写入,没有任何Modbus功能可以对它们进行写入,它们的定义是只读

  • Modbus是一种协议,在任何情况下都不指定值的存储位置,只指定值的传输方式。

  • 目前有的器件支持6位数地址,因此每组最多可以寻址65536个寄存器。

© www.soinside.com 2019 - 2024. All rights reserved.