151-5197-5087
扬州华为授权服务中心
当前位置:网站首页 > 网络设备调试 正文 网络设备调试

Modbus RS485 设备的串口调试

2024-11-30 08:49:20 网络设备调试 28 ℃ 0 评论

Modbus RS485 设备的串口调试

  • 准备
  • Modbus功能码
  • 二、使用步骤
    • 1.接线
    • 2.串口调试
  • 温湿度的计算


准备

硬件设备:
电脑
RS485 温湿度传感器
RS485 土壤温湿度传感器
RS485 继电器控制模块
TTL转RS485模块
TTL转USB模块
软件:
串口调试助手

Modbus功能码

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。
关于协议的的具体内容比较复杂,我们是通过串口来与Modbus设备通讯,所以并不需要了解更多具体内容,只需要知道Modbus是主从机制,主机发送问询,从机回复,对于功能码需要了解,能够使用功能码通过串口实现信息下发与回收即可。
Modbus 有两种通信传输方式,一种是 ASCII 模式,一种是 RTU 模式。第一种不常用,我们这里使用的是RTU模式。一条典型的RTU数据帧如下:

起始位设备地址功能码数据CRC校验结束符
T1-T2-T3-T48bit8bitn个8bit16bitT1-T2-T3-T4

二、使用步骤

1.接线

传感器的A接RS485模块A,传感器的B接RS485模块B,传感器电源按其要求提供(多数是5-24V直流供电,但要仔细阅读传感器说明书,以免错接损坏传感器)。RS485模块与USB模块连接:RX接RX,TX接TX,GND接GND,VCC接VCC。

2.串口调试

我调试所使用的传感器如图。

串口助手:
MODBUS部分功能码

代码功能
01读线圈状态
02读离散输入状态
03读保持寄存器状态
04读输入寄存器状态
05写单个线圈
06写单个保持寄存器
15写多个线圈
16写多个保持寄存器


读取温度请求码:01 04 00 01 00 01 60 0A
从机返回码:01 04 02 01 04 B9 63
读取湿度请求码:01 04 00 02 00 01 90 0A
从机返回码:01 04 02 02 1A 39 9B

温湿度的计算

返回码中的第4位和第5位是返回的温湿度值,但是16进制的显示方式,需要换算才能得到我们需要的十进制表示。

计算方法是:
先将16进制书转为10进制数:(01)16=(1)10,(04)16=(4)10,(02)16=(2)10,(1A)16=(26)10
温度值 = (返回值高位256+返回值低位)/10 = (1256+4)/10 = 26.0摄氏度
湿度值 = (返回值高位256+返回值低位)/10 = (2256+26)/10 = 53.8%
如果高位大于7F,计算方法为:
先将16进制书转为10进制数,然后
数值 = (返回值高位*256+返回值低位-65535)/10

版权说明:如非注明,本站文章均为 扬州驻场服务-网络设备调试-监控维修-南京泽同信息科技有限公司 原创,转载请注明出处和附带本文链接

请在这里放置你的在线分享代码
«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接