H-THNSJ0A温湿度传感器标准modbus 通讯协议

news/2024/11/28 10:45:23/

 

1、 概述

1.1 引言

通讯规约详细描述了本机通讯的读、写命令格式及信息和数据的定义,以便第三方开发使用。

1. 2 电气特点及符合标准

1) 连接上位机的主通信接口,MODUBS RTU 协议标准。

2) 信息传输方式为异步方式,字节格式为起始位1位,数据位8位,停止位1位,无校验。

3) 数据传输速率1200b/s, 2400b/s, 4800b/s, 9600b/s, 19200b/s可选,缺省为9600b/s。

2、MODBUS RTU通信协议详述

2.1 协议基本规则

   以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。

1) 所有通讯回路都应遵照主/从方式。依照这种方式,数据可以在一个主站(如:PC)和多个子站(仪表)之间传递。任何一次通讯都不能从子站开始。

2) 主站将初始化和控制在通讯回路上传递的所有信息。

3) 所有回路上的传送均分为两种方式:

A) 主/从传送

B) 从/主传送

4) 在通讯回路上的所有通讯都以“信息帧”方式传递。

如果主站或子站接收到含有未知命令的信息帧,则不予以响应

“信息帧”就是一个由字节构成的字符串(最多255个字节),是由信息头和发送的编码数据构成标准的异步串行数据,该通讯方式也与RTU通讯规约相兼容。

2.2信息帧结构描述

   每个信息帧组成如下:

地址

功能码

数据地址

数据1

数据…

数据n

CRC16

3、 字节格式

通讯传输为异步方式,并以字节为单位。在主站和子站之间传递的每一个字节帧都是10位(无校验位)的串行数据流。

字节帧格式:

4、命令报文格式

  4. 1读数据:

主站发送

地址

功能码

数据起始地址高位

数据起始地址低位

数据个数高位

数据个数低位

CRC16高位

CRC16低位

04

返回:

地址

功能码

字节长度

数据1高位

数据1低位

数据2高位

数据2低位

CRC16高位

CRC16低位

04

5、仪表内部报文信息

功能代码

数据起始地址

数据个数

内容说明

04H

0000H

1

温度值

0001H

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。

7、命令举例:

设温湿度传感器的地址为1,

读所有数据为:

上位机发送:01 04 0000 0002 71CB (读从数据起始地址为0000H开始的2个字节)

下位机返回:01 04 04,温度H,温度L,湿度H,湿度L,CRCL,CRCH。

只读温度数据时:

上位机发送: 01 04 0000 0001 31CA(读从数据起始地址为0000H开始的1个字节)

下位机返回: 01 04 02,温度H,温度L,CRCH,CRCL。

只读湿度数据时:

上位机发送: 01 04 0001 0001 600A(读从数据起始地址为0001H开始的1个字节)

下位机返回: 01 04 02,湿度H,湿度L,CRCH,CRCL。

写单个寄存器数据

地址

功能码

数据起始地址高位

数据起始地址低位

数据高位

数据低位

CRC16高位

CRC16低位

06

例:把温湿度原地址1改为2:      

上位机发送:01 06 00 C8 00 02 89 F5  (数据起始地址为100H)

下位机返回: 01 06 00 C8,地址H,地址L, CRCL,CRCH。

写多个寄存器数据

地址

功能码

数据起始地址高位

数据起始地址低位

寄存器个数高位

寄存器个数低位

字节个数

数据1高位

数据1低位

数据N高位

数据N低位

CRC16高位

CRC16低位

10

例:设置时间:

上位机发送:01 10 00 E0 00 03 06 0F 06 01 17 02 12 5A BC 

                       0003:3个寄存器;06:6个字节
               15年06月 01 日23时 02分 18秒

设置温湿度上下限告警值和缓冲值:

上位机发送:01 10 00 CC 00 06 0C 02 0B 00 0A 00 01 03 2F 00 67 00 0A 09 2C
高温告警值52.3  低温告警值1.0  温度缓冲值0.1  高湿告警值81.5  低湿告警值10.3  湿度缓冲值

8、仪表全部报文:

读状态寄存器 读取功能码0x03 写DO功能码0X05,写寄存器0x10或0x06

寄存器地址

数据项

字节数

属性

返回格式

备注

0

温度值

2

RO

整数,0.1℃

1

湿度值

2

RO

正整数,0.1%RH

2

露点温度参考值

2

RO

整数,0.1℃

3

DO1

2

RW

正整数

4

DO2

2

RW

正整数

5

告警状态

2

RO

正整数

Bit0:高温告警

Bit1:低温告警

Bit2:高湿告警

Bit3:低湿告警

对应bit位为1告警,0无告警

6

电量

2

RO

正整数

0:没电

1:一格电

2:二格电

3:三格电

4:四格电

7

记录总条数高

2

RO

正整数

8

记录总条数低

2

RO

正整数

9

未读条数高

2

RW

正整数

10

未读条数低

2

RW

正整数

11

记录1温度值

2

RO

整数,0.1℃

12

记录1湿度值

2

RO

正整数,0.1%RH

13

记录1时间年:月

2

RO

正整数

高字节:年

低字节:月

14

记录1时间日:时

2

RO

正整数

高字节:日

低字节:时

15

记录1时间分:秒

2

RO

正整数

高字节:分

低字节:秒

16

记录2温度值

2

RO

整数,0.1℃

17

记录2湿度值

2

RO

正整数,0.1%RH

18

记录2时间年:月

2

RO

正整数

高字节:年

低字节:月

19

记录2时间日:时

2

RO

正整数

高字节:日

低字节:时

20

记录2时间分:秒

2

RO

正整数

高字节:分

低字节:秒

5N+6

记录N温度值

2

RO

整数,0.1℃

5N+7

记录N湿度值

2

RO

正整数,0.1%RH

5N+8

记录N时间年:月

2

RO

正整数

高字节:年

低字节:月

5N+9

记录N时间日:时

2

RO

正整数

高字节:日

低字节:时

5N+10

记录N时间分:秒

2

RO

正整数

高字节:分

低字节:秒

必须整条记录读取,N小于等于24

设置参数寄存器 读取功能码0x03写入功能码0X10(0X06)

200

通讯地址

2

RW

1~254

201

波特率

2

RW

正整数

0~4  

0:1200;

1:2400;

2:4800;

3:9600

4:19200

202

校验方式

2

RW

正整数

0~2

0:N 8 1

1:O 8 1

2:E 8 1

203

显示温度单位

2

RW

正整数

0~1

0:℃

1:℉

204

高温告警值

2

RW

整数,0.1℃

205

低温告警值

2

RW

整数,0.1℃

206

温度缓冲值

2

RW

整数,0.1℃

1~250

207

高湿告警值

2

RW

正整数,0.1%RH

208

低湿告警值

2

RW

正整数,0.1%RH

209

湿度缓冲值

2

RW

正整数,0.1%RH

1~250

210

DO1输出方式

2

RW

正整数

0~1,0:告警,1:控制

211

DO2输出方式

2

RW

正整数

0~1,0:告警,1:控制

212

DO1关联量

2

RW

正整数

Bit0:高温告警

Bit1:低温告警

Bit2:高湿告警

Bit3:低湿告警

对应bit位为1关联,0不关联

213

DO2关联量

2

RW

正整数

Bit0:高温告警

Bit1:低温告警

Bit2:高湿告警

Bit3:低湿告警

对应bit位为1关联,0不关联

214

DO1正常状态

2

RW

正整数

0:常开 1:常闭

215

DO2正常状态

2

RW

正整数

0:常开 1:常闭

216

用户密码

2

RW

正整数

0~9999

217

存储时间

2

RW

正整数

1~60000,单位分

218

Zigbee PAN ID

2

RW

正整数

1~9999

219

Zigbee频道

2

RW

正整数

11~26

220

温度校准值

2

RW

整数,0.1℃

-300~300

221

湿度校准值

2

RW

整数0.1%RH

-300~300

222

开关记录

2

RW

正整数

0:关 1:开

223

开关蜂鸣

2

RW

正整数

0:关 1:开

224

年:月

2

RW

正整数

225

日:时

2

RW

正整数

226

分:秒

2

RW

正整数


http://www.ppmy.cn/news/88400.html

相关文章

Leetcode 221. 最大正方形

Leetcode 221. 最大正方形题目 在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内&#xff0c;找到只包含 ‘1’ 的最大正方形&#xff0c;并返回其面积。m matrix.lengthn matrix[i].length1 < m, n < 300matrix[i][j] 为 ‘0’ 或 ‘1’ 解法 动态规划状态压缩&#xff1a;定…

Android系统原理性问题分析 - 单路情况下的C/S模型

声明 在Android系统中经常会遇到一些系统原理性的问题&#xff0c;在此专栏中集中来讨论下。Android系统中很多地方都采用了I/O多路复用的机制&#xff0c;为了引出I/O多路复用机制&#xff0c;先来分析多路并发情况下的C/S模型。此篇参考一些博客和书籍&#xff0c;代码基于A…

Java的ssm框架中开发常用注解的作用和功能小小总结!!!

Java 的 SSM (Spring SpringMVC MyBatis) 框架是 Java Web 开发中常用的框架之一。其中&#xff0c;Spring、SpringMVC、MyBatis 框架各自都提供了很多注解&#xff0c;以下是一些常用注解及其功能&#xff1a; Spring 框架常用注解 Component&#xff1a;用于标记一个类为组…

视频会议产品对比分析

内网视频会议系统如何选择&#xff1f;有很多单位为了保密&#xff0c;只能使用内部网络&#xff0c;无法连接互联网&#xff0c;那些SaaS视频会议就无法使用。在内网的优秀视频会议也有很多可供选择&#xff0c;以下是几个常用的&#xff1a; 1. 宝利通&#xff1a;它支持多种…

2019下半年上午题

2019下半年上午题 b 选a c 最后统一单位 计算需要多少片芯片&#xff1a; 流水线&#xff1a; 也就是&#xff1a; 对于这一道题&#xff1a; c ssl&#xff1a;安全套接层 https&#xff1a;安全通道 PGP&#xff1a;电子邮件加密 d b a b b 受委托方和委…

Java枚举

Java枚举 &#x1f37a;1 背景及定义&#x1f37a;&#x1f9c3;2 使用&#x1f9c3;&#x1f964;3 枚举优点缺点&#x1f964;&#x1f375;4 枚举和反射&#x1f375;&#x1f377;4.1 枚举是否可以通过反射&#xff0c;拿到实例对象呢&#xff1f;&#x1f377; ☕️5 总结…

多文件分布式上传-SpringBoot

前言 在现代化的互联网应用中&#xff0c;各种形式的上传都成为了必备的功能之一。而对于大文件上传以及多文件上传来说&#xff0c;我们往往需要考虑分布式储存的方案&#xff0c;以实现高效和可扩展性。 本文将详细介绍在SpringBoot中实现多文件分布式上传的方法&#xff0…

Python多线程爬虫又来了

Python多线程的主要好处是可以在单个程序中同时执行多个任务&#xff0c;从而提高应用程序的性能和效率。具体来说&#xff0c;多线程有以下几个优点&#xff1a; 提高CPU利用率&#xff1a;通过多线程&#xff0c;可以更充分地利用CPU资源&#xff0c;尤其适用于计算密集型的…