普斯特科技 BS-17/18 板卡 MODBUS-RTU 通信协议
时间:2018-10-24 阅读:751
普斯特科技 BS-17/18 板卡 MODBUS-RTU 通信协议
一. 概述:
本协议遵守 MODBUS 通信协议,采用了 MODBUS 协议中的子集 RTU 方
式.RS485 半双工工作方式.
二. 串行数据格式:
串口设置: 无/ 奇/ 偶校验,8 位数据,1 位停止位.
举例:9600,N,8,1 含义:9600bps,无校验,8 位数据位,1 位停位.
本变送器支持的串口波特率为:
1200,2400,4800,9600,19200,38400,57600,115200
CRC 校验的多项式:0xA001.
BS-17 的通信协议可以传输有符号整形数,也可以传输浮点类型数据。
三.通信格式:
有符号整形数输出:
A.发送读命令格式:
地址 功 能
码
数据起始
(H)
数据起始
(L)
数据个数
(H)
数据个数
(L)
CRC16
(L)
CRC16
(H)
0X01 0X03 0X00 0X00 0X00 0X01 0X84 0X0A
B.返回读数据格式:举例
地址 功 能
码
数据长度 数据 (H) 数据 (L) CRC16
(L)
CRC16
(H)
0X01 0X03 0X02 0X00 0X01 0X79 0X84
2.写命令格式(06 功能码)举例
地址 功 能
码
数据起始
(H)
数据起始
(L)
数据 (H) 数据 (L) CRC16
(L)
CRC16
(H)
0X01 0X06 0X00 0X00 0X00 0X02 0X08 0X0B
B.返回读数据格式:举例
地址 功 能
码
数据起始
(H)
数据起始
(L)
数据 (H) 数据 (L) CRC16
(L)
CRC16
(H)
0X01 0X06 0X00 0X00 0X00 0X02 0X08 0X0B
3.异常应答返回
地址 功 能
码
异常码 CRC16
(L)
CRC16
(H)
0X01 0X80
+功能
码
0x01(非fa功能)
0x02( 非法数据地址)
0x03(非法数据
整形数支持的命令及命令和数据意义:
功能码
数据偏移
(10 进制)
数据
个数
字
节
数据范围 指令意义
0x03 功能码读取数据
整形数读取范围
0x03 0
1 2 1-255 读取从机地址
0x03 1 1 2 0-1200
1-2400
2-4800
3-9600
4-19200
5-38400
6-57600
7-115200
波特率读取
0x03 2 1 2 0- 无校验
1- ODD
2- EVEN
0- 无校验
1- 奇数校验
2- 偶数校验
0x03 3 1 2 0- Kpa
1- Mpa
2- Ma
3- %
4- Inh2o
5- Fth2o
6- MmH2O
7- MmHg
8- PSI
9- Bar
10- Mbar
11- Kg/cm2
12- Pa
13- Torr
14- Atm
15- 空
16- M
17- Cm
18- Mm
19- inHg
20- mHg
21- Mh2O
22- ℃
压力单位
0x03 4 1 2 0-####
1-###.#
2-##.##
3-#.###
4-#.####
小数点分别代表 0-4 位小数
点,小数点位置可以调整显
示的分辨率。
0X03 5 1 2 0-30 滤波系数
0x03 6 1 2 0-电流显示
1-压力显示
2-百分比显示
主屏显示模式
0x03 7 1 2 0-不显示
1-显示温度
付屏显示模式
0x03 8 1 2 0-线性输出
1-开方输出
电流输出模式
整形数据用户需要的列举完毕
浮点数读取范围
功 能 码
(16进制)
偏移地址
(10 进制)
字
数
字 节
数
数据范围 备注
0x03 20-21 2 4 0-20.000 理论电流输出
0x03 22-23 2 4 -19999-99999 压力输出(主变量输出)
0x03 24-25 2 4 -19999-99999 主变量偏移值
0x03 26-27 2 4 -19999-99999 变送量程低点
0x03 28-29 2 4 -19999-99999 变送量程高点
0x03 30-31 2 4 -19999-99999 传感器量程低点
0x03 32-33 2 4 -19999-99999 传感器量程高点
0x03 42-43 2 4 0-1.00000 主变量增益系数
0X03 181-182 2 4 -40-120℃ 内部温度传感器
以上是浮点数读取数据的范围
0x06 功能码写数据
0x06 0 1 2 1-255 改写从机地址
0x06 1 1 2 0-1200
1-2400
2-4800
3-9600
4-19200
5-38400
6-57600
7-115200
修改波特率
0x06 2 1 2 0- 无校验
1- ODD
2- EVEN
修改通信校验方式
0x06 24-25 2 4 -19999-99999 零位偏移值.压力输出值=
校准测量值+零位偏移值
保存
0x06 65535 1 2 0- 保 存 到 用
户区
浮点数的传输请参考 MODBUS-RTU 协议中关于多字节浮点数传输的规定。
读取压力命令举例:(hex)
Tx:01 03 00 16 00 02 25 CF
01 从机地址,03 功能码,00 16 偏移地址,00 02 读取的字数。
Rx:01 03 04 BE 40 E6 12 15 A2
01 从机地址,03 功能码,04 字节数,BE 40 E6 12 为 IEE754
的浮点数。
注意区分协议中的数据进制,比如偏移地址 22(10 进制),16 进制表示为16,注意区分此区别。