目录
- 一、智能称重数字显示器模块(带通信)
- 1、称重传感器接线说明
- 称重显示模块
- 称重传感器
- USB 转 TTL
- 2、校准传感器(标定:零点标定、满度标定)
- 二、Modbus RTU 协议
- 1、Modbus RTU 数据帧
- 2、数据帧格式
- 请求帧
- 响应帧
- 三、上位机电脑与称重显示模块进行通讯
- 1、USB 转 TTL 模块
- 2、指令示例
- 常规参数
- 报警参数
- 通讯参数
- 3、报警示例
一、智能称重数字显示器模块(带通信)
| |
1、称重传感器接线说明
称重显示模块
称重传感器
USB 转 TTL
2、校准传感器(标定:零点标定、满度标定)
- 只能通过按键校准。
二、Modbus RTU 协议
1、Modbus RTU 数据帧
Modbus RTU 的数据帧由以下几个部分组成:
- 起始间隔(Silent Interval):表示一帧的开始和结束。
- 地址域(Address Field):表示目标从设备的地址。
- 功能码(Function Code):定义主设备请求从设备执行的操作。
- 数据域(Data Field):包含功能码指定操作所需的数据,如寄存器地址、数量和实际的数据值。
- 校验码(CRC Field):用于帧校验。
2、数据帧格式
请求帧
- 假设主设备发送一个读取从设备寄存器的请求:
- 地址为 1,功能码为 03(读取保持寄存器),读取寄存器起始地址为 0000,读取数量为 2。
字节 | 描述 |
---|---|
0x01 | 地址域 |
0x03 | 功能码 |
0x00 | 起始地址高字节 |
0x00 | 起始地址低字节 |
0x00 | 寄存器数量高字节 |
0x02 | 寄存器数量低字节 |
0xC4 | CRC 校验码高字节 |
0x0B | CRC 校验码低字节 |
响应帧
- 假设从设备响应主设备的请求:
- 地址为 1,功能码为 03(读取保持寄存器),数据长度为 4 字节(2 个寄存器),数据值分别为 0x0000 和 0x0208。
字节 | 描述 |
---|---|
0x01 | 地址域 |
0x03 | 功能码 |
0x04 | 数据字节计数 |
0x00 | 数据高字节 1 |
0x00 | 数据低字节 1 |
0x02 | 数据高字节 2 |
0x08 | 数据低字节 2 |
0xFA | CRC 校验码高字节 |
0x95 | CRC 校验码低字节 |
三、上位机电脑与称重显示模块进行通讯
- 通讯接口:TTL
- 通讯协议:标准 Modbus RTU 协议
1、USB 转 TTL 模块
串口助手软件参数设置:
- 波特率:9600
- 停止位:1
- 数据位:8
- 校验位:无
- 16进制发送
- 16进制显示
2、指令示例
常规参数
发送 | 返回 | 返回值 | 功能描述 |
---|---|---|---|
01 03 00 00 00 02 C4 0B | 01 03 04 00 00 02 08 FA 95 | 520 | 读测量值 |
01 03 00 04 00 01 C5 CB | 01 03 02 00 01 79 84 | 1 | 读小数点 |
01 06 00 04 00 00 C8 0B | 与发送一致 | 0 | 写小数点 |
01 03 00 05 00 01 94 0B | 01 03 02 00 14 B8 4B | 20 | 读滤波 |
01 06 00 05 00 05 59 C8 | 与发送一致 | 5 | 写滤波 |
01 03 00 06 00 01 64 0B | 01 03 02 00 01 79 84 | 1 | 读采集速度 |
01 06 00 06 00 00 69 CB | 与发送一致 | 0 | 写采集速度 |
01 03 00 07 00 01 35 CB | 01 03 02 00 01 79 84 | 1 | 读分度值 |
01 06 00 07 00 C8 39 9D | 与发送一致 | 200 | 写分度值 |
报警参数
发送 | 返回 | 返回值 | 功能描述 |
---|---|---|---|
01 03 00 30 00 01 84 05 | 01 03 02 00 03 F8 45 | 3:AL1 上限,AL2 下限 | 读报警方式 |
01 06 00 30 00 00 89 C5 | 与发送一致 | 0:关闭报警 | 写报警方式 |
01 03 00 35 00 02 D4 05 | 01 03 04 00 00 03 E8 FA 8D | 1000 | 读 AL1 报警值 |
01 06 00 36 01 F4 69 D3 | 与发送一致 | 500 | 写 AL1 报警值 低位 |
01 03 00 3A 00 02 E4 06 | 01 03 04 00 00 00 64 FB D8 | 100 | 读 AL1 回差值 |
01 06 00 3B 00 64 F9 EC | 与发送一致 | 100 | 写 AL1 回差值 低位 |
01 03 00 38 00 02 45 C6 | 01 03 04 00 00 01 F4 FA 24 | 500 | 读 AL2 报警值 |
01 06 00 39 01 F4 59 D0 | 与发送一致 | 500 | 写 AL2 报警值 低位 |
01 03 00 3C 00 02 04 07 | 01 03 04 00 00 00 64 FB D8 | 100 | 读 AL2 回差值 |
01 06 00 3D 00 00 18 06 | 与发送一致 | 0 | 写 AL2 回差值 低位 |
通讯参数
发送 | 返回 | 返回值 | 功能描述 |
---|---|---|---|
01 03 00 1B 00 01 F4 0D | 01 03 02 00 01 79 84 | 1 | 读通讯地址 |
01 06 00 1B 00 02 78 0C | 与发送一致 | 2 | 写通讯地址 |
02 06 00 1B 00 01 38 3E | 与发送一致 | 1 | 写通讯地址 |
01 03 00 1C 00 01 45 CC | 01 03 02 03 C0 B8 E4 | 960 | 读波特率 |
01 06 00 1C 2D 00 55 5C | 与发送一致 | 11520 | 写波特率 |
01 03 00 1D 00 01 14 0C | 01 03 02 00 00 B8 44 | 0:无校验 | 读校验位 |
01 06 00 1D 00 01 D8 0C | 与发送一致 | 1:偶校验 | 写校验位 |
01 03 00 1E 00 01 E4 0C | 01 03 02 00 00 B8 44 | 0:1234 | 读浮点顺序 |
01 06 00 1E 00 01 28 0C | 与发送一致 | 1:3412 | 写浮点顺序 |
3、报警示例
- 示例 1:上限报警
- 参数设置:AL1 报警值 500,AL1 回差值 100。(超过 500 报警,低于 400 不报警)
- 现象:上电时如果测量值小于 500,AL1 为高电平;大于 500 后为低电平。大于 500 后需小于 400 一次后 AL1 才为高电平,不然在 400~500 之间还是低电平。
- 示例 2:下限报警
- 参数设置:AL1 报警值 500,AL1 回差值 100。(低于 500 报警,高于 600 不报警)
- 现象:上电时如果测量值大于 600,AL1 为高电平;低过 600 后为低电平。大于 600 后需小于 500 一次后 AL1 才为低电平,不然在 500~600 之间还是高电平。