强制只写入读取寄存器#Modbus

时间:2015-05-12 07:57:17

标签: modbus scada

我在想, 无论如何,强制写一个“只读”的文章。 Modbus注册? 将注册表定义为“只读”'足够安全还是可以绕过?

感谢您的回答!

1 个答案:

答案 0 :(得分:2)

在Modbus中定义“只读”模拟变量的正确方法是将其映射为输入寄存器。 Modbus中没有定义函数代码来写入输入寄存器。

由于历史原因,一些供应商将其所有变量映射为保持寄存器,理论上是读/写,即有一个写多寄存器功能。每当它们将只读变量映射为保持寄存器时,它们必须断言写入函数失败。但是,没有标准的异常代码,因为保持寄存器应该是可读/写的。这只是Modbus的特质之一。

回到你的问题,如果你将变量映射为输入寄存器,你可以确定协议不允许主机写入它。如果为了将互操作性问题映射为保持寄存器,协议将允许主机使用写入功能来更改其值,并且由您来阻止您的设备实现。

相关问题