Modbus-ASCII 报文解析器
解析结果
Modbus ASCII报文结构
用途 | 帧起始 | 地址 | 功能码 | 数据 | LRC(校验) | 结束符 |
---|---|---|---|---|---|---|
长度 | 1字节 | 2字节 | 2字节 | N字节 | 2字节 | 2字节 |
描述 | 消息开始,以:(0x3A)开头 | 节点地址 | 主机要求从机执行的操作类型 | 包含了命令的具体参数,格式和长度却决于功能码 | 纵向冗余检验码 | 保温结束符(CR/LF) |
常用功能码详解
功能码 | 名称 | 数据类型 | 作用 |
---|---|---|---|
0x01 | 读线圈寄存器 | 位 | 取得一组逻辑线圈的当前状态(ON/OFF) |
0x02 | 读离散输入寄存器 | 位 | 取得一组开关输入的当前状态(ON/OFF) |
0x03 | 读保持寄存器 | 整型、浮点型、字符型 | 在一个或多个保持寄存器中取得当前的二进制值 |
0x04 | 读输入寄存器 | 整型、浮点型 | 在一个或多个输入寄存器中取得当前的二进制值 |
0x05 | 写单个线圈寄存器 | 位 | 强置一个逻辑线圈的通断状态 |
0x06 | 写单个保持寄存器 | 整型、浮点型、字符型 | 把具体二进制值装入一个保持寄存器 |
0x0F | 写多个线圈寄存器 | 位 | 强置一串连续逻辑线圈的通断 |
0x10 | 写多个保持寄存器 | 整型、浮点型、字符型 | 把具体的二进制值装入一串连续的保持寄存器 |