快捷搜索:  汽车  科技

modbus通信数据格式解析(ModBus通讯协议传输模式)

modbus通信数据格式解析(ModBus通讯协议传输模式)01:读线圈状态功能码由1个字节构成,因此取值范围1-255。常用功能码如下:ASCII模式下,消息以冒号字符开始,以回车换行字符结束。RTU模式下,消息发送和接收至少间隔3.5字符时间的停顿间隔作为标志。Modbus消息帧的地址,在ASCII模式下包含2个字符,在RTU模式下包含1个字符。单个设备地址实际范围是在1-247值之间。0为广播地址、248-255为保留地址。

Modbus通讯协议

通俗点来讲,ModBus规约了起停电机,主机要分别发送什么命令给从机。ModBus规定主从机之间数据的交互,需要遵循什么样的格式,如何保证数据在传输过程中不发生冲突。只要都遵循这个协议,那么不同厂家的主从机就可以共用了。

ModBus一般是工作在一主多从的场景,还是这个图:

modbus通信数据格式解析(ModBus通讯协议传输模式)(1)

主机和从机之间的连线不一定是非要485来作为载体,也可以是IIC,SPI。因为ModBus是软件层的协议,它既可以规约485硬件接线方式,也可以规约其他硬件接线方式。很多资料会写”基于RS-485的ModBus通讯协议”,意思是底层的0、1数据是通过RS-485方式去传输的,0、1的意义则是通过ModBus去解析的。强调,硬件协议可以确保数据得以传输出去,软件协议保障数据的有序传输,数据不会发生冲突。

modbus通信数据格式解析(ModBus通讯协议传输模式)(2)

Modbus 通讯协议的传输模式

Modbus传输模式可分为 ASCII和RTU两种模式,同一网络中所有设备必须保持统一,要么是ASCII,要么统一为RTU模式,两者不可共存。相对来说RTU模式传输效率较高,

ASCII模式下,消息以冒号字符开始,以回车换行字符结束。

RTU模式下,消息发送和接收至少间隔3.5字符时间的停顿间隔作为标志。

modbus通信数据格式解析(ModBus通讯协议传输模式)(3)

Modbus 通讯协议的地址、功能码、数据域介绍

Modbus消息帧的地址,在ASCII模式下包含2个字符,在RTU模式下包含1个字符。单个设备地址实际范围是在1-247值之间。0为广播地址、248-255为保留地址。

功能码由1个字节构成,因此取值范围1-255。常用功能码如下:

01:读线圈状态

02:读输入状态

03:读保持寄存器

04:读输入寄存器

05:强制单线圈

06:预制单寄存器

15:强制多线圈

17:报告从设备ID

22:屏蔽写寄存器

23:读/写寄存器

modbus通信数据格式解析(ModBus通讯协议传输模式)(4)

数据内容与功能码紧密相关,存放功能码需要操作的具体数据,数据域以字节为单位,长度可变,对于有些功能码此域可为空。

Modbus 通讯协议的数据格式

单个写入:

modbus通信数据格式解析(ModBus通讯协议传输模式)(5)

多个写入:

modbus通信数据格式解析(ModBus通讯协议传输模式)(6)

读取:

modbus通信数据格式解析(ModBus通讯协议传输模式)(7)

关于Modbus 通讯协议的数据审计/防护

Modbus数据审计/防护其核心是对协议报文进行深度解码分析,记录其操作时间、地点、操作人、和操作行为等关键要素,依托操作行为数据的有效存储和行为管控,从而实现对Modbus系统的安全日志的审计分析及异常阻断,加强组织事中管控能力,事后回溯追查、分析研判的能力。

modbus通信数据格式解析(ModBus通讯协议传输模式)(8)

好了!以上内容就是关于Modbus 通讯协议的详细介绍,你了解多少呢?

(来源:网络)

猜您喜欢: