当前位置:文档之家› GPRS数据采集模块通讯协议

GPRS数据采集模块通讯协议

编制:昆仑海岸技术部
6
(Hex) (Hex) (Hex)
(Hex)
(Hex)
1 Byte 1 Byte 2 Bytes 2 Bytes
2 Bytes
Response Header Slave Address Function code Byte count Input Registers Error Check Trailer
00
名称
地址
功能码
起始寄存器地址
意义
01
写 单 个 继 从地址 0x0000 写入
电器
5
6
00
00
停止继电器数据命令
停止继电器数据命令
7
8
CD
CA
Crc 校验
Crc 校验
5
五、CRC 校验函数算法代码:
unsigned int getcrc_chek_m(unsigned char *data_point,unsigned int data_length,unsigned int origin_data) { unsigned int crc_register,temp_data,i,j; crc_register=origin_data; for(i=0;i<data_length;i++) { crc_register^=*data_point; for(j=0;j<8;j++) { temp_data=crc_register&0x0001; crc_register>>=1; if(temp_data){crc_register^=0xa001;} } data_point++; } return(crc_register); }
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B0 CE
返回数据解析:
第 字节 1
2
3
4
5
6
7
8
9
内容
01
04
44
00
00
00
00~ff
(Hex) 1 Byte
Error code
84
(Hex) 1 Byte
Exception code
01 or 02 or 03 or 04 (Hex)
1 Byte
Error Check
0000~ffff
(Hex) 2 Bytes
Trailer
None
2.Write Single Coil Request
None 00~ff 04 2 x N*
(Hex) (Hex) (Hex)
0000~ffff None
(Hex)
1 Byte 1 Byte 1 Byte N* x 2 Bytes 2 Bytes
*N = Quantity of Input Registers
Error
Header
None
Slave Address
低 8 位为第 3 路数值量采集值小数点位数(unsigned char,无符号位)
高 8 位为第 3 路数值量采集值报警状态(unsigned char,无符号位)
注: 该字节第 0 位表示第 3 路数值超下下限值;该字节第 1 位表示第 3 路数值超下限值;
该字节第 2 位表示第 3 路数值超上限值;该字节第 3 位表示第 3 路数值超上上限值;
0x0000H 16 路 Discretes Input 信息(二进制的各位值与对应通道状态对应,第一通道从最低位开始)
0x0001H 16 路 Coils 信息(二进制的各位值与对应通道状态对应,第一通道从最低位开始)
0x0002H 第 1 路数值量采集值 (int, 有符号位)
0x0003H 第 1 路数值量通道信息(unsigned int, 无符号位)
Request
Header
None
Slave Address
00~ff
Function code Starting Address
04 0000~ffff
Quantity of Input 0001~ 007d
Registers Error Check(CRC)
0000~ffff
Trailer
None
注: 该字节第 0 位表示第 2 路数值超下下限值;该字节第 1 位表示第 2 路数值超下限值;
该字节第 2 位表示第 2 路数值超上限值;该字节第 3 位表示第 2 路数值超上上限值;
该字节第 4~7 位等于 0
0x0006H 第 3 路数值量采集值(int, 有符号位)
0x0007H 第 3 路数值量通道信息(unsigned int, 无符号位)
None 00~ff 05 0000~ffff 0000 or ff00 0000~ffff None
(Hex) (Hex) (Hex) (Hex)
(Hex)
1 Byte 1 Byte 2 Bytes 2 Bytes 2 Bytes
None
00~ff
(Hex)
85
(Hex)
01 or 02 or 03 or 04 (Hex)
00
04
AB
名称

功能码 数 据 字 4 路开关量状态,低字节 1 路继电器状态, 第 1 路模拟量值

节数
的前 4 位有效,其二进制 低字节的前 1 位有
数分别为 1~4 路开关量 效,其二进制数为
状态
1 路继电器状态
意义
01
04
44
无报警
无继电器动作
1195
3
第 字节 内容 名称
意义
10
11
12
Header Slave Address Function code Output Address Output Value Error Check(CRC) Trailer
None 00~ff 05 0000~ffff 0000 or ff00 0000~ffff None
(Hex) (Hex) (Hex)
0000~ffff
(Hex)
None
1 Byte 1 Byte 1 Byte 2 Bytes
四、基本命令和数据解析:
1.全通道查询命令
01 04 00 00 00 22 70 13
查询命令解析:
第 字节 1
2
3
4
5
6
7
8
内容
01
04
00
00
00
22
70
13
名称
地址
功能码
起始寄存器地址
寄存器数量
Crc 校验
(Hex) (Hex)
1 Byte 1 Byte 2 Bytes 2 Bytes 2 Bytes
2
Response Header Slave Address Function Output Address Output Value Error Check Trailer
Error Header Slave Address Function Error Type Error Check Trailer
该字节第 4~7 位等于 0
0x0004H 第 2 路数值量采集值(int, 有符号位)
0x0005H 第 2 路数值量通道信息(unsigned int, 无符号位)
低 8 位为第 2 路数值量采集值小数点位数(unsigned char,无符号位)
高 8 位为第 2 路数值量采集值报警状态(unsigned char,无符号位)
KL-W7000 GPRS 数据采集模块通讯协议 (YH V1.00)
一、概述:
KL-W7000 系列 GPRS 数据采集模块通讯协议符合标准的 MODBUS RTU 协议,CRC 校验。
二、输入寄存器地址分配:
输入寄存器 Input Registers:(字寻址)[ 0x0000H~0x0021H ]
低 8 位为第 1 路数值量采集值小数点位数(unsigned char,无符号位)
高 8 位为第 1 路数值量采集值报警状态(unsigned char,无符号位)
注: 该字节第 0 位表示第 1 路数值超下下限值;该字节第 1 位表示第 1 路数值超下限值;
该字节第 2 位表示第 1 路数值超上限值;该字节第 3 位表示第 1 路数值超上上限值;
(第 0 位表示超 位数
下下限;第 1
位表示超下限
值;第 2 位表示
超上限值;第 3
位表示超上上
限值)
无报警 ;0 位小数位
0
30
31
32
33
00
00
00
00
报警状态标志(第 0 小 数 点 位 第 七 路 模 拟
位表示超下下限; 数
量值
第 1 位表示超下限
值;第 2 位表示超
上限值;第 3 位表
示超上上限值)
注:(高八位)该字节第 0 位表示第 N 路数值超下下限值;该字节第 1 位表示第 N 路数值 超下限值;
该字节第 2 位表示第 N 路数值超上限值;该字节第 3 位表示第 N 路数值超上上限值;
该字节第 4~7 位等于 0
1<=N<=16
1
三、通讯命令:
1.Read Input Registers
量值
第 1 位表示超下限
值;第 2 位表示超
上限值;第 3 位表
示超上上限值)
无报警; 2 位小数位
0
第 字节 内容 名称
意义
18
19
20
21
00
02
00
00
报 警 状 态 标 志 小 数 点 第四路模拟量值
(第 0 位表示超 位数
下下限;第 1
位表示超下限
值;第 2 位表示
超上限值;第 3
位表示超上上
13
00
02
00
00
报 警 状 态 标 志 小 数 点 第二路模拟量值
(第 0 位表示超 位数
下下限;第 1
位表示超下限
值;第 2 位表示
超上限值;第 3
位表示超上上
限值)
无报警 ;2 位小数位
0
14
15
16
17
00
02
00
00
报警状态标志(第 0 小 数 点 位 第 三 路 模 拟
位表示超下下限; 数
2
3
4
内容
01
05
00
00
名称
地址
功能码
起始寄存器地址
意义
01
写 单 个 继 从地址 0x0000 写入
电器
5
6
FF
00
启动继电器数据命令
启动继电器数据命令
7
8
8C
3A
Crc 校验
Crc 校验
停止继电器命令: 01 05 00 00 00 00 CD CA 命令解析:
第 字节 1
2
3
4
内容
01
05
00
无报警; 0 位小数位
0
4
第 字节 内容 名称
意义
34
35
36
37
38
39
40~71
00
00
00
00
00
00
00
报 警 状 态 标 志 小 数 点 第八路模拟量 报 警 状 态 标 小 数 点 预留
(第 0 位表示超 位数

志(第 0 位表 位数
下下限;第 1
示超下下限;
位表示超下限
第 1 位表示超
该字节第 4~7 位等于 0
2N
第 N 路数值量采集值(int, 有符号位)
2N+1
第 N 路数值量通道信息(unsigned int, 无符号位)
低 8 位为第 N 路数值量采集值小数点位数(unsigned char,无符号位)
高 8 位为第 N 路数值量采集值报警状态(unsigned char,无符号位)
值;第 2 位表示
下限值;第 2
超上限值;第 3
位表示超上
位表示超上上
限值;第 3 位
限值)
表示超上上
限值)
Biblioteka Baidu
无报警 ;0 位小数位
0
无报警; 0 位小数位

72
73
B0
CE
Crc 校验
Crc 校验
2.启停继电器命令
启动继电器命令: 01 05 00 00 FF 00 8C 3A
命令解析:
第 字节 1
意义
01
读 输 入 寄 从地址 0x0000 的输入 读取 0x0022 个数量的输入寄存 Crc 校验
存器
寄存器读取
器(34 个 int 型数据)
返回数据:
01 04 44 00 00 00 00 04 AB 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00
限值)
无报警 ;2 位小数位
0
22
23
24
25
00
02
00
00
报警状态标志(第 0 小 数 点 位 第 五 路 模 拟
位表示超下下限; 数
量值
第 1 位表示超下限
值;第 2 位表示超
上限值;第 3 位表
示超上上限值)
无报警; 2 位小数位
0
第 字节 内容 名称
意义
26
27
28
29
00
00
00
00
报 警 状 态 标 志 小 数 点 第六路模拟量值
相关主题