联系我们

北京恒奥德科技有限公司 
电  话:010-51666919

       010-51666869

传  真:010-69807135
手  机:15810842463

       13120411557

      18701256112

      联系人:李红慧
邮 箱:
hadkj51666919@163.com 
Q  Q  :2820129828

        1575574360

        1321298635

        1445496132
地  址:北京市北洼路90

        号院16号楼317

 (北京市地质工程勘察院院内)

        

当前位置:首页 > 新闻动态
新闻动态
中标喜讯!我公司在浙江环境监测站中标数台气象站!
自动气象站通讯协议
 
V20110831
 
一、协议特性
 
1、支持 XPH 通讯、标准 MODBUS 通讯两种格式。
 
2、支持 RS-232、RS-485 通讯总线。
 
3、支持 19200 波特率,特殊版本可达 38400.
 
4、支持最大设备数 254 个。
 
5、数据帧最小间隔 100ms 以上。
 
6、使用 CRC16 数据帧错误检查,多项式码 0xA001。
 
二、协议说明
 
恒奥德站支持两种格式的通讯协议工作,任一时刻只能使用一种通讯协
 
议进行通讯。下面分别对两种通讯协议进行详细说明。
 
1、XPH 通讯协议

 
通讯参数:波特率 9600

数据位 8 位

无校验位

 
XPH 通讯协议是效仿标准 MODBUS 通讯的一个自定义版本,其并不兼容 MODBUS
 
通讯协议。其特点是召唤式工作,气象站仅作为服务器,使用上位机客户端进行
 
通讯。气象站收到正确数据帧后,就回复相应的内容,无效数据帧则不回复任何
 
内容。不回复是便于多台气象站进行 485 总线组网,避免数据通讯冲突。
 

1)XPH 通用帧格式

序号
内容
字节数
说明
备注
1
地址域
1
气象站通讯地址
唯一
2
读写域
1
读(0x03)/写(0x10)操作码
2选1
3
命令域
2
命令码,前 1 字节必须为 0
00 xx
4
数据长度域
2
数据域长度,不包括本域
发送时可无
5
数据域
N
数据
 
6
校验域
2
CRC16 检验码
低前高后
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
 
 
2)XPH 协议通讯码
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3)XPH 通讯协议详细说明
 
对于每条通讯命令码,进行收发过程的详细描述,假定气象站的地址为 0x01。
 
返回的通道数据都以有符号 16 进制数表示,如通道 1 的数据(包括实时数和历
 
史数据)为 0x12 0x34,表示为十进制数即 4660(0x1234)。即数据字节的高位在
 
前,低位在后,此顺序不能错,否则数据值将错误。
 
另外,对不不同的传感器类型,某些通道数据值需要表示 N 位小数,此时,
 
该通道 16 位有符号数扩大 10 的 N 次方倍。如通道 1 表示风速,带一位小数,其
 
数据为 0x00 0x7B(十进制 123),则实际风速为 12.3m/s,即读取的数据扩大了
 
10 倍,其他小数以此类推。传感器精度参数详见说明书。
 
红色字:命令码
 
绿色字:CRC16 校验码(低字节在前,高字节在后)
 
蓝色字:数据(高字节在前,低字节在后,0x7FFF 表示无效数据)
 

紫色字:数据长度(高字节在前,低字节在后)

序号
命令码
含义
类型
备注
1
0x00
实时环境参数数据
通用类型
仅读
2
0x20
系统参数配置
通用类型
读写
3
0x37
读历史数据
通用类型
仅读
4
0x38
历史数据重读
通用类型
仅读
5
0x61
配置登录 GPRS 服务器密码
需支持
读写
6
0x80
复位气象站
通用类型
仅写
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
A、读取实时环境参数数据
 
客户端发送:
 
01 03 00 00 F1 D8
 
气象站返回:(38 字节)
 
01 03 00 20 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F
 
FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 69 3F
 
返回数据格式说明:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

16 通道对应的配置出厂时定义,根据需要而定。

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

序号
含义
偏移
字节数
说明
备注
1
地址域
0
1
地址(0x01)
0x01
2
操作码
1
1
仅读(0x03)
0x03
3
数据长度域
2
2
0x00 0x20
高前低后
4
数据域
4
2
通道 1
0x7FFF(无效/未接)
6
2
通道 2
0x7FFF(无效/未接)
8
2
通道 3
0x7FFF(无效/未接)
10
2
通道 4
0x7FFF(无效/未接)
12
2
通道 5
0x7FFF(无效/未接)
14
2
通道 6
0x7FFF(无效/未接)
16
2
通道 7
0x7FFF(无效/未接)
18
2
通道 8
0x7FFF(无效/未接)
20
2
通道 9
0x7FFF(无效/未接)
22
2
通道 10
0x7FFF(无效/未接)
24
2
通道 11
0x7FFF(无效/未接)
26
2
通道 12
0x7FFF(无效/未接)
28
2
通道 13
0x7FFF(无效/未接)
30
2
通道 14
0x7FFF(无效/未接)
32
2
通道 15
0x7FFF(无效/未接)
34
2
通道 16
0x7FFF(无效/未接)
5
校验域
36
2
低前高后
0x69 0x3F
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
B、读取系统参数配置
 
客户端发送:(6 个字节)
 
01 03 00 20 F0 00
 
气象站返回:(14 字节)
 
01 03 00 08 0B 08 1F 0B 00 0A 01 01 98 E0
 
返回数据说明:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
存储间隔:即历史数据保存的间隔,单位为:分钟
 
设备地址:设置范围 0-254,
 
0 为广播地址,一般不要随便使用,主要用于组网或多播;
 
1-254 为正常设备地址,同一总线上必须保证唯一;
 

若无返回数据,则说明读取不成功。

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

4数据域

序号
含义
偏移
字节数
说明
备注
1
地址域
0
1
地址(0x01)
0x01
2
操作码
1
1
读(0x03)
0x03
3
数据长度域
2
2
0x00 0x08
高前低后
4
数据域
3
1
0B(2011 年)
4
1
08(8 月)
5
1
1F (31 日)
6
1
0B(12 点/24 小时制)
7
1
00(00 分钟)
8
1
存储间隔
10(分钟)
9
1
语言类型 0/1
1-英语/0-中文
10
1
设备地址
01(0x01-0xFE)
5
校验域
11
2
低前高后
0x98 0xE0
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
C、写入系统参数配置
 
客户端发送:(17 字节)
 
01 10 00 20 00 04 08 0B 08 1F 0B 00 10 00 00 59 DD
 
气象站返回:(8 个字节)
 
01 10 00 20 00 04 C0 00
 
发送数据说明:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
寄存器数量:该域无意义,保留该域为了向前兼容,请尽量使用说明的数值;
 
数据域最后一个字节,目前为设备地址设置,之前的通讯版本选择为保留,故在
 
20110831 之后都要小心设置。最好是先读取系统参数,然后使用读取的设备地
 
址填充该字节。
 

若无返回数据,则说明写入不成功,否则写入成功。

6数据域

6数据域

6数据域

6数据域

6数据域

6数据域

6数据域

序号
含义
偏移
字节数
说明
备注
1
地址域
0
1
地址(0x01)
0x01
2
操作码
1
1
写(0x10)
0x10
3
命令码
2
2
0x00 0x20
高前低后
4
寄存器数量
4
2
0x00 0x04
高前低后
5
数据长度
6
1
0x08
8 个数据字节
6
数据域
7
1
0B
0B(2011 年)
8
1
08
08(8 月)
9
1
1F
1F (31 日)
10
1
0B
0B(12 点/24 小时制)
11
1
00
00(00 分钟)
12
1
10
存储间隔 16(分钟)
13
1
00
1-英语/0-中文
14
1
00
保留/地址
5
校验域
15
2
低前高后
0x59 0xDD
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
D、读取历史数据
 
客户端发送:(6 个字节)
 
01 03 00 37 B0 0E
 
气象站返回:(1044 个字节)
 
01 03 04 0E 00 1C D0~DN CRC16
 
返回数据说明:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
数据长度域:为“有效数据帧数”和“数据域”两个域字节总和。
 
数据域:固定大小为 1036 个字节,每帧 37 字节,故最大有效帧 1036/37=28 帧。
 
有效数据帧数:由于历史数据包是等长的,该域指示数据域中包含的有效帧数,
 
有效帧从数据域的 0 位置开始,顺序往后排列。最大有效帧为 28 帧。
 

历史数据帧说明:(37 字节)

16 通

道数
据值

16 通

道数
据值

16 通

道数
据值

16 通

道数
据值

序号
偏移
字节数
说明
1
0
1
年(2000 年以后的偏移)
2
1
1
3
2
1
4
3
1
时(24 小时制)
5
4
1
分钟
16 通
道数
据值
5
2
通道 1
7
2
通道 2
9
2
通道 3
11
2
通道 4
13
2
通道 5
 
序号
含义
偏移
字节数
说明
备注
1
地址域
0
1
地址(0x01)
0x01
2
操作码
1
1
读(0x03)
0x03
3
数据长度
2
2
0x04 0x0E
高前低后
4
有效数据帧数
4
2
0x00 0x1C
高前低后
5
数据域
6
1036
历史数据包
分成 N 帧
6
校验域
1042
2
低前高后
CRC16 低前高后
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
E、重读历史数据
 
客户端发送:
 
01 03 00 38 F0 0A
 
气象站返回:
 
返回数据与“[D]读取历史数据”返回数据格式相同。
 
说明:
 
由于远程数据读取时,且历史数据包比较大,可能会发生数据错误。就可能
 
造成读取的历史数据在传输过程中出错,从而导致某些上位机接口程序误判读取
 
历史数据错误。而气象站一旦读取了历史数据后不能重读的话,就会造成某包历
 
史数据丢失的现象。重读历史数据命令用于重复读取上一次读取的历史数据,从
 

而解决错误丢失历史问题。

 
15
2
通道 6
17
2
通道 7
19
2
通道 8
21
2
通道 9
23
2
通道 10
25
2
通道 11
27
2
通道 12
29
2
通道 13
31
2
通道 14
33
2
通道 15
35
2
通道 16
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
F、读取登录密码(该命令需额外支持,默认不支持)
 
客户端发送:(8 个字节)
 
01 03 00 61 00 04 15 d7
 
气象站返回:(12 个字节)
 
01 03 00 61 00 04 YY YY YY YY CRC16
 
返回数据说明:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
数据域:4 位 ASCII 码表示的密码,每位的范围 0-9,即 0x30-0x39。数据域 0-3
 
字节对应界面输入的左-右顺序。
 
 
 
G、写入登录密码(该命令需额外支持,默认不支持)
 
客户端发送:(12 字节)
 
01 10 00 61 00 04 YY YY YY YY CRC16
 
气象站返回:(8 个字节)
 
01 10 00 61 00 04 CRC16
 
写入数据说明:
 
数据域:4 位 ASCII 码表示的密码,每位的范围 0-9,即 0x30-0x39。数据域 0-3
 

字节对应界面输入的左-右顺序。

序号
含义
偏移
字节数
说明
备注
1
地址域
0
1
地址(0x01)
0x01
2
操作码
1
1
读(0x03)
0x03
3
命令码
2
2
0x00 0x61
高前低后
4
数据长度域
4
2
0x00 0x04
高前低后
5
数据域
6
4
4 位密码数据
从左到右
6
校验域
10
2
低前高后
CRC16 低前高后
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
H、复位气象站
 
客户端发送:(4 字节)
 
01 80 01 80
 
气象站返回:
 
无返回

 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
2、标准 MODBUS 通讯协议

 
通讯参数:波特率 9600

数据位 8 位

无校验位

 
气象站标准 MODBUS 通讯协议使用 RTU 模式。消息帧发送至少要以 3.5 个字
 
符时间的停顿间隔开始,即在传输完每帧的最后一个字节,至少需要 3.5 个字
 
符时间的停顿来标定消息帧的结束。下一个新的消息帧可在此停顿后开始,整个
 
消息帧必须作为一连续的流传输。
 
气象站标准 MODBUS 通讯协议仅支持读功能,不支持配置气象站寄存器的功
 
能,即不能写入任何数据。其特点有:
 
①气象站共有 16 个通道寄存器,对应 16 个通道的传感器测量输出值;
 
②寄存器最小编号固定于 0,最大编号固定于 15,不可更改;
 
③支持一次读取单个、多个(寄存器编号必须连续)寄存器;
 
④每一通道数据占 2 个字节,高字节在前,低字节在后,16 位有符号整形值;
 
⑤数据小数位定义,同 XPH 协议的小数定义,即 N 位小数,数据值扩大 10
 
的 N 次方倍。

 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
气象站标准 MODBUS 通讯协议帧
 
外部设备发送帧:
 
如 01 03 00 00 00 10 44 06
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
设备地址:假定为 0x01,有效范围 0-254,0 为广播地址。
 
操 作 码:固定为 0x03,即读取操作,不支持其他操作。
 
起始编号:范围 0-15,表示要读取的第一个寄存器编号。
 
结束编号:范围 1-16,表示读取最后一个寄存器编号+1,读取的数据不包括本
 
编号的寄存器内容,仅作为结束标记,其值必须保证大于等于“起始
 
编号”。
 
 
 
气象站返回数据帧:
 
如 01 03 20 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF
 
7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 8C 45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
数据长度:不含本身,仅表示数据域的字节数量。最大 32,最小 0。
 
根据读取指令序列的“起始编号”和“结束编号”来确定。
 

数据长度 = (结束编号 – 起始编号)*2

序号
含义
偏移
字节数
说明
1
设备地址
0
1
设备唯一标识
2
操作码(读)
1
1
固定值 0x03
3
数据长度
2
1
不含本字节
4
数据域
3
N
最多 32 个字节
5
CRC16 检验
3+N
2
低前高后
 
序号
含义
偏移
字节数
说明
1
设备地址
0
1
设备唯一标识
2
操作码(读)
1
1
固定值 0x03
3
寄存器起始编号
2
2
读取的第一个寄存器编号
4
寄存器结束编号
4
2
读取的最后个寄存器编号-1
5
CRC16 检验
6
2
低前高后
 


 
 
 
 
北京恒奥德科技有限公司自动气象站通信协议
 
 
三、附录
 
1、CRC16 校验码的计算
 
(1).预置 1 个 16 位的寄存器为十六进制 FFFF(即全为 1);称此寄存器为 CRC 寄存器;
 
(2).把第一个 8 位二进制数据(既通讯信息帧的第一个字节)与 16 位的 CRC 寄存器的低
 
8 位相异或,把结果放于 CRC 寄存器;
 
(3).把 CRC 寄存器的内容右移一位(朝低位)用 0 填补最高位,并检查右移后的移出位;
 
(4).如果移出位为 0:重复第 3 步(再次右移一位);
 
如果移出位为 1:CRC 寄存器与多项式 A001(1010 0000 0000 0001)进行异或;
 
(5).重复步骤 3 和 4,直到右移 8 次,这样整个 8 位数据全部进行了处理;
 
(6).重复步骤 2 到步骤 5,进行通讯信息帧下一个字节的处理;
 
(7).将该通讯信息帧所有字节按上述步骤计算完成后,得到的 16 位 CRC 寄存器的高、低
 
字节进行交换;
 
(8).最后得到的 CRC 寄存器内容即为 CRC16 码。(注意得到的 CRC 码即为低前高后顺序)
 
 
 
2、通道数据转换
 
例如温度十六进制编码为“00 C3”,换算成二进制为“0000000 11000011”,其二进制
 
的第一位为“0”,所以它的值为正数,此时则可以用 1 中的的方法换算出十进制值“195”,
 
最后将它除以 10 后得到最终结果“19.5”。
 
又例如温度十六进制编码为“FF 3D”, 换算成二进制为“11111111 00111101” ,其
 
二进制的第一位为“1”,所以它的值为负数。
 
其具体换算步骤如下:
 
(1)将其二进制的的第一位替换为“0” 得到:“01111111 00111101”
 
(2)后 15 位取反后得到:“00000000 11000010”
 
(3)加上“1”后得到:“00000000 11000011”
 
(4)按照 1 中的正数表示方法得到十进制值“195”
 
(5)因为是负值所以为“-195”
 
(6)结果除以 10,最终结果为“-19.5”
 
所以:00 C3 → 19.5℃
 
FF 3D → -19.5℃

北京恒奥德科技有限公司 
电  话:010-51666919

       010-51666869

传  真:010-69807135
手  机:15810842463

       13120411557

      18701256112

      联系人:李红慧
邮 箱:
hadkj51666919@163.com 
Q  Q  :2820129828

        1575574360

        1321298635

        1445496132
地  址:北京市北洼路90

        号院16号楼317

 (北京市地质工程勘察院院内)

        

友情链接