DT-THBXD温湿度变送器(MODBUS)通讯协议

分享到:
点击量: 208335 来源: 杭州数测科技有限公司

DT-THBXD温湿度变送器(MODBUS)通讯协议(1.0)
1、概述
通信协议详细地描述了DT-THBXD的输入和输出命令、信息和数据,以便第三方使用和开发。
1.1通信协议的作用
    使信息和数据在上位机(主站)和DT-THBXD之间有效地传递, 允许访问DT-THBXD的所有测量数据。
    DT-THBXD温湿度传感器可以实时采集现场温湿度的值,具备一个RS485通讯口,能满足小型温湿度监控系统的要求。其功能和技术指标参见用户手册。    
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位校验
 
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
停止位
    
 
4DT-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。