polarimeter_software/docs/旋光仪Modbus通信协议规范.md
2025-09-30 10:37:23 +08:00

6.0 KiB
Raw Permalink Blame History

版本说明

版本号 修改内容 日期 作者
V1.0 协议修改为modbus 2025-07-29 吴兆华
V1.1 1. 修改浮点格式为MODBUS ABCD
2. 完善控制指令业务逻辑描述;
3. 修复错误;
2025-09-24 吴兆华
V1.2 1. 修复异常码长度错误 2025-09-25 吴兆华

一、基本协议参数

参数 说明
通信模式 Modbus RTU异步串行通信
从机地址 0x01支持1-247可通过专用指令修改
波特率 115200bps默认
数据格式 8位数据位1位停止位无校验8N1
校验方式 Modbus CRC16多项式0xA001
浮点数传输 ABCD顺序
超时时间 200ms通信无响应超时

二、寄存器地址映射

采用Modbus标准编号保持寄存器=3xxxx输入寄存器=4xxxx

1. 保持寄存器(40001=0000H,可读写)

相对地址(十进制) 功能描述 数据类型 单位 说明
0000 系统控制命令 U8 - 1设备初始化
2开始测量
3停止测量
4数据清零
5开始控温
6停止控温
详细见《系统控制命令定义》;
0001 测量模式设置 U8 - 测量模式:
0旋光度模式
1比旋度模式
2浓度模式
3国际糖度模式
0002-0003 目标温度设置 float 单位°C范围暂定10°C~60°C
0004 旋光管长度设置 U16 mm 单位分米范围暂定100mm~300mm
0005 测量精度设置 U8 - 暂定:
0快速测量
1高精度测量
对应得逻辑待定
0006 自动测量次数设置 U8 暂定1~10

2. 输入寄存器30001=0000H只读

相对地址(十进制) 功能描述 数据类型 单位 说明
0000-0001 实时温度数据 float
0002-0003 实时旋光度 float °
0004 测量结果-模式代码 U8 - 同测量模式0x00-0x03
0005-0006 测量结果-数值 float 取决于模式 32位浮点数旋光度/比旋度°浓度g/100mL糖度°Z
0007-0008 测量结果-温度 float 测量时的实际温度
0009 设备运行状态 U8 - 低 8 位有效,高 8 位保留:
+ 0x00准备中初始化、控温
+ 0x01空闲
+ 0x02校准中
+ 0x03准备就绪
+ 0x04测量中
0010~0011 异常码 U32 - 每个比特位表示一种异常对应比特位为1表示有异常该寄存器为0表示无异常
bit0温度异常
bit1编码器故障
bit2TEC故障
bit3电机故障
0012 测量完成标志 U8 - 0=未完成1=完成自动测量结束后置1
0013-0014 设备型号 U8[4] - ASCII码不足4字符以0x00填充"P1"存储为0x50 0x31 0x00 0x00
0015-0016 固件版本 U8[4] - 主版本 + 次版本 + 修订版 + 构建号
按字节依次为主版本、次版本、修订版、构建号0x01 0x02 0x03 0x04表示V1.02.03.04

三、功能码与命令映射

1. 系统控制命令写入保持寄存器30001功能码0x06

命令码U8 功能描述 说明
1 设备初始化 1. 设备状态、变量、测量结果等清零/复位,设备切换到校准状态;
2. 设备开始查找零点并且停止在零点位置切换到READY状态
3. 查找零点的结果通过_读设备状态_获取
2 开始测量 1. 设备需要先检查当前状态是否处于READY。否则返回modbus异常码4。
3 停止测量 1. 不过处于何种状态,都立即停止;
2. 测量过程中得数据清零,状态复位;
4 数据清零 1. 测量结果清空
5 开始控温 1. 下位机开始控温;
2. 上位机间隔读取温度;
6 停止控温 1. 下位机停止控制温度;

四、Modbus标准错误码与设备错误映射

错误码 (十进制) 错误名称 映射描述
1 非法功能 请求的功能码未被从设备识别或不支持;
+ 请求得子命令不支持;
2 非法数据地址 数据地址不在设备的可访问范围内
+ 保持原释义
3 非法数据值 请求中包含的数值不在从设备的允许值范围内
+ 设置目标温度、模式、炫光管长度等;
4 从设备故障 从设备在执行请求时发生了无法修复的故障
+ 编码器故障、电机故障、TEC故障等
5 确认 从设备已接收请求,但需要更多时间来完成操作
+ 初始化操作,设备找零点、测量操作设备找零点
6 从设备忙 从设备正忙于处理其他命令,客户端应稍后重新发送请求
+ 设备正在找零点
7 否定确认 从设备无法执行请求的程序功能
+ 保持原释义
8 内存奇偶错误 从设备尝试读取扩展内存时检测到奇偶校验错误
+ 保持原释义
10 网关路径不可用 网关无法为请求分配内部通信路径
+ 无映射
11 网关目标设备无响应 网关未从目标设备获得响应
+ 无映射1