Embedded Modbus协议数据模型中的访问限制

Embedded Modbus协议数据模型中的访问限制,embedded,protocols,modbus,Embedded,Protocols,Modbus,Modbus协议数据模型中的寄存器之间到底有什么区别 协议定义了以下数据模型: | Discretes Input | Single bit | Read-only | | Coils | Single bit | Read-write | | Input Registers | 16-bit | Read-only | | Holding Registers | 16-bit | Read-write | 到底谁被允许读和写?它适用于主(客

Modbus协议数据模型中的寄存器之间到底有什么区别

协议定义了以下数据模型:

| Discretes Input   | Single bit | Read-only  |
| Coils             | Single bit | Read-write |
| Input Registers   | 16-bit     | Read-only  |
| Holding Registers | 16-bit     | Read-write |
到底谁被允许读和写?它适用于主(客户端)还是从(服务器)。如果访问限制适用于主机,那么只读寄存器中的“输入”一词对我来说没有多大意义。如果情况正好相反,那么为什么从机会有它不能修改的寄存器呢

官方的协议规范文件在这个问题上不清楚,所以请帮助


多亏了

从设备通常有许多输入接口,可以连接到它正在监控的外部设备。您想知道这些输入的状态,以便根据它们的状态做出一些决定。这些输入不能由您修改,因此是只读的。从机获取输入状态并将其作为寄存器中的只读值传递给您。从属服务器根据输入的物理状态创建报告

读写元件是寄存器,允许您向将出现在控制器输出上的从机发送状态信息。它们是可写的,这样你就可以控制它们的状态,并且可读,这样你就可以检查你写的东西是否真的到了那里


示例:道路下方带有交通传感器的交通灯控制器。传感器将是只读的,灯光控制(红色、琥珀色、绿色)将是读/写的,因此您可以设置和检查灯光状态。

从设备通常有许多与其监控的外部设备的输入接口。您想知道这些输入的状态,以便根据它们的状态做出一些决定。这些输入不能由您修改,因此是只读的。从机获取输入状态并将其作为寄存器中的只读值传递给您。从属服务器根据输入的物理状态创建报告

读写元件是寄存器,允许您向将出现在控制器输出上的从机发送状态信息。它们是可写的,这样你就可以控制它们的状态,并且可读,这样你就可以检查你写的东西是否真的到了那里


示例:道路下方带有交通传感器的交通灯控制器。传感器将为只读,灯光控制(红色、琥珀色、绿色)将为读/写,以便您可以设置和检查照明状态。

Modbus数据模型的权威解释见Modbus应用协议规范第4.3节,可从Modbus.org通过以下链接获得:

需要注意的是,规范显示了Modbus数据模型实现的两个示例。一个寄存器类型位于不同的内存位置,另一个寄存器类型位于相同的内存中。
在后一种情况下,输入寄存器#1(16位)将包含离散输入#1至#16的状态

Modbus数据模型的权威解释见Modbus应用协议规范的第4.3节,可通过以下链接从Modbus.org获得:

需要注意的是,规范显示了Modbus数据模型实现的两个示例。一个寄存器类型位于不同的内存位置,另一个寄存器类型位于相同的内存中。 在后一种情况下,输入寄存器#1(16位)将包含离散输入#1到#16的状态

  • 离散输入-读取布尔输入(如0V/5V、0V/24V、带数字输出的传感器、闭路…)
  • 线圈-写入布尔输出(强制输出电压,打开/关闭继电器…)
  • 输入寄存器-读取模拟输入(读取原始温度、流量、压力…通常通过电压或电流)
  • 保持寄存器-写入模拟输出(强制一些原始输出值…通常是电压或电流)
  • 请注意,您可能会处理必须按自己的角度缩放的原始值,或者处理以工程单位表示的已缩放值。由于字类型不太适合这种情况,通常将两个16位寄存器组合在一起以获得一个浮点32位寄存器

  • 离散输入-读取布尔输入(如0V/5V、0V/24V、带数字输出的传感器、闭路…)
  • 线圈-写入布尔输出(强制输出电压,打开/关闭继电器…)
  • 输入寄存器-读取模拟输入(读取原始温度、流量、压力…通常通过电压或电流)
  • 保持寄存器-写入模拟输出(强制一些原始输出值…通常是电压或电流)

  • 请注意,您可能会处理必须按自己的角度缩放的原始值,或者处理以工程单位表示的已缩放值。由于字类型对此不太合适,通常将两个16位寄存器组合成一个浮点32位寄存器。

    因此输入方向是从从寄存器到主寄存器。这就更清楚了。该答案不适用于按照Modbus协议规范第7页示例2实现Modbus数据模型的设备,因此输入方向是从机到主机。这就更清楚了。该答案不适用于按照Modbus协议规范第7页示例2实现Modbus数据模型的设备