TH-01温湿度传感器(MODBUS)通讯协议(1
机房动力环境监控技术方案

信息中心机房动环监控系统技术方案深圳市龙控计算机技术有限公司目录一、需求分析 (3)1.1、设计依据及规范 (3)1.2、设计原则 (4)二、系统设计 (5)2.1、体系架构 (5)2.2、系统部署架构 (8)2.3、各子系统的功能特点 (8)2.3.1、配电柜监控 (9)2.3.2、UPS监测 (10)2.3.3、精密空调监控 (11)2.3.4、温湿度监测 (12)2.3.5、漏水检测 (13)2.3.6、视频监控 (14)2.4、平台管理功能 (15)2.4.1、门户管理 (15)2.4.2、报警管理 (16)2.4.3、权限管理功能 (19)2.4.4、日志管理 (20)2.4.5、报表管理功能 (20)2.4.6、查询功能 (21)2.4.7、远程管理 (22)2.5、系统优势 (22)2.5.1、嵌入式优势 (22)2.5.2、系统平台优势 (23)三、主要设备技术参数 (25)3.1、嵌入式服务器LONWEB (25)3.2、温湿度传感器TH-001 (27)3.3、通讯转换模块LON7520 (28)3.4、开关量采集模块LON7053 (28)一、需求分析动力及环境监控系统主要监测设备包括:配电系统、UPS系统、精密空调系统、机房温湿度、漏水检测系统、消防监控系统、门禁管理系统、视频监控系统、防盗报警系统,并集成到同一系统平台。
为了满足以上初步设计及相关需求,在机房中安装一套动环监控系统,实时监测到各智能设备或子系统的运行参数和状态。
一旦检测到报警信息,监控系统可及时自动报警,具有短信报警和远程报警功能,报警方式灵活可选。
并要求实现无人值守及符合国家保密部门的安全要求。
1.1、设计依据及规范本设计满足下列标准及规范(包括并不限于以下标准及规范,如各标准及规范对相同内容有不同规定时,遵循更严格的标准。
如有更新版本,按照新版本执行)。
⏹《电子信息系统机房设计规范》(GB50174-2008)⏹《计算机场地安全要求》(GB/T 9361-1988)⏹《计算站场地技术要求》(GB2887-2000)⏹《安全防范工程程序与要求》(GA/T75-94)⏹《电子信息系统机房施工及验收规范》(GB50462-2008)⏹《民用建筑电气设计规范》(JGJ 16--2008)⏹《电气装置安装工程接地装置施工及验收规范》(GB 50169-2006)⏹《工业企业通信接地设计规范》(GBJ79-85)⏹《建筑数据中心工程设计标准》(DB32/181-1998)⏹《供配电系统设计规范》GB50052-2009⏹《低压配电设计规范》GB50054-2011⏹《通风与空调工程施工质量验收规范》(GB 50243-2002)1.2、设计原则对本项目的动力及环境监控系统的设计,我们严格按照机房建设有关技术防范的规定建设实施,采用高标准的监控系统设计原则,达到“国内领先、国际先进”的总体建设目标。
康耐德 C2000-S1-TH05E02-D01 温湿度传感器 使用说明书

2020年7月14日 更新C2000-S1-TH05E02-D01 使用说明书RS485 型-10~50℃ / 5~95% RH传感器 — 温湿度传感器深圳市中联创新自控系统有限公司Shenzhen United Innovation Automatic Control System Co., Ltd.245578910101212121214141719192323252829目录目录1. 概述2. 硬件说明2.1. 技术参数2.2. 产品外观2.3. 指示灯2.4. 端口说明2.5. 尺寸2.6. 安装方式3. 设置说明3.1. 屏幕标识3.2. 开关按键说明3.3. 接线说明4. 软件使用4.1. 创建设备4.2. 设备状态监控5. 通信协议5.1. 寄存器列表5.2. 协议应用范例5.2.1. 读温度值(0x03)5.2.2. 读湿度值(0x03)6. 装箱清单7. 产品服务【版权声明】©2000 - 2020 中联创新版权所有【商标声明】及其它中联创新服务相关的商标均为深圳市中联创新自控系统有限公司及其关联公司所有。
本文档涉及的第三方主体的商标,依法由权利人所有。
【免责声明】本文档仅提供有关康耐德产品的信息。
本文档并未授予任何知识产权的许可,包括未以明示或暗示、以禁止发言或其他方式授予任何知识产权许可。
除深圳市中联创新自控系统有限公司在其产品的销售条款和条件中声明的责任之外,深圳市中联创新自控系统有限公司不承担任何其他责任;并且深圳市中联创新自控系统有限公司对康耐德产品的销售或使用不作任何明示或暗示的担保,包括对产品特定用途适用性、适销性、对任何专利权、版权或其他知识产权的侵权责任等,均不作担保。
深圳市中联创新自控系统有限公司可能随时对产品规格及产品描述做出修改,恕不另行通知。
【联系方式】深圳市中联创新自控系统有限公司地 址:深圳市福田区彩田路中银大厦 A 座 16 楼官 网: 1. 概述C2000-S1-TH05E02-D01为1路温度、1路湿度采集,采用标准的Modbus RTU通讯协议,可以通过RS485总线进行远程温湿度数据采集传输。
ModBus 通讯协议

1、数据帧基本形式:
设备地址
功能码
数据
效验码
8-Bits
8-Bits
N * 8-Bits
16-Bits
2、设备地址:为保护装置的通讯地址ID号。
3、功能码列表:
功能码
含义
注释
03H
读遥测量
读采样值
02H要遥信
05H遥控
04H SOE数据
06H设置通播校时
4、效验码:
5、上下位机的通讯帧:
上来
01 02 02 00 01 78 78 /*因为只要了0X0A个,所以上来两字节就够了0X0001里面包含了16个遥信了*/
解释:
为要遥信量,要了0xA=10个遥信量,但是实际上遥信量一个装置最多就64个,一个字节就能包含8个遥信量。F80D为CRC校验,不用管,程序里不检测。01为保护装置的通讯地址;
·上位机要求数据格式举例
设备地址
功能码
数据起始地址(HI)
数据起始地址(LO)
数据字节数(HI)
数据字节数(LO)
CRC16(LO)
CRC16(HI)
00H
01H
00H
00H
00H
01H
FCH
1BH
·下位机回应数据格式举例
设备地址
功能码
字节数
数据
CRC16
CRC16
00H
01H
01H
02H
D4H
89H
字节计数
数据
校验和CRC
01H
03H
08H
00 00 01 30 0000 f964
97H B9H
00 00 01 30为有功电度数据(除以100为真实值)
温湿度传感器 通讯协议

MODBUS-RTU通讯协议简介1.1 Modbus协议简述ACRXXXE系列仪表使用的是Modbus-RTU通讯协议,MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。
MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。
首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。
Modbus协议只允许在主机(PC,PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
1.2 查询—回应周期1.2.1 查询查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
例如功能代码03是要求从设备读保持寄存器并返回它们的内容。
数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
1.2.2 回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。
数据段包括了从设备收集的数据:如寄存器值或状态。
如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。
错误检测域允许主设备确认消息内容是否可用。
1.3 传输方式传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与Modbus 协议– RTU方式相兼容的传输方式。
每个字节的位:· 1个起始位· 8个数据位,最小的有效位先发送·无奇偶校验位· 1个停止位错误检测(Error checking):CRC(循环冗余校验)1.4 协议当数据帧到达终端设备时,它通过一个简单的“端口”进入被寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。
Modbus标准通讯协议格式【最新】

Modbus通讯协议下表是Modbus的功能格式:1、读可读写数字量寄存器(线圈状态):计算机发送命令:[设备地址] [命令号01] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][01][00][13][00][25][CRC低][CRC高]意义如下:<1>设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。
例子中为想和17号(十进制的17是十六进制的11)通讯。
<2>命令号01:读取数字量的命令号固定为01。
<3>起始地址高8位、低8位:表示想读取的开关量的起始地址(起始地址为0)。
比如例子中的起始地址为19。
<4>寄存器数高8位、低8位:表示从起始地址开始读多少个开关量。
例子中为37个开关量。
<5>CRC校验:是从开头一直校验到此之前。
在此协议的最后再作介绍。
此处需要注意,CRC校验在命令中的高低字节的顺序和其他的相反。
设备响应:[设备地址] [命令号01] [返回的字节个数][数据1][数据2]...[数据n][CRC 校验的低8位] [CRC校验的高8位]例:[11][01][05][CD][6B][B2][0E][1B][CRC低][CRC高]意义如下:<1>设备地址和命令号和上面的相同。
<2>返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值。
<3>数据1...n:由于每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。
比如例子中,表示20号(索引号为19)开关闭合,21号断开,22闭合,23闭合,24断开,25断开,26闭合,27闭合...如果询问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。
温湿度Modbus通讯详述

Modbus通讯详述1、通讯基本参数编码8位二进制数据位8位奇偶校验位无停止位1位错误校检CRC(冗余循环码)波特率2400bit/s、4800bit/s、9600 bit/s可设,出厂默认为4800bit/s数据帧格式定义:采用Modbus RTU 通讯规约,格式如下:初始结构≥4 字节的时间地址码= 1 字节功能码= 1 字节数据区= N 字节错误校检= 16 位CRC 码结束结构≥4 字节的时间地址码:地址码变送器地址,通讯网络中地址码是唯一的。
注:出厂默认地址均为0x01功能码:主机所发指令功能指示,本变送器只用到功能码0x03。
代码含义操作03 读取数据读取当前寄存器内一个或多个二进制值数据区:数据区是具体通讯数据,注意16bits数据高字节在前!CRC码:二字节的校验码。
主机问询帧结构:地址码功能码寄存器起始地址寄存器长度CRC校验码低位CRC校验码高位1字节1字节2字节2字节1字节1字节从机应答帧结构:地址码功能码有效字节数数据一区第二数据区第N数据区校验码1字节1字节N*2字节2字节2字节2字节2字节2、寄存器地址寄存器地址内容操作0000 实时湿度只读0001 实时温度只读0002 保留只读3、通讯协议示例以及解释举例1:读取设备地址0x43的温湿度值问询帧:地址码功能码起始地址数据长度校验码低位校验码高位0x43 0x03 0x00 0x00 0x00 0x02 0xCB 0x29应答帧:(例如读到温度为-10.1℃,湿度为65.8%RH)地址码功能码返回有效字节数湿度值温度值校验码低位校验码高位0x43 0x03 0x04 0x02 0x92 0x80 0x65 0x99 0x89温度计算:当温度低于0 ℃时温度数据的最高位置1,否则为0。
-10.1 ℃表示为 1 000 0000 0110 0101温度:0000 0000 0110 0101 = 0065H(十六进制)=6×16 +5 = 101=> 温度=-10.1℃湿度计算:湿度:0000 0010 1001 0010 = 0292H (十六进制)= 2×256 + 9×16 + 2 = 658=> 湿度= 65.8%RH举例2:读取设备地址0x43的温度值问询帧地址码功能码起始地址数据长度校验码低位校验码高位0x43 0x03 0x00 0x01 0x00 0x01 0xDA 0xE8应答帧:(例如读到温度为26.9℃)地址码功能码返回有效字节数温度值校验码低位校验码高位0x43 0x03 0x02 0x01 0x0d 0x00 0x1E温度:0000 0001 0000 1101 = 10DH(十六进制) =1×256 + 0×16 + 13 = 269=> 温度= 26.9℃。
SHT-标准MODBUS协议-湿度

MODBUS RTU 通讯协议波特率9600 数据格式:8位校验位无停止位1位数据默认1位小数,例如10表示1.01.读测量值(温度、湿度、开关状态)命令:主机读数据格式:开始从机地址命令寄存器地址寄存器个数CRC校验>5ms延迟1字节0x03 高字节低字节0x00 22 高字节低字节0x00 03高字节低字节0xXXXX从机返回数据格式:开始从机地址命令字节数数据CRC校验>5ms延迟1字节0x03 6 温度高位温度低位湿度高位湿度低位状态高位状态低位高字节低字节0xXXXX注意:状态:0x80 00 表示温度为负,0x00 00 表示温度为正例如:命令:01 03 00 22 00 00 e5 c0返回:01 03 06 01 21 02 E3 80 00 0d 2d2.读继电器设定值(温度上限、温度下限、湿度上限、湿度下限、温度回滞、湿度)命令:主机读数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验>5ms延迟1字节(0x01) 0x03 高字节低字节0x00 0x33高字节低字节0x00 0x00高字节低字节从机返回数据格式:开始从机地址命令字节数数据CRC校验>5ms延迟1字节(0x01) 0x03 10 温度上限高位温度上限低位温度下限高位温度下限低位湿度上限高位湿度上限低位湿度下限高位湿度下限低位温度回滞湿度回滞高字节低字节例如:命令:01 03 00 33 00 00 b5 c5返回:01 03 0A 01 05 00 A1 02 56 01 C3 0A 32 C5 B2 3.读补偿状态及温湿度补偿数值:主机读数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验>5ms延迟1字节(0x01) 0x03 高字节低字节0x00 0x44高字节低字节0x00 0x00高字节低字节从机返回数据格式:开始从机地址命令字节数数据CRC校验>5ms延迟1字节(0x01) 0x03 5 补偿状态温度补偿高字节温度补偿低字节湿度补偿高字节湿度补偿低字节高字节低字节例如:命令:01 03 00 44 00 00 05 df返回:01 03 05 00 00 04 00 08 F2 95注意:补偿状态=0x00 表示关补偿=0x11表示开补偿补偿高字节=0x00表示正补偿=0x11表示负补偿3.写继电器设定值命令:主机写数据格式:开始从机地址命令寄存器起始地址寄存器个数写入字节数数据CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 0x33高字节低字节0x00 0x0010字节温度上限高位温度上限低位温度下限高位温度下限低位湿度上限高位湿度上限低位湿度下限高位湿度下限低位温度回滞湿度回滞高字节低字节从机返回数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 0x33高字节低字节0x00 0x00高字节低字节例如:命令:01 10 00 33 00 00 0a 01 93 00 cd 03 20 01 96 05 05 68 4f 返回:01 10 00 33 00 00 30 063.写温度补偿设定值命令:主机写数据格式:开始从机地址命令寄存器起始地址寄存器个数写入字节数数据CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 044高字节低字节0x00 0x005字节补偿状态温度补偿高字节温度补偿低字节湿度补偿高字节湿度补偿低字节高字节低字节从机返回数据格式:开始从机地址命令寄存器起始地址寄存器个数CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 0x44高字节低字节0x00 0x00高字节低字节例如:命令:01 10 00 44 00 00 05 11 00 05 11 03 6e 04 返回:01 10 00 44 00 00 80 1C4.写IP地址:主机写数据格式:01 10 00 55 00 00 01 02 1c 5b开始从机地址命令寄存器起始地址寄存器个数写入字节数数据CRC校验10 ms 1字节(0x01)0x10 高字节低字节0x00 055高字节低字节0x00 0x00字节数0x010x02(IP地址)0x1c(高字节)0x5b 低字节从机返回数据格式:02 10 00 55 00 00 D0 2A开始从机地址命令寄存器起始地址寄存器个数CRC校验10 ms 0x02 0x10 高字节低字节0x00 0x55高字节低字节0x00 0x00高字节低字节0x2b 0x9cIP改后测试:读新地址数据:命令:02 03 00 22 00 00 e5 f3返回:02 03 05 00 D1 01 5D 00 A2 EB附件:读数命令(1-10):01 03 00 22 00 00 e5 c002 03 00 22 00 00 e5 f303 03 00 22 00 00 e4 2204 03 00 22 00 00 e5 9505 03 00 22 00 00 e4 4406 03 00 22 00 00 e4 7707 03 00 22 00 00 e5 a608 03 00 22 00 00 e5 5909 03 00 22 00 00 e4 880a 03 00 22 00 00 e4 bb0b 03 00 22 00 00 e5 6a0c 03 00 22 00 00 e4 dd0d 03 00 22 00 00 e5 0c0e 03 00 22 00 00 e5 3f0f 03 00 22 00 00 e4 ee改IP命令(1-10)01 10 00 55 00 00 01 02 1c 5b01 10 00 55 00 00 01 03 dd 9b01 10 00 55 00 00 01 04 9c 5901 10 00 55 00 00 01 05 5d 9901 10 00 55 00 00 01 06 1d 9801 10 00 55 00 00 01 07 dc 5801 10 00 55 00 00 01 08 9c 5c01 10 00 55 00 00 01 09 5d 9c01 10 00 55 00 00 01 0a 1d 9d01 10 00 55 00 00 01 0b dc 5d01 10 00 55 00 00 01 0c 9d 9f01 10 00 55 00 00 01 0d 5c 5f01 10 00 55 00 00 01 0e 1c 5e01 10 00 55 00 00 01 0f dd 9eCRC校验:unsigned char code auchCRCHi[] = {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40};unsigned char code auchCRCLo[]={0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06,0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3,0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4,0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29,0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60,0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67,0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71,0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92,0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B,0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,0x43, 0x83, 0x41, 0x81, 0x80, 0x40};unsigned int calcrc16(unsigned char *puchMsgg,unsigned int usDataLen){unsigned char uchCRCHi = 0xFF ; /* 高CRC字节初始化*/unsigned char uchCRCLo = 0xFF ; /* 低CRC 字节初始化*/unsigned int uIndex ; /* CRC循环中的索引*/while (usDataLen--) /* 传输消息缓冲区*/{uIndex = uchCRCHi ^ *puchMsgg++ ; /* 计算CRC */uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ;uchCRCLo = auchCRCLo[uIndex] ;}return (uchCRCHi << 8 | uchCRCLo) ;}CRC例子:(写命令返回数据)uart1_send_buf[0]=00x01;//slaveaddr;uart1_send_buf[1]=0x10;uart1_send_buf[2]=register_start_addr/256; //寄存器起始地址uart1_send_buf[3]=register_start_addr%256;uart1_send_buf[4]=register_count/256; //寄存器个数uart1_send_buf[5]=register_count%256;crc=calcrc16(uart1_send_buf, 6 );uart1_send_buf[6]=crc/256;uart1_send_buf[7]=crc%256;----------------------------------------------------------------------------------------------------------------------。
温湿度传感器(MODBUS)通讯协议

温湿度传感器(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/s2、MODBU RTU通信协议详述2.1 协议基本规则以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1)所有回路通信应遵照主/从方式。
在这种方式下,信息和数据在单个主站和从站(监控设备)之间传递。
2)主站将初始化和控制所有在通信回路上传递的信息。
3)无论如何都不能从一个从站开始通信。
4)所有环路上的通信都以“打包”方式发生。
一个包裹就是一个简单的字符串(每个字符串8位),一个包裹中最多可含255个字节。
组成这个包裹的字节构成标准异步串行数据,并按8位数据位,1位停止位,无校验位的方式传递。
串行数据流由类似于RS232C 中使用的设备产生。
5)所有回路上的传送均分为两种打包方式:A) 主/从传送B) 从/主传送6)若主站或任何从站接收到含有未知命令的包裹,则该包裹将被忽略,且接收站不予响应。
2.2数据帧结构描述每个数据帧组成如下:RTU模式地址功能代码数据数量数据1...数据nCRC 16位校验3、按键功能第一个按键:长按5秒进入设置设备地址模式,长按5秒退出设置设备地址模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 数据帧结构描述
每个数据帧组成如下:
RTU 模式
地址 功能代码 数据数量 数据 1 ... 数据 n CRC 16 位校验
3、传输格式 (1)命令报文格式
读数据:
地址
功能码
04
数据起始地址 高位
数据起始地址 低位
数据个数高 位
数据个数低 位
CRC 16 位校验 低位在前
ቤተ መጻሕፍቲ ባይዱ
返回: 地址
功能码 04
异常码 03
CRC16 校验
起始位 D0
D1
D2
D3
D4
D5
D6
D7 停止位
4、TH-01 温湿度传感器内部报文信息 功能代码 数据起始地址 数据个数
0000H
1
04H
0001H
1
温度值 湿度值
内容说明
注意:每一个数据用两个字节整数表示,高位在前,低位在后 如: 带符号整数 范围 -32768---32767
5、 网络采样定时 TH-01 温湿度传感器中,上位机读取数据每次间隔时间不小于 500ms,推荐值 1s。
6、命令举例: TH-01 温湿度传感器的地址为 1,读所有数据为: 下发命令:
01 04 0000 0002 71CB (读从数据起始地址为 0000H 开始的 2 个模拟量) TH-01 温湿度传感器返回命令如下:
TH-01 温湿度传感器通信协议(VER1.0)采用 MODBUS RTU 协议,本协议规定了应用系 统中主机与 TH-01 温湿度传感器之间,在应用层的通信协议,它在应用系统中所处的位置如 下图所示:
本协议所处的位置 从机:
主机
RS485
温湿度传感器
1.2 物理接口: 连接上位机的主通信口,采用标准串行 RS485 通讯口,使用接线端子。 信息传输方式为异步方式,起始位 1 位,数据位 8 位,停止位 1 位,无校验。 数据传输缺省速率为 9600b/s
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、MODBU RTU 通信协议详述
2.1 协议基本规则 以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1)所有回路通信应遵照主/从方式。在这种方式下,信息和数据在单个主站和从站(监控设 备)之间传递。
2)主站将初始化和控制所有在通信回路上传递的信息。 3)无论如何都不能从一个从站开始通信。 4)所有环路上的通信都以“打包”方式发生。一个包裹就是一个简单的字符串(每个字符
TH-01 温湿度传感器(MODBUS)通讯协议( V E R 1 . 0 )
1、概述
通信协议详细地描述了 TH-01 的输入和输出命令、信息和数据,以便第三方使用和开发。 1.1 通信协议的作用
使信息和数据在上位机(主站)和 TH-01 之间有效地传递, 允许访问 TH-01 的所有测 量数据。
TH-01 温湿度传感器可以实时采集现场温湿度的值,具备一个 RS485 通讯口,能满足小 型温湿度监控系统的要求。其功能和技术指标参见用户手册。
上传数据需除十,如湿度上传 16 进制 &H0311,对应十进制 00785,表示 78.5% 上传数据需除十,如温度上传 16 进制 &H00FF,对应十进制 00255,表示 25.5℃ 上传数据需除十,如温度上传 16 进制 &H8064,高位为 1,表示负数,对应的数高位取 反,表示-10.0℃
地址为 2 时: 上位机发送: 02 04 0000 0002 71F8(读从数据起始地址为 0000H 开始的 2 个模拟量) 下位机返回: 02 04 04,温度 H,温度 L,湿度 H,湿度 L,CRCL,CRCH。
串 8 位),一个包裹中最多可含 255 个字节。组成这个包裹的字节构成标准异步串行数据, 并按 8 位数据位,1 位停止位,无校验位的方式传递。串行数据流由类似于 RS232C 中使 用的设备产生。 5)所有回路上的传送均分为两种打包方式: A) 主/从传送 B) 从/主传送 6)若主站或任何从站接收到含有未知命令的包裹,则该包裹将被忽略,且接收站不予响应。
字节长度 数据 1 输入 高位在前
数据 2 输入
„ CRC16 位校验 低位在前
(2)、异常应答返回 非法功能:
从站地址
功能码 80H+原功能码
非法数据地址:
从站地址
功能码 80H+原功能码
非法数据值:
从站地址
功能码
80H+原功能码
帧格式(10 位)
异常码 01
CRC16 校验
异常码 02
CRC16 校验