温湿度传感器(MODBUS)通讯协议.
以太网型温湿度 传感器使用说明书
以太网型温湿度传感器使用说明书THVer1.0第1章产品简介1.1产品概述以太网型温湿度传感器是使用以太网进行温湿度传输的传感器,实时测量温湿度,并使用网线进行传输。
设备支持主动上传与TCP Modbus两种形式。
本系列产品充分利用现成的以太网网络实现不限距离的数据采集与传输与集中控制。
1.2功能特点本产品采用瑞士进口高灵敏度数字探头,信号稳定,精度高。
具有测量范围宽、线形度好、防水性能好、使用方便、便于安装、传输距离远等特点。
本产品广泛用于机房监控系统、安防工程、医疗卫生监控、能耗监控系统、智能家居等系统。
1.3主要参数POE供电48V标准POE供电(选配)传输接口RJ4510M/100M自适应1.4温湿度参数(-S20型)1.5探头参数与选型-S30型SHT30±0.3℃±2-4.5% -S31型SHT31±0.3℃±2%-S75型SHT75±0.3℃±1.5-3% 1.6温度参数(-S20型)表一不同温度下温度测量精度如上表所示,在5-60摄氏度范围内最大偏差在±0.5内,小于0℃和大于60摄氏度情况下偏差递增。
1.7湿度参数(-S20型)表二不同湿度下湿度测量精度如上表所示,在20-80%RH范围内典型偏差±3%,小于20%和大于80%的湿度情况下情况下偏差递增。
1.8温度对湿度测量的影响(-S20型)上文表二描述了不同湿度情况对湿度测量的影响,下表描述了不同的温度对湿度测量精度的影响。
表三不同温度下的相对湿度如上所示,在15℃到55℃,30到80的湿度范围内,湿度的精度最高,是±4.5%,其余情况湿度递增。
1.9系统框架图第2章硬件连接2.1设备安装前检查安装设备前请检查设备清单:2.2产品接口样式说明电源圆口DC头12-24V直流供电网口RJ45接口连接10/100M网线如上图所示为普通供电版本设备,分为一个DC口供电口和一个防水RJ45网线口。
一体式温湿度变送器RS485232接口,Modbus协议,集成进口SHT10温湿度传感器
⼀体式温湿度变送器RS485232接⼝,Modbus协议,集成进⼝SHT10温湿度传感器电话:130****9358,0411-********邮件:**************QQ: 617165508产品内置的瑞⼠进⼝SENSIRION传感器有三种精度可供选择,分别是SHT10,SHT11,SHT15:内置SHT10--(±0.5 ℃,±4.5%)内置SHT11--(±0.4 ℃,±3%)内置SHT15--(±0.3 ℃,±2%)设置软件,以及采集软产品提供详细的说明书,设置软件,以及采集软####》产品提供详细的说明书,同时提供了Modbus通讯协议,件,可供⽤户直接使⽤。
件,可供⽤户直接使⽤。
同时提供了寄存器地址,以及C#,VC++,VB等演⽰程序源代码,⽅便需要⼆次开发的客户迅速上⼿。
####》产品赠送免费的采集软件,采集软件具有采集温湿度,露点,数据保存,查询,报表,曲线等功能--》启动、停⽌数据采集,设置通讯串⼝,设置通讯失败重试次数,显⽰实时数据,显⽰当前采集状态。
--》在线模块校准可校准实际的温湿度数值与期望的温湿度之间的差异。
--》报警信息:在发⽣温湿度上限或者下限报警时对话框弹出,并播放报警⾳。
报警⾳在确认报警后结束,或者在报警恢复之后将⾃动结束。
--》可定义报警发⽣时,是否播放报警⾳--》⾃定义通信配置,可选择串⼝号,波特率,以及校验位。
设置需要与模块相同--》增加、修改、删除采集点的信息,并设置温湿度报警的上下限。
--》历史数据查询分析,可选择所有数据或者选择单独的从机地址,设置查询时间,设置排序规则--》可查询历史曲线,图像放⼤,平移,重置等,可保存为BMP格式的图形以下为说明书⽚段,详细资料请联系我们!1产品的功能特点瑞⼠SENSIRION?⾼精度温湿度传感器,提供14Bits温度测量以及12Bits湿度测量。
HB温湿度传感器变送器系列标准modbus通讯协议使用说明书(北京盛世宏博科技有限公司)
HB—RS485型温湿度变送器系列使用说明书标准modbus通讯协议使用说明书(北京盛世宏博科技有限公司)一、温湿度传感器:采用高精度进口传感器,性能稳定可靠,抗干扰能力强。
二技术参数三接线图四通信协议说明我们的温湿度变送器采用MODBUS规约,原因是该规约文本容易得到,协议本身也非常的简单。
而且该规约是一个开放的,有着许多国内厂商和国际厂商的支持。
MODBUS规约是MODICOM公司开发的,版权归其所有。
我们的接口采用RS485接口,比RS232具有更高的通信速率和更远的通信距离。
根据我们设备的情况,我们仅仅实现了MODBUS的一个小型子集,没有完全实现其所有内容,已经能够满足我们所有的需要。
4.1通信协议介绍通讯默认9600波特率,1个起始位,8个数据位,无校验位,1位停止位。
本机采用部分的MODBUS协议,使用了03和06两个命令。
可读取内部的2个寄存器变量(命令03),可写入(设置)7个寄存器变量(命令06)。
有如下寄存器地址:40001地址是温度数据,小数点后1位,271(十进制数)表示27.1度,无符号整型数40002地址是湿度数据,小数点后1位,534(十进制数)表示53.450001是温度下限地址,十进制数0,表示0度50002是温度上限地址,十进制数100,表示100度50003是湿度下限地址,十进制数1,表示1%RH50004是湿度上限地址,十进制数100,表示100%RH50005是设备通讯地址,十进制数3,表示3地址,范围1-25550006是温度系数地址,小数点后1位,50007是湿度系数地址,小数点后1位,下面说下温度和湿度系数设置方法,点击软件的06命令,会弹出一个对话框,在输入值里面输入12表示实际温度加1.2度或1.2湿度,如果输入-13表示减去相应的值,这里面保留小数点后1位的,如输入126,单片机实际解析为12.6度,湿度系数跟此相同4.2读取命令帧格式为(假设本机地址为1,数据均为16进制):例子:01 03 9C 41 00 02 BA 4F解释:01:从机地址03:读寄存器命令9C 41:第一个寄存器地址00 02:读取寄存器个数BA 4F:CRC校验码4.3写入命令帧格式(假设本机地址为1,数据均为16进制):例子:01 06 C3 55 00 03 E5 9F01:从机地址06:写寄存器命令C3 55:寄存器地址(例子寄存器地址是)00 03:写入该寄存器的值E5 9F:CRC校验码4.4用MODBUS调试助手读取温湿度数据介绍首先打开调试软件,然后点击Connect选项,弹出如图界面安装图片设置完点击OK按钮,然后Display菜单并按照图片勾选,然后点击Setup菜单选择Poll Definition项弹出如图对话框,该对话框用来软件自动读取40001寄存器开始,长度2个寄存器的数据,就是温湿度数据。
基于Modbus协议的温湿度传感器的设计
基于Modbus协议的温湿度传感器的设计【摘要】本文介绍了一种使用工业现场总线协议——Modbus协议进行数据传输的温湿度传感器节点。
主要是传感器节点的硬件电路的设计,包含数据采集和处理电路等;软件设计,包含温湿度数据的采集和Modbus通信协议。
最后对设计的传感器节点进行了射频性能和传感器精度的测试验证。
【关键词】Modbus协议;温湿度传感器;无线传感器0 引言无论是在工业现场还是日常生活中,我们都需要对环境的温湿度参数进行监测。
传感器节点作为温湿度监测的终端,直接接触被测环境,是整个监测系统的重要组成部分。
精度高、成本低、使用时限长、安装方便是我们在设计中需要考虑的因素[1]。
本文综合以上各个因素设计了一款使用Modbus通信协议和433MHz无线频段的无线温湿度传感器节点。
考虑到传感器节点成本和精度的因素,使用瑞士Sensirionn公司生产的SHT10传感器,它可以同时测量温度和湿度,且有较高的测量精度和简洁的外围电路。
为了便于安装,使用433MHz无线频段作为传感器节点的通信媒介,有较远的通信距离和穿墙能力,避免了有线通信电缆安装的不便。
1 总体结构温湿度传感器节点的总体结构如图1所示,主要包含传感器数据采集、电源供电、主控芯片数据处理、无线通信数据收发几个部分。
传感器数据采集负责采集环境温湿度的值,电源供电则是为传感器数据采集、主控和无线通信芯片提供3.3V电压电源,主控芯片主要是对采集到的数据进行数据分析和处理以得到实际的温度和湿度的值,无线通信部分实现的是433MHz的通信频段。
图1 温湿度传感器节点的总体结构2 硬件设计无线温湿度传感器节点的硬件设计包含电源供电,数据采集,数据处理,数据收发几个部分。
电源供电部分主要是把3.7V电池电压转换为3.3V,作为各个部分的供电电源,以及5V电源给电池充电两个部分,使用Maxim公司的MAX8881作为3.7V转3.3V的降压芯片,MAX1555作为5VDC电源给电池充电的芯片;数据采集主要是对环境温湿度参数的采集,使用Sensirionn公司生产的SHT10传感器;数据处理主要是对采集到的数据进行计算求值等,使用ST 公司的STM32F103芯片;无线数据通信则是为传感器节点提供一个数据通信的通道,使用TI公司的CC1101芯片。
SHT10空气温湿度MODbus协议(单指令)
SHT10温湿度传感器的通信协议命令包含:1.读取站号命令2.写站号命令3.读取数据4.手动矫正数据串口参数设置:读站号命令(固定命令)主站从站地址功能码H地址L地址 H数据L数据 CRC00 03 00 01 00 01 CRClo CRChi 从站从站地址功能码H地址L地址H数据CRC00 03 02 00 XX CRClo CRChi 注:返回帧与主站相同设备地址:(XX=01-FF)示例:命令00 03 00 01 00 01 D4 1B(固定命令)回复00 03 02 00 FF C5 C4 (设备默认站号FF)写站号命令主站从站地址功能码H地址L地址寄存器个数寄存器个数数据长度数据CRC00 10 00 01 00 01 02 00 XX CRClo CRChi 注:(XX=0X01-0XFF)从站从站地址功能码 H地址L地址寄存器个数CRC00 10 00 01 00 01 CRClo CRChi 示例:命令00 10 00 01 00 01 02 00 33 EA 04回复00 10 00 01 00 01 51 D8读数据主站从站地址功能码 H地址L地址寄存器个数寄存器个数CRCXX 03 00 00 00 02 CRClo CRChi注:(XX=0X01-0XFF)从站从站地址功能码数据长度数据数据CRCXX 03 04 19 AD 1B E4 CRClo CRCh 示例命令FF 03 00 00 00 02 D1 D5回复FF 03 04 19 AD 1B E4 79 FA注:温度:第4,5个字节19 AD温度=读数/100-40度湿度:第5,6个字节1B E4。
温湿度传感器 通讯协议
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协议的概念,以及数据桢的组成,这次我们以一款简单的modbus设备为例,讲讲如何实现上位机与它的通讯,这款温湿度采集仪的通讯端子是RS-485通讯方式,通讯参数为9600,n,8,1,这应该很熟悉的了,仪器很简单,就两个参数,地址0为温度,地址1为湿度。
温湿度采集仪
首先,我们把设备接好,就是背面四根线,两个数据线,两个电源线,然后通过RS-485转RS-232设备,与电脑相连,通过串口,我们发送与接收数据,这个应该没什么好介绍的了。
地址1请求与返回代码
可以看出温度为0x00F3 (243/10 = 24.3),湿度为0x00B9(185/10=18.5),好的,接下来,我们把设备地址改为2,获得结果。
地址为2时的请求与返回数据
温度0x00F6/10 = 24.6,湿度0x01A3/10 = 41.9。
好的,实际就是这么简单,我们就可以从主机上采集到设备的数据了。
基于Modbus协议的温湿度传感器的设计
据 处理 主要 是对 采 集到 的数 据 进行 计 算 求值 等 ,使 用 s T公 司 的 S T M 3 2 F 1 0 3 芯片 : 无线数据通信则是为传感器节点提供一个数据通信 的通道 . 使用 T I 公司的 C C 1 1 0 1 芯片 这 里主要 对数据采集部 分进行 详 细的阐述 。 数据采集部 分使用 S H T 1 0 传感器 .它传感器把 传感元件 和信 号 处理 电路集成在 了一块微型 电路板 中.输出为完全标定 的数字信 号。 传感器 内部包含一个 电容性聚合体测湿敏感元件 , 一个 用能 隙材料制 成的测 温元件 . 1 4位 的 A / D转换器 . 串行接 口电路。由此 . 传感器具有 极高的可靠性 和长期 的稳定性 ,并且响应速度快 、性价 比高等优点 。 S H T 1 0 温湿度传感器 测量温度的范 围在一 4 O ~ + 1 2 3 . 8 。 c , 测量湿度的范 围在 O ~ 1 0 0 %R H: 测量 温度的精度典 型值为± 4 . 5 %R H , 测量湿 度的精
u s e d a s t h e p r o t o c o l o f d a t a t r a n s mi s s i o n .Ma i n l y.t h e h a r d wa r e c i r c u i t a n d s o f t wa r e d e s i g n o f s e n s o r i s g i v e n , i n c l u d e s t h e d a t a a c q u i s i t i o n c i r c u i t a n d t h e d a t a p r o c e s s i n g c i r c u i t ,t h e t e mp e r a t u r e a n d h u mi d i t y d a t a a c q u i s i t i o n, t he Mo d b u s c o mmun i c a t i o n p r o t o c o l , a n d S O o n .Fi n a l l y ,t h e r a d i o f r e q u e n c y p e r f o r ma n c e a n d t h e p r e c i s i o n o f t he s e n s o r a r e t e s t e d .
温湿度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秒退出设置设备地址模式。
温湿度传感器通讯协议
MODBUS-RTU通讯协议简介1.1 Modbus协议简述ACRXXX E系列仪表使用的是M odbus-RTU通讯协议,MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。
MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。
首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。
Modbus协议只允许在主机(PC,PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
1.2 查询—回应周期1.2.1 查询查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
例如功能代码03是要求从设备读保持寄存器并返回它们的内容。
数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
1.2.2 回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。
数据段包括了从设备收集的数据:如寄存器值或状态。
如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。
错误检测域允许主设备确认消息内容是否可用。
1.3 传输方式传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与Modbu s 协议– RTU方式相兼容的传输方式。
每个字节的位:· 1个起始位· 8个数据位,最小的有效位先发送·无奇偶校验位· 1个停止位错误检测(Errorchecki ng):CRC(循环冗余校验)1.4 协议当数据帧到达终端设备时,它通过一个简单的“端口”进入被寻址到的设备,该设备去掉数据帧的“信封”(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的“信封”中,把数据帧返回给发送者。
TH-802P网络型温湿度传感器通讯协议V6.3
内容说明
注意:每一个数据用两个字节整数表示,高位在前,低位在后 如: 带符号整数 范围 -32768---32767
上传数据需除十,如湿度上传 16进制 0x0311,对应十进制 00785,表示 78.5% 上传数据需除十,如温度上传 16进制 0x00FF,对应十进制 00255,表示 25.5℃ 上传数据需除十,如温度上传 16进制 0x8064,最高位为 1,表示负数,对应的数高位取反, 表示-10.0℃
ShenZhen Battery Electronics Co., Ltd.
每个数据帧组成如下:
RTU模式
地址 功能代码 数据数量 数据 1 ... 数据 n CRC16位校验
3、传输格式 (1)命令报文格式
读数据:
地址
功能码
04
数据起始地址 数据起始地址
高位
低位
数据个数 高位
数据个数 低位
CRC 16位校验 低位在前
5、 网络采样定时 TH802P温湿度传感器中,上位机读取数据每次间隔时间不小于 500ms,推荐值 1s。
6、命令举例: TH802P温湿度传感器的地址为 1,读写所有数据为: 下发命令:
01040000000271CB(读从数据起始地址为 0000H开始的 2个模拟量) TH802P温湿度传感器返回命令如下:
2、MODBURTU通信协议详述
2.1协议基本规则 以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1)所有回路通信应遵照主/从方式。在这种方式下,信息和数据在单个主站和从站(监控设备) 之间传递。
2)主站将初始化和控制所有在通信回路上传递的信息。 3)无论如何都不能从一个从站开始通信。 4)所有环路上的通信都以 打包 方式发生。一个包裹就是一个简单的字符串(每个字符串 8
温湿度变送器(MODBUS)通讯协议 -3
温湿度传感器(MODBUS )通讯协议1、 概述 1.1 引言通讯规约详细描述了本机通讯的读、写命令格式及信息和数据的定义,以便第三方开发使用。
1. 2 电气特点及符合标准1) 连接上位机的主通信接口,采用标准串行RS485通讯口,使用接线端子。
2) 信息传输方式为异步方式,字节格式为起始位1位,数据位8位,停止位1位,无校验。
3) 数据传输速率1200b/s, 2400b/s, 4800b/s, 9600b/s, 19200b/s 可选,缺省为9600b/s 。
4) 符合MODUBS RTU 协议标准。
2、MODBUS RTU 通信协议详述2.1 协议基本规则以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1)所有RS485通讯回路都应遵照主/从方式。
依照这种方式,数据可以在一个主站(如:PC)和多个子站(如:HS320 )之间传递。
任何一次通讯都不能从子站开始。
2)主站将初始化和控制在RS485通讯回路上传递的所有信息。
3)所有回路上的传送均分为两种方式:A) 主/从传送 B) 从/主传送4)在RS485回路上的所有通讯都以“信息帧”方式传递。
如果主站或子站接收到含有未知命令的信息帧,则不予以响应“信息帧”就是一个由字节构成的字符串(最多255个字节),是由信息头和发送的编码数据构成标准的异步串行数据,该通讯方式也与RTU 通讯规约相兼容。
2.2信息帧结构描述每个信息帧组成如下:3、 字节格式通讯传输为异步方式,并以字节为单位。
在主站和子站之间传递的每一个字节帧都是10位(无校验位)的串行数据流。
字节帧格式:startenddata起始位停止位数据位4、命令报文格式4. 1读数据:主站发送注意:每一个数据用两个字节整数表示,高位在前,低位在后如:带符号整数范围 -32768---32767上传数据需除十,正数的范围为16进制0X0000-0X7FFF,负数采用正数的补码方式传输,其范围为16进制0X8000-0XFFFF,如:湿度上传16进制 0X0311,对应十进制785,表示78.5%温度上传16进制 0X00FF,对应十进制255,表示25.5℃温度上传16进制 0XFF9B,对应十进制100(0XFFFF-0XFF9B=0X64), 表示-10.0℃6、网络采样定时温湿度传感器中,上位机读取数据每次间隔时间不小于500ms,推荐值1s。
RS485温湿度传感器说明书
RS485温湿度传感器说明书1.使用说明1.1接线说明线色说明电源棕色电源正(10~30V DC)黑色电源负通信黄色485-A 蓝色485-B1.2 参数说明2. 通信协议2.2 数据帧格式定义采用Modbus-RTU 通讯规约,格式如下:初始结构≥4 字节的时间地址码= 1 字节功能码= 1 字节数据区= N 字节错误校验= 16 位CRC 码结束结构≥4 字节的时间地址码:为变送器的地址,在通讯网络中是唯一的(出厂默认0x01)。
功能码:主机所发指令功能指示,本变送器只用到功能码0x03(读取寄存器数据)。
数据区:数据区是具体通讯数据,注意16bits数据高字节在前!CRC码:二字节的校验码。
主机问询帧结构:从机应答帧结构:2.4 通讯协议示例以及解释举例:读取设备地址0x01的温湿度值温度计算:当温度低于0 ℃时温度数据以补码的形式上传。
温度:FF9B H(十六进制)= -101 => 温度= -10.1℃湿度计算:湿度:292 H (十六进制)= 658 => 湿度= 65.8%RH3. 常见问题及解决办法3.1 设备无法连接到PLC或电脑可能的原因:1)电脑有多个COM口,选择的口不正确。
2)设备地址错误,或者存在地址重复的设备(出厂默认全部为1)。
3)波特率,校验方式,数据位,停止位错误。
4)主机轮询间隔和等待应答时间太短,需要都设置在200ms以上。
5)485总线有断开,或者A、B线接反。
6)设备数量过多或布线太长,应就近供电,加485增强器,同时增加120Ω终端电阻。
7)USB转485驱动未安装或者损坏。
8)设备损坏。
V1.0 文档建立。
V1.1 增加各种不同的卡轨壳。
V1.2 增加布线规则以及常见问题的解决办法。
基于MODBUS协议的温湿度检测模块设计_毕业设计
基于MODBUS协议的温湿度检测模块设计目录摘要 (1)关键词 (1)1 前言 (2)1.1 研究目的和意义 (2)1.2.1 国外研究现状 (2)1.2.2 国内研究现状 (3)1.3 主要研究内容 (4)2 Modbus协议介绍 (4)2.1 Modbus协议简介 (4)2.1.1 在Modbus网络上传输 (4)2.1.2 在其它类型网络上传输 (5)2.1.3 查询—回应周期 (5)2.2 Modbus两种传输方式 (5)2.3 Modbus信息帧 (6)2.4 Modbus错误检查方法 (6)2.5 Modbus协议指令 (7)3 RS485通讯介绍 (8)4 系统方案的设计 (8)5 系统模块的硬件设计 (9)5.1 模块的硬件的选择及电路设计 (9)5.1.1 单片机芯片的选择及电路设计 (9)5.1.2 温湿度采集芯片的选择及电路设计 (12)5.1.3 扩展内存RAM的选择及电路设计 (14)5.1.4 EEPROM存储器的选择及电路设计 (15)5.1.5 无线模块芯片的选择及电路设计 (17)5.1.6 显示器的选择及电路设计 (18)5.1.7 按键电路设计 (19)5.1.8 报警电路设计 (19)5.1.9 电源电路设计 (20)5.2 RS485接口的硬件设计 (20)5.2.1 RS485接口芯片的选择 (20)5.2.2 单片机侧RS485接口电路的设计 (21)6 测量模块的软件设计 (22)6.1 软件的总体设计 (22)6.2 初始化的流程图设计 (23)6.3 温湿度数据采集流程图 (23)6.4 modbus协议读保持寄存器的流程图 (24)6.5 报警流程图 (25)7 模块modbus通信实现的设计 (25)8 系统调试与运行 (27)8.1 调试过程 (27)8.2 运行结果 (29)9 结束语 (30)参考文献 (30)致谢 (31)附录 (31)基于MODBUS协议的温湿度检测模块设计摘要:我国自古以来就是农业大国,但现代设施农业生产起步较晚。
网络温湿度变送器通讯协议 说明书
1..符合MODBUS 标准(16进制方式)。
主机查询,变送器应答的主从方式查询温湿度数据地址 03 00 00 00 02 CRCH CRCL例:对地址位为01的变送器读温湿度操作为:010*********C40B应答地址 03 04 温度H 温度L 湿度H 湿度L CRCH CRC L注:CRCH为CRC校验高字节,CRCL为CRC校验低字节。
2. 数据H(高位字节)和数据L(低位字节)为各自对应的当前温湿度值:上传数据需除十,如湿度上传16进制 0311,对应十进制00785,表示78.5%。
零下温度换算,如温度上传16进制 FF8C, 对十制为(0XFFFF-0XFF8C=0X73)115,表示-11.5℃。
3.节格式8位数据位,无校验,1位停止位,波特率1200,2400,4800,9600可以设定。
例:如对地址位01(对应变送器7位拨码开关为0000001)的变送器直接查询,在串口调试程序中进行如上通讯设置后输入:010*********C40B 即可4.和波特率的设定方法(打开产品的外壳,有两组设定参数的拨码开关)4.1波特率:出厂缺省:9600 bit/sOFF(0)Bit2 Bit1 波特率1 1 96000 1 48001 0 24000 0 12004.2地址(缺省:01)…………………………………………….…………………………………………….…………………………………………….1 1 1 1 1 0 0 1241 1 1 1 1 0 1 1251 1 1 1 1 1 0 1261 1 1 1 1 1 1 1275.CRC校验的算法下面是CRC算法的C语言的程序,用户编程可以直接应用或进行相应的移植. //本程序为网络型温湿度校验方式的示范程序,适当更改就可使用;#define CRC_CONSTANT 0xa001unsigned int crc_result=0;void crc_check (unsigned char crc_data) // crc_data is the nummber of check{bit xor_flag=1;unsigned char m;unsigned int crc_num;crc_result^=crc_data;crc_num=crc_result;crc_num&=0x0001;for (m=0;m<8;m++){if (crc_num) xor_flag=1;else xor_flag=0;crc_result>>=1;if (xor_flag) crc_result^=CRC_CONSTANT;crc_num=crc_result;crc_num&=0x0001;}}//应用示例main(){unsigned char i,j,k;unsigned char r_buffer[10];////定义发送数据数组unsigned int int_crc;r_buffer[0]=0x01;//////请求应答的变送器地址r_buffer[1]=0x03;///功能码,固定r_buffer[2]=0x00;///固定r_buffer[3]=0x00;//固定r_buffer[4]=0x00;//固定r_buffer[5]=0x02;//固定r_buffer[6]=0xc4;////crc 高r_buffer[7]=0x0b;////crc 低crc_result=0xffff;for (i=0;i<6;i++){j=r_buffer[i];crc_check (j);}int_crc=crc_result; // 01 03 00 00 00 02 CRC的高位C4,低位OB ;和int_crc高低位相反 int_crc=0;}。
温湿度传感器使用说明书
温湿度传感器使用说明书●产品概述该温湿度大气压传感器可广泛适用于环境检测,集温湿度、大气压力于一体,安装在百叶盒内,设备采用标准MODBUS-RTU通信协议,RS485信号输出。
该变送器广泛适用于需要测量环境温湿度等场合。
●产品特点●10-30V宽直流电压供电●标准MODBUS-RTU通信协议●宽范围气压量程,可应用于各种海拔高度●技术指标供电电压10~30VDC温度±0.5℃(25℃)精度相对湿度±3%RH(5%RH~95%RH,25℃)温度-40℃~80℃测量范围相对湿度0%RH~100%RH温度0.1℃显示分辨率相对湿度0.1%RH温度0.1℃/y长期稳定性相对湿度0.1%RH/y输出信号(0-5)V、(0-10)V、(4-20)mA、RS485(Modbus RTU通讯协议)工作温度-20~60℃储存温度-40~100℃●产品电气接口及连线方法数字RS485输出接线方式线色引线定义电源红色电源正(10~30V DC)黑色电源负通信绿色RS485-A 白色RS485-B模拟输出接线方式线色引线定义电源红色电源正(10~30V DC)黑色电源负通信绿色温度信号输出正白色温度信号输出负蓝色湿度信号输出正黄色湿度信号输出负注:接线方式以产品引线上说明为准●注意事项1打开产品包装后,请检查产品外观是否完好,核定产品使用说明书相关内容与产品是否一致,并妥善保管产品使用说明书一年以上;2严格按产品接线示意图接线,并在产品允许激励电压下工作,切勿过电压使用;3产品切莫敲打,以免损环外观和内部结构;4产品无客户自行维修部件,出现故障时请与我公司联系;5本公司产品正常情况下使用出现故障,保修期为一年(自我公司发货之日起至返回之日止13个月),是否属于正常情况下出现故障,以我公司质检员检测为依据。
超过期限维修,本公司收取成本费,本公司所有产品终身维修;6未尽之处,请查阅我公司网站或来电查询。
dht11温湿度传感器的通信协议
dht11温湿度传感器的通信协议甲方:_______________________地址:_______________________联系人:_______________________联系电话:_______________________乙方:_______________________地址:_______________________联系人:_______________________联系电话:_______________________签订日期:_______________________签订地址:_______________________第一条协议背景与目的a. 甲方为我国某地区气象局,负责本地区气象数据的收集与发布。
b. 乙方为我国某科技公司,专业从事传感器研发与生产。
c. 双方本着平等互利、共同发展的原则,就DHT11温湿度传感器的通信协议达成如下协议。
d. 本协议旨在明确DHT11温湿度传感器的通信协议,确保气象数据的准确性与实时性。
第二条通信协议内容a. 乙方提供DHT11温湿度传感器,甲方负责采购、安装与维护。
b. DHT11温湿度传感器采用串行通信方式,通信接口为1Wire。
c. 通信协议遵循Modbus RTU协议,波特率为9600,8位数据位,1位停止位,无校验位。
d. 通信数据格式如下:1. 设备地址:1个字节,表示传感器地址。
2. 功能码:1个字节,表示功能码,0x03表示读保持寄存器。
3. 起始寄存器地址:2个字节,表示起始寄存器地址。
4. 寄存器数量:2个字节,表示寄存器数量。
5. 校验和:2个字节,表示数据校验和。
e. 通信流程:1. 甲方发送读取请求,包含设备地址、功能码、起始寄存器地址、寄存器数量。
2. 乙方接收到请求后,读取相应寄存器数据。
3. 乙方将数据打包,发送给甲方。
4. 甲方接收数据,进行校验,若校验通过,则解析数据,获取温湿度信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6若主站或任何从站接收到含有未知命令的包裹,则该包裹将被忽略,且接收站不予响应。
2. 2数据帧结构描述
每个数据帧组成如下:
RTU模式
地址
功能代码
数据数量
数据1
...
数据n
CRC 16位校验
3、按键功能
第一个按键:长按5秒进入设置设备地址模式,长按5秒退出设置设备地址模式。
第二个按键:向上循环翻动功能。
第三个按键:增加设定值。
(1设置设备地址模式(在此模式中不再更新温湿度和接收发送数据
正常上电等待屏幕显示Waiting „后,长按下第一个按键5秒进入设置设备地址模式,显示SET ADDR:XXX。按第二个按键切换设备地址的百十个位,按第三个按键增加设备地址。(设备地址范围:001~255。在设置设备模式中,长安第一个按键就是确定设备地址并自动保存,显示SET SUCCEED。如果在设置设备地址模式中长达5秒没有按键被按下,那么设备就会自动退出设置设备地址模式并自动重启设备,显示SET ERROR。
数据传输缺省速率为9600b/s
2、MODBU RTU通信协议详述
2. 1协议基本规则
以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1所有回路通信应遵照主/从方式。在这种方式下,信息和数据在单个主站和从站(监控设备之间传递。
2主站将初始化和控制所有在通信回路上传递的信息。
3无论如何都不能从一个从站开始通信。
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只读湿度数据时:
KTR-TH11温湿度传感器通信协议采用MODBUS RTU协议,本协议规定了应用系统中主机与KTR-TH11温湿度传感器之间,在应用层的通信协议,它在应用系统中所处的位置如下图所示:
本协议所处的位置
从机:
1.2物理接口:
连接上位机的主通信口,采用标准串行RS485通讯口,使用接线端子。
信息传输方式为异步方式,起始位1位,数据位8位,停止位1位,无校验。
(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
温湿度传感器(MODBUS通讯协议
1、概述
通信协议详细地描述了KTR-TH11的输入和输出命令、信息和数据,以便第三方使用和开发。
1.1通信协议的作用
使信息和数据在上位机(主站和KTR-TH11之间有效地传递,允许访问KTR-TH11的所有测量数据。
KTR-TH11温湿度传感器可以实时采集现场温湿度的值,具备一个RS485通讯口,能满足小型温湿度监控系统的要求。其功能和技术指标参见用户手册。
4、传输格式
(1命令报文格式
返回:
(2、异常应答返回
异常码01:无效的功能码
注意:每一个数据用两个字节整数表示,高位在前,低位在后
如:带符号整数范围-32768---32767
上传数据需除十,如湿度上传16进制&H0311,对应十进制00785,表示78.5%
上传数据需除十,如温度上传16进制&H00FF,对应十进制00255,表示25.5℃上传数据需除十,如温度上传16进制&H8064,高位为1,表示负数,对应的数高位取反,表示-10.0℃
4所有环路上的通信都以“打包”方式发生。一个包裹就是一个简单的字符串(每个字符串8位,一个包裹中最多可含255个字节。组成这个包裹的字节构成标准异步串行数据,并按8位数据位, 1位停止位,无校验位的方式传递。串行数据流由类似于RS232C中使用的设备产生。
5所有回路上的传送均分为两种打包方式:
A主/从传送
6、网络采样定时
KTR-TH11温湿度传感器中,上位机读取数据每次间隔时间不小于2s,推荐值3s。
7、命令举例:
THR-TH11温湿度传感器的地址为1:
(1读所有数据为:
下发命令:
01 04 0000 0002 71CB (读从数据起始地址为0000H开始的2个模拟量
KTR-TH11温湿度传感器返回命令如下:
地址为2时:
上位机发送: 02 04 00 00 00 02 71 F8(读从数据起始地址为0000H开始的2个模拟量
下RCL , CRCH。
8、接口说明:
上位机发送: 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