温湿度传感器(MODBUS)通讯协议
1、概述
通信协议详细地描述了KTR-TH11的输入和输出命令、信息和数据,以便第三方使用和
开发。
1.1通信协议的作用
使信息和数据在上位机(主站)和KTR-TH11之间有效地传递, 允许访问KTR-TH11的
所有测量数据。
KTR-TH11温湿度传感器可以实时采集现场温湿度的值,具备一个RS485通讯口,能满足
小型温湿度监控系统的要求。其功能和技术指标参见用户手册。
KTR-TH11温湿度传感器通信协议采用MODBUS RTU协议,本协议规定了应用系统中主
机与KTR-TH11温湿度传感器之间,在应用层的通信协议,它在应用系统中所处的位置如下
图所示:
主机
本协议所处的位置
从机: 温湿度传感器
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)若主站或任何从站接收到含有未知命令的包裹,则该包裹将被忽略,且接收站不予响应。
RS485
2.2数据帧结构描述
每个数据帧组成如下:
RTU模式
地址
功能代码
数据数量
数据1
...
数据n
CRC 16位校验
3、按键功能
第一个按键:长按5秒进入设置设备地址模式,长按5秒退出设置设备地址模式。
第二个按键:向上循环翻动功能。
第三个按键:增加设定值。
(1)设置设备地址模式 (在此模式中不再更新温湿度和接收发送数据)
正常上电等待屏幕显示Waiting…后,长按下第一个按键5秒进入设置设备地址模式,
显示SET ADDR:XXX。按第二个按键切换设备地址的百十个位,按第三个按键增加设备地址。
(设备地址范围:001~255)。在设置设备模式中,长安第一个按键就是确定设备地址并自动
保存,显示SET SUCCEED。如果在设置设备地址模式中长达5秒没有按键被按下,那么设备
就会自动退出设置设备地址模式并自动重启设备,显示SET ERROR 。
4、传输格式
(1)命令报文格式
读数据:
地址 功能码
数据起始地址高位 数据起始地址低位 数据个数高位 数据个数低位 CRC
16位校验
03或04
低位在前
返回:
地址 功能码 字节长度 数据1输入 数据2输入 … CRC16位校验
03或04
高位在前 低位在前
写数据:
地址 功能码
数据起始地址高位 数据起始地址低位 数据个数高位 数据个数低位 CRC
16位校验
03或04
低位在前
(2)、异常应答返回
异常码01:无效的功能码
从站地址 功能码 异常码 CRC16校验
80H+原功能码 01
异常码02:无效的起始地址
从站地址 功能码 异常码 CRC16校验
80H+原功能码 02
异常码03:无效的数据个数
从站地址 功能码 异常码 CRC16校验
80H+原功能码 03
帧格式(10位)
起始位 D0 D1 D2 D3 D4 D5 D6 D7 停止位
写单个数据:
地址 功能码 寄存器地址高位 寄存器地址低位 数据高位 数据低位
CRC
16位校验
06
低位在前
写多个数据:
地址 功能码 起始地址高位 起始地址低位 寄存器数据高位 寄存器数据低位 字节数 寄存器值高位 寄存器值低位 CRC 16位校
验
10
低位在
前
5、KTR-TH11温湿度传感器内部报文信息
功能代码 数据起始地址 数据个数 内容说明
03H
0000H 1
地址
0001H 1 温度报警值
0002H 1 湿度报警值
0003H 2 报警时间间隔
04H
0000H 2
湿度值
0001H 2
温度值
注意:每一个数据用两个字节整数表示,高位在前,低位在后
如: 带符号整数 范围 -32768---32767
上传数据需除十,如湿度上传16进制 &H0311,对应十进制00785,表示78.5%
上传数据需除十,如温度上传16进制 &H00FF,对应十进制00255,表示25.5℃
上传数据需除十,如温度上传16进制 &H8064,高位为1,表示负数,对应的数高位取
反,表示-10.0℃
6、 网络采样定时
KTR-TH11温湿度传感器中,上位机读取数据每次间隔时间不小于2s,推荐值3s。
7、命令举例:
THR-TH11温湿度传感器的地址为1:
(1)读所有数据为:
下发命令:
01 04 0000 0002 71CB (读从数据起始地址为0000H开始的2个模拟量)
KTR-TH11温湿度传感器返回命令如下:
01 04 04,湿度H,湿度L,温度H,温度L,CRCL,CRCH。
(2)只读温度数据时:
上位机发送: 01 04 00 00 00 01 31 CA(读从数据起始地址为0000H开始的1个模拟
量)
下位机返回: 01 04 02,湿度H,湿度L,CRCL,CRCH。
(3)只读湿度数据时:
上位机发送: 01 04 00 01 00 01 60 0A(读从数据起始地址为0001H开始的1个模拟
量)
下位机返回: 01 04 02,温度H,温度L,CRCL,CRCH。
(4)读设备的寄存器:
上位机发送: 01 03 00 00 00 04 44 09。
下位机返回: 01 03 08 00 01 00 50 00 50 01 AE C5 26
(5)写单个设备寄存器,如温度报警值:
上位机发送:01 06 00 01 00 23 99 D3。
下位机返回:01 06 00 01 00 23 99 D3。
(6)写多个设备寄存器:
上位机发送:01 10 00 00 00 04 08 00 01 00 23 00 23 00 1E 12 BF
下位机返回:01 10 00 00 00 04 C1 CA
地址为2时:
上位机发送: 02 04 00 00 00 02 71 F8(读从数据起始地址为0000H开始的2个模拟
量)
下位机返回: 02 04 04,温度H,温度L,湿度H,湿度L,CRCL,CRCH。
8、接口说明:
L1 L2 L3 L4 L5 L6
L1、L2 电源输入端,L1—地,L6—VCC(9V~36V)
L3、L4 预留
L5、L6 RS485通信,L5—485+,L6—485-