网站首页 > 文章精选 正文
含水分析仪通讯协议
1、说明
通讯采用Modbus RTU 协议,本文件将规范和界定通讯协议的相关内容,含水分析位下位机与上位机及其他相联设备需依据本文针界定之规范编程及操作。
2硬件层
RS485半双工通讯链路,波特率可设置(默认96000bps),通讯格式N81(1个起始忆,8个数据位,1个停止位,无奇识位)。
含水分析仪只能工作于Modbus RTU从设备换式,计算机或其他设备作为主设备,只有在主设备发出读或者写命令时,单井含水分析仪才会依据需要返回数据,
3.Modbus RTU ,消息帧结构
3.1从设备地址:
指仪表的地址,范围1~247,默认为0xl2.
3.2功能码:
能用到的为0x03.0x06。
3.3字节数:
在数据传输的消息帧中,表明数据域中的字节数。最大为250.
3.4寄存器起始地址:
对于需要返回数据的查询命令。这个字段表明了要查询的寄存器(或数据)的起始选址。
3.5寄存器个数:
对于需要返回数据的查询命令,这个字段包含需要返回的有存器个数。
3.6CRC校验:
16bits的CRC校验数据。高字节在前。
4.功能字
4.1下表表明含水分析仪支持的功能字
寄存器地址
功能字
数据类型
访问模式
描述
000D
03/06
Integer
R/W
本机地址
0104
03
Integer
R
瞬时含水率,扩大100倍
4.2 数据格式:整数型
Bits
15-8
High byte
7-0
Low byte
4.3 异常响应代码
当请求的CRC校验错误时返回
地址
12
功能码
83/90H
异常码
2
CRC校验Lo
XX
CRC校验Hi
XX
当请求的寄存器地址没有返回时:
地址
01
功能码
83/90H
异常码
3
CRC校验Lo
XX
CRC校验Hi
XX
当请求的寄存器数量错误时返回:
地址
01
功能码
83/90H
异常码
4
CRC校验Lo
XX
CRC校验Hi
XX
5.命令举例:
5.1设置本机地址:0x0003,(本命令对标定计算机和上位机同时开放)
上位机发送查询帧(广播方式,广播地址0xFE)
广播地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0xFE
0x06
0x00
0x0D
0x00
0x03
0x4C
0x07
含水仪返回帧
广播地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0xFE
0x06
0x00
0x0D
0x00
0x03
0x4C
0x07
2读本机地址
上位机发送查询帧(广播方式,广播地址0xFE)
广播地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0xFE
0x03
0x00
0x0D
0x00
0x01
0x01
0xC6
含水仪响应数据帧(本机地址:01)
广播地址
功能码
字节数
数据地址高字节
数据地址低字节
CRC校验码
CRC校验码
0xFE
0x03
0x02
0x00
0x03
0xEC
0x51
5.2 瞬时含水率(整型)
上位机发送查询帧(广播方式,广播地址0xFE)
从机地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0x12
0x03
0x01
0x04
0x00
0x01
0XC6
0x94
含水仪响应数据帧(瞬时含水率12.34)
从机地址
功能码
数据总字节数
瞬时含水率
CRC校验码
CRC校验码
0x12
0x03
0x02
0x04
0XD2
0XBF
0x1A
数据格式为瞬时含水率放大100倍后的整型数,每个整型数占2个字节
- 上一篇: C语言:语句
- 下一篇: C语言-共用体高低字节
猜你喜欢
- 2025-05-16 Java 里的基本类型和引用类型
- 2025-05-16 新手小白学Java|零基础入门笔记|原来学Java可以这么简单
- 2025-05-16 深度学习CV方向高频算法面试题6道|含解析
- 2025-05-16 C语言结构体成员变量名后加冒号和数字的含义
- 2025-05-16 C语言之核心语法
- 2025-05-16 CSP初赛冲刺 计算机体系基本结构
- 2025-05-16 Go语言基础—整型
- 2025-05-16 java基本数据类型
- 2025-05-16 深入探索C语言数据类型:整型、浮点型、字符型全解析!
- 2025-05-16 mysql索引
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)