我们这期介绍下Modbus协议的数据模型。
四种数据表
Modbus协议的数据模型基于四种基本的数据表,分别是离散量(Discrete Inputs)、线圈(Coils)、输入寄存器(Input Registers)和保持寄存器(Holding Registers)。
其中,离散量和输入寄存器都是只读,而线圈和保持寄存器是可读可写。
两种设备应用数据存储方式
数据模型是抽象的,需要映射到实际的物理存储区才能访问。当然,Modbus协议允许设备将四种数据映射到不同的存储区块中,也可以映射到同一存储区块中。如下两种具体方式:
方式一:
这种方式设备将不同类型的数据存储在不同的存储区块中。例如,离散量输入、线圈、输入寄存器和保持寄存器可能分别映射到不同的物理存储区域,这样使用不同的功能码可以读取到不同的数值。
方式二:
这种方式的设备将所有类型的数据存储在同一个存储区块中。在这种情况下,通过不同的功能码读取数据可能会得到相同的数据,例如,如果输入寄存器和保持寄存器映射到同一个物理存储区块,那么读取操作可能会返回相同的值。
当然,在实际应用中,每个设备的数据模型结构可以根据其特定的应用场景和需求进行定制,以实现最优的数据访问和控制逻辑。