1、概述
通信协议详细地描述了DT-THBXD的输入和输出命令、信息和数据,以便第三方使用和开发。
1.1通信协议的作用
使信息和数据在上位机(主站)和DT-THBXD之间有效地传递, 允许访问DT-THBXD的所有测量数据。
DT-THBXD温湿度传感器通信协议(1.0)采用MODBUS RTU协议,本协议规定了应用系统中主机与DT-THBXD温湿度传感器之间,在应用层的通信协议,它在应用系统中所处的位置如下图所示:
主机
RS485 |
从机: 温湿度传感器
1.2 物理接口:
连接上位机的主通信口,采用标准串行RS485通讯口,使用接线端子。
信息传输方式为异步方式,起始位1位,数据位8位,停止位1位,无校验。
数据传输缺省速率为9600b/s
2、MODBU RTU通信协议详述
2.1 协议基本规则
以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1)所有回路通信应遵照主/从方式。在这种方式下,信息和数据在单个主站和从站(监控设备)之间传递。
2)主站将初始化和控制所有在通信回路上传递的信息。
3)无论如何都不能从一个从站开始通信。
4)所有环路上的通信都以“打包”方式发生。一个包裹就是一个简单的字符串(每个字符串8位),一个包裹中*多可含255个字节。组成这个包裹的字节构成标准异步串行数据,并按8位数据位,1位停止位,无校验位的方式传递。串行数据流由类似于RS232C中使用的设备产生。
5)所有回路上的传送均分为两种打包方式:
A) 主/从传送
B) 从/主传送
6)若主站或任何从站接收到含有未知命令的包裹,则该包裹将被忽略,且接收站不予响应。
2.2数据帧结构描述
每个数据帧组成如下:
RTU模式
地址
功能代码
数据数量
数据1
...
数据n
CRC 16位校验
功能代码
数据数量
数据1
...
数据n
CRC 16位校验
3、传输格式
(1)命令报文格式
读数据:
地址
|
功能码
|
数据起始地址高位
|
数据起始地址低位
|
数据个数高位
|
数据个数低位
|
CRC
16位校验
|
|
04
|
|
|
|
|
低位在前
|
返回:
地址
|
功能码
|
字节长度
|
数据1输入
|
数据2输入
|
…
|
CRC16位校验
|
|
04
|
|
高位在前
|
|
|
低位在前
|
(2)、异常应答返回
非法功能:
从站地址
|
功能码
|
异常码
|
CRC16校验
|
|
80H+原功能码
|
01
|
|
非法数据地址:
从站地址
|
功能码
|
异常码
|
CRC16校验
|
|
80H+原功能码
|
02
|
|
非法数据值:
从站地址
|
功能码
|
异常码
|
CRC16校验
|
|
80H+原功能码
|
03
|
|
帧格式(10位)
起始位
|
D0
|
D1
|
D2
|
D3
|
D4
|
D5
|
D6
|
D7
|
停止位
|
4、DT-THBXD温湿度传感器内部报文信息
功能代码
|
数据起始地址
|
数据个数
|
内容说明
|
04H
|
0000H
|
1
|
温度值
|
0001H
|
1
|
湿度值
|
注意:每一个数据用两个字节整数表示,高位在前,低位在后
如: 带符号整数 范围 -32768---32767
上传数据需除十,如湿度上传16进制 &H0311,对应十进制00785,表示78.5%
上传数据需除十,如温度上传16进制 &H00FF,对应十进制00255,表示25.5℃
上传数据需除十,如温度上传16进制 &H8064,高位为1,表示负数,对应的数高位取反,表示-10.0℃
5、 网络采样定时
DT-THBXD温湿度传感器中,上位机读取数据每次间隔时间不小于500ms,推荐值1s。
6、命令举例:
DT-THBXD温湿度传感器的地址为1,读所有数据为:
下发命令:
01 04 0000 0002 71CB (读从数据起始地址为0000H开始的2个模拟量)
DT-THBXD温湿度传感器返回命令如下:
01 04 04,温度H,温度L,湿度H,湿度L,CRCL,CRCH。
只读温度数据时:
上位机发送: 01 04 0000 0001 600A(读从数据起始地址为0000H开始的1个模拟量)
下位机返回: 01 04 02,温度H,温度L,CRCL,CRCH。
只读湿度数据时:
上位机发送: 01 04 0001 0001 31CA(读从数据起始地址为0001H开始的1个模拟量)
下位机返回: 01 04 02,湿度H,湿度L,CRCL,CRCH。
地址为2时:
上位机发送: 02 04 0000 0002 71F8(读从数据起始地址为0000H开始的2个模拟量)
下位机返回: 02 04 04,温度H,温度L,湿度H,湿度L,CRCL,CRCH。