自动控制网—学习自动控制技术电气自动化技术从这里开始!
当前位置: 自动控制网 > 工业通讯 >

MODBUS协议的数据模型

时间:2020-08-14 18:13来源:www.eadianqi.com 编辑:自动控制网
数据模型是对可访问数据的一种抽象,MODBUS协议的数据模型定义了四种可访问的数据,分别是: ◆离散量输入(Discrete Input); ◆线圈(Coils); ◆输入寄存器(Input registers); ◆保持寄存器(Holding registers); 其中,离散量输入和线圈只支持以位(bit)的

数据模型是对可访问数据的一种抽象,MODBUS协议的数据模型定义了四种可访问的数据,分别是:
◆离散量输入(Discrete Input);
◆线圈(Coils);
◆输入寄存器(Input registers);
◆保持寄存器(Holding registers);
其中,离散量输入和线圈只支持以位(bit)的方式进行访问,输入寄存器和保持寄存器只支持以字(WORD)的方式进行访问;离散量输入和输入寄存器只支持以只读的方式进行访问,而线圈和保持寄存器既可以读也可以写。 本文来自www.eadianqi.com


数据模型中成员的特点如下面的表格所示:
MODBUS协议定义的数据模型 自动控制网www.eadianqi.com版权所有


区块               访问长度      访问方式    说明
离散量输入     位(bit)         只读            数据由IO系统提供
线圈               位(bit)         读/写           可通过应用程序改写
输入寄存器     字(word)     只读            数据由IO系统提供
保持寄存器     字(word)     读/写           可通过应用程序改写
既然数据模型是一种抽象,在实际使用时必须将其映射到真实的物理存储区才能被访问。

自动控制网www.eadianqi.com版权所有


MODBUS协议允许设备将四种数据分别映射到不同的存储区块中,各个区块之间相互独立,使用不同的功能码可读取到不同的数值,如下图所示:
MODBUS数据模型映射到不同的存储区块
图1 MODBUS数据模型映射到不同的存储区块

MODBUS协议也允许设备将四种数据映射到同一存储区块中,这样通过不同的功能码读取数据可能会得到相同的数据(比如:输入寄存器和保持寄存器为同一物理区块),如下图所示:
MODBUS数据模型映射到同一区块
图2 MODBUS数据模型映射到同一区块

数据模型中的每一种数据都最多允许有65536个元素(编号1-65536),元素的地址编号从0开始,因此地址的范围为:0-65535。需要说明的是:65536只是协议允许的最大元素范围,但并不要求全部实现。MODBUS协议允许设备根据自己的实际情况实现部分元素,甚至不要求实现模型中全部四种数据; 本文来自www.eadianqi.com
本文已影响