Modbus协议很简单,结合温湿度传感器手把手教你使用Modbus协议

createh52个月前 (02-01)技术教程9

一、阅读温湿度传感器产品手册

1、产品参数

2、产品所用到的Modbus协议功能号

3、产品通讯协议


二、利用PC串口调试助手与温控传感器进行通信设置

设置串口调试助手通讯格式字:波特率9600,校验位NONE,数据位8,停止位1。


三、读取输入寄存器的内容(0x04)

1、PC读取温湿度传感器温度值(0x04)

1.1、主机发送——主机发送命令帧格式如下:


根据产品通讯协议,存放温度寄存器地址为:0x0001,寄存器数量为:1,根据命令帧格式,填表如下:


1.2、从机响应——从机响应数据帧格式如下:


温湿度传感器响应数据帧为:


温度值包含2个字节,值=0x00FE,转换为十进制=254,根据产品手册,温度单位为0.1℃,因此实际温度值=254×0.1℃=25.4℃。


2、PC连续读取温湿度传感器湿度值、湿度值(0x04)

2.1、主机发送——主机发送命令帧格式如下:

根据产品通讯协议,存放温度值、湿度值寄存器地址为连续的地址,分别为:0x0001、0x0002,因此起始地址=0x0001,寄存器数量=0x0002,填表如下:


2.2、从机响应——从机响应数据帧格式如下:


读取温度值=0x0112,转换为十进制=274,实际温度=274×0.1℃=27.4℃;

读取湿度值=0x0231,转换为十进制=561,实际温度=561×0.1%RH =56.1%RH。


四、读取保持寄存器内容(0x03)

根据产品通信协议,保持温湿度传感器设定了四个保持寄存器,分别为:

设备地址(0x0101)、波特率(0x0102)、温度修正值(0x0103)、湿度修正值(0x0104)

1、PC读取从机设备地址(0x03)

1.1、主机发送——主机发送命令帧格式如下:


根据产品通讯协议,存放设备地址的寄存器地址为:0x0101,寄存器数量为:1,根据命令帧格式,填表如下:


1.2、从机响应——从机响应数据帧格式如下:


温湿度传感器响应数据帧为:


设备地址值包含2个字节,值=0x0001,与我们预想的一致。


2、PC连续读取从机设备地址、波特率、温度修正值、湿度修正值(0x03)

1.1、主机发送——主机发送命令帧格式如下:

根据产品通讯协议,“设备地址、波特率、温度修正值、湿度修正值”为连续的四个地址,起始地址为:0x0101,寄存器数量为:4,根据命令帧格式,填表如下:


1.2、从机响应——从机响应数据帧格式如下:


设备地址=0x0001、波特率=0x258,十进制9600、温度修正=0、湿度修正=0。


五、修改单个保持寄存器内容(0x06)

1、PC修改从机设备地址(0x06)

例如,将从机设备地址由01改为05

1.1、主机发送——主机发送命令帧格式如下:


根据产品通讯协议,存放设备地址的寄存器地址为:0x0101,寄存器修改值为:05,根据命令帧格式,填表如下:


1.2、从机响应——从机响应数据帧格式如下(与发送相同):



以上已经完成了对从机设备地址的修改,断送电重启一次温湿度传感器,再次发送“01 04 00 01 00 01 60 0A”读取温度时,已经无法收到响应,因为,设备地址已经改为“05”,需要发送“05 04 00 01 00 01 61 8E”,即可收到响应,读取温度值为0x0277,转换为十进制=277,因此实际温度=277×0.1℃=27.7℃。


六、修改多个保持寄存器内容(0x10)

1、PC同时修改从机设备地址、波特率、温度修正值、湿度修正值

例如,要求如下:


1.1、主机发送——主机发送命令帧格式如下:


说明:第7位“字节数”=寄存器数的2倍,这里修改4个寄存器的内容,因此字节数为8,填表如下:


1.2、从机响应——从机响应数据帧格式如下(与发送相同):



相关文章

MQTT协议介绍及Java教程(mqtt协议运行在哪一层)

一、 概述  MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的"轻量级"通讯协议,它和 Modbus TCP 一样都...

Zookeeper 的通信及会话(zookeeper通俗)

1. 前言在前面的章节中,我们学习了 Zookeeper 的 Java 客户端 ZkClient 和 Curator 的基本使用,那这些客户端是如何与 Zookeeper 服务端建立通信的呢?我们就带...

分布式协议与算法,你了解多少?(分布式协议 paxos)

我这里将主要列举一致性Hash算法、Gossip协议、QuorumNWR算法、PBFT算法、PoW算法、ZAB协议,Paxos会分开单独讲。一致性Hash算法一致性Hash算法是为了解决Hash算法的...

ThingsBoard物联网平台实践 LoRa协议+node-red+mqtt 实现单灯控制

ThingsBoard是一个基于Java的开源物联网平台,可实现物联网项目的快速开发,管理和扩展。ThingsBoard 使用行业标准物联网协议(MQTT,CoAP和HTTP)实现设备连接,并支持云和...

6 张图带你彻底搞懂分布式事务 XA 模式

XA 协议是由 X/Open 组织提出的分布式事务处理规范,主要定义了事务管理器 TM 和局部资源管理器 RM 之间的接口。目前主流的数据库,比如 oracle、DB2 都是支持 XA 协议的。mys...

太厉害了,终于有人能把HTTP 协议讲的明明白白了

作者:涤生_Woo一、概述1.计算机网络体系结构分层2.TCP/IP 通信传输流利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从链路层往上走。如...