Modbus RS485 设备的串口调试

2023-05-16

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Modbus RS485 设备的串口调试 的相关文章

  • 串口通讯UART/RS232/RS485/RS-422笔记

    串口通讯详解笔记 串口通讯概述串口通讯传输数据帧的结构UARTRS232RS485RS 422RS 232 RS 422和RS 485的主要区别 xff08 重要 xff09 串口通讯概述 串口通讯是指数据按位 xff08 bit xff0
  • RS232/RS485/CAN_BUS 通信原理总结与通信波形分析

    分析一 xff1a 232串口信号 要点 xff1a RS232 xff0c 全双工 xff0c 采用三线制传输分别为TXD RXD GND xff0c 其中TXD为发送信号 xff0c RXD为接收信号 在RS232中任何一条信号线的电压
  • STM32的串口硬件流控(RS232/RS485)

    流控的概念源于 RS232 这个标准 xff0c 在 RS232 标准里面包含了串口 流控的定义 RS232 中的 RS 是Recommend Standard 的缩写 xff0c 即 推荐标准 之意 xff0c 它并不像 IEEE 128
  • Modbus设备在Modbus scan上面的使用方法

    操作教程 参数 xff1a DeviceID xff1a 485从站 寄存器地址 xff1a 查询设备地址表 北醒雷达Dist在0x0000开始 读取寄存器长度 xff1a 雷达数据长度值 格式 xff1a MODBUS RTU 串口协议
  • RS232 RS422 RS485详细介绍

    1 RS 232 C RS 232 C是美国电子工业协会EIA xff08 Electronic Industry Association xff09 制定的一种串行物理接口标准 RS是英文 推荐标准 的缩写 xff0c 232为标识号 x
  • RS485接线方式小科普

    欢迎来到东用知识小课堂 xff01 RS 485采用平衡发送和差分接收方式实现通信 xff1a 发送端将串行口的ttl电平信号转换成差分信号a xff0c b两路输出 xff0c 经过线缆传输之后在接收端将差分信号还原成ttl电平信号 RS
  • RS485——A与B波形与电路分析

    一 理论知识 发送端 AB间的电压差 xff0b 2 xff5e xff0b 6v 逻辑1 xff0d 2 xff5e xff0d 6v 逻辑0 xff1b 接收端 AB间的电压差 大于 xff0b 200mv 逻辑1 小于 xff0d 2
  • Modbus 协议

    1 主站 xff1a 可以进行读写操作 从站 xff1a 只能被动响应主站操作 2 一个 Modbus 网络只有一个主站 xff0c 可以多个从站 xff08 主站不用连在两端 xff09 485 通讯 1 接线 最多 254 个站 xff
  • UART&RS232&RS485的区别

    UART RS232 RS485在串口通信中 xff0c 主要区别是电平的不同 xff0c 其中UART通常使用TTL电平 TTL TTL全名是晶体管 晶体管逻辑集成电路 Transistor Transistor Logic 输入高电平最
  • DSP28335 高速modbus代码实现

    程序特点 不使用while循环速度尽可能快速除去程序运行时间 xff0c 没有多余等待时间优化CRC校验方式 头文件modbus h span class token macro property span class token dire
  • libmodbus官方手册中文翻译

    最近做libmodbus相关内容 因为中文没有libmodbus各个函数的详细解释 所以在此把要用的libmodbus的官方手册包括所有的函数都翻译整理一下 给自己和大家们学习 欢迎大家交流指正 手册原文http libmodbus org
  • STM32读取RS485传感器数据,但接收到的数据开头总是多一个字节或少一个一字节,有人能告诉我哪里出问题了吗

    STM32读取RS485传感器数据 但接收到的数据开头总是多一个字节或少一个一字节 有人能告诉我哪里出问题了吗
  • ModbusPoll和Slave的使用教程

    ModbusPoll和Slave的使用教程 在工业领域 很多地方采用了Modbus协议 简单理解一下Modbus协议 就是把数据存在寄存器地址里面编号 然后通过协议读取 modbus有主机和从机 主机只有一个 从机可以有很多个 玩过Tcp的
  • RS485(一):电路与波形

    一 RS485电路 RS485 Recommended Standard 485 是隶属于OSI模型 物理层的电气特性 规定为 2 线 半双工 平衡传输线的多点异步通信标准 通信采用差分信号传输 典型485应用电路如下图所示 其中 分别控制
  • 485通讯与MODBUS的区别与联系

    最近做智能检测的项目 设备 串口之间的通讯比较多 一会儿485 一会儿modbus RTU 有点晕了 这里重新梳理一下RS485 485通讯协议 ModBus通讯协议 Modbus Rtu通讯这几个点的联系和区别 先说RS485吧 RS48
  • C# EasyModbus xktComm Modbus 例子

    转载请注明出处 联系我 田工 15118249062 微信同号 当然先要在NuGet按照相应的dll 不是ModbusRTU报文 在RTU报文前面加了4个字节 transactionIdentifier protocolIdentifier
  • Socket编程之聊天程序 - 模拟Fins/ModBus协议通信过程

    设备控制软件编程涉及到的基本通信方式主要有TCP IP与串口 用到的数据通信协议有Fins与ModBus 更高级别的通信如 net中的Remoting与WCF在进行C S架构软件开发时会采用 本篇文章结合Fins ModBus协议的指令帧结
  • 计算 Modbus RTU CRC 16

    我正在实现一个软件 可以通过串行方式读取和写入 Modbus RTU 协议中的数据 为此 我需要计算字节字符串末尾的两个 CRC 字节 但我无法执行此操作 在网上搜索 我发现两个函数似乎可以正确计算 CRC WORD CRC16 const
  • 计算 modbus RTU 3.5 字符时间

    我是 Modbus 新手 正在使用 Modbus RTU 开发应用程序 我想知道如何找出RTU消息帧分离时间 在Modbus RTU规范中 它提到了3 5个字符时间 但是没有更多关于如何决定这个间隔的数据 计算分离时间的步骤是什么 看看第1
  • pymodbus TcpClient超时

    我遇到 pymodbus TcpClient 超时问题 import logging from pymodbus client sync import ModbusTcpClient logging basicConfig log logg

随机推荐

  • select在ios中选项空白

    出现这个问题是因为粗心吧 解决了好久 最后发现是个笑话 lt select name 61 span class hljs string 34 34 span id 61 span class hljs string 34 34 span
  • RTOS中消息、信号量、互斥量、事件使用区别(类比理解)

    RTOS中消息 信号量 互斥量 事件使用区别 xff08 类比理解 xff09 注 xff1a 本文仅代表本人学习中的理解 xff0c 未必正确 xff0c 欢迎指正 xff01 1 消息 1 1 对FreeRTOS 就像往火车上装货卸货
  • PuTTY/Xshell连接远程服务器提示connection time out的解决方案

    刚注册一台云服务器时 xff0c 想使用PuTTY Xshell来在本地远程连接服务器 xff0c 发现会出现以下错误提示 xff1a Network error Connection time out 对于新注册的云服务器 xff0c 什
  • Ubuntu编译环境配置

    1 升级gcc sudo apt get update sudo apt get install software properties common sudo apt get install gcc 5 g 43 5 sudo apt g
  • 多传感器融合的四种经典结构

    人一生的成长过程中 xff0c 也不总是只有一种必然性 xff0c 很多时候 xff0c 人生需要选择 请选择有尊严的活着 xff0c 告别卑微 xff01 转一篇信息融合的结构概述 xff1a 多传感器信息融合的结构模型一般有四种基本形式
  • 认识Make、Makefile、CMake和CMakeLists

    一 Make 在 认识编译器和C C 43 43 编译 一文中介绍过 xff0c 一个 c cpp 文件从源文件到目标文件的过程叫做编译 xff0c 但是一个项目中不可能只存在一个文件 xff0c 这就涉及到多个文件的编译问题 xff0c
  • 卡尔曼滤波基础---MATLAB

    Karl Gauss xff08 1795年 xff09 行星轨道测量 最小二乘估计法 Norbert Wiener xff08 1942年 xff09 火力控制系统精确跟踪 Wiener Kolmogorov滤波 Rudolf Kalma
  • 位姿估计 -- PPF算法的OpenCV实现

    给出cpp代码 xff0c 复制粘贴改一下文件路径记得 1 pose cpp span class token comment span span class token comment Created by yaohua on 2020
  • 针对ROS配置VScode开发环境(catkin_make 或 catkin build)

    针对ROS配置VScode开发环境 xff08 catkin make 或 catkin build xff09 使用catkin make ubuntu 18的vscode配置ros开发环境 xff1a catkin make span
  • 电脑双系统即在windows系统与Linux系统中如何设置默认启动系统

    来源 xff08 https www bilibili com read cv5277001 xff09
  • Ubuntu添加/删除PPA源

    一 PPA介绍 PPA xff08 Personal Package Archives xff0c 个人软件包文档 xff09 xff0c 是Ubuntu Launchpad网站提供的一项源服务 xff0c 允许个人用户上传软件源代码 xf
  • 操作系统之进程概念及其组成

    一 进程 在多道程序环境下 xff0c 允许多个程序并发执行 xff0c 此时它们将失去封闭性 xff0c 并具有间断性及不可 再现性的特征 为此引入了进程 Prnccss 的概念 xff0c 以便更好地描述和控制程序的并发执行 xff0c
  • GTSAM中imu预积分及其因子图优化过程

    前言 使用IMU和llidar或者相机进行多传感器融合的slam方案中 xff0c 主要分为紧耦合和松耦合方案 目前 xff0c 主流的方案都是紧耦合的 而紧耦合方案中主要分为基于滤波 xff08 比如 xff0c ESKF xff09 和
  • Python 学习笔记 模块 & 目录遍历 & 包

    一 模块 xff1a 1 概述 xff1a 为了解决维护问题 xff0c 一般情况下 xff0c 在一个完整的项目中 xff0c 会将特定的功能分组 xff0c 分别放到不同的文件中 xff0c 在使用的过程中 xff0c 可以单独维护 x
  • realsense-ros环境配置

    项目场景 xff1a 相机型号RealsenseD435i 环境 xff1a ubuntu1604 xff0c 内核4 15 0 126 generic uname r可查看内核 参考链接 xff1a https github com In
  • realsense相机SDK——librealsense使用方法及bug解决(ubuntu)

    realsense环境配置参考https blog csdn net m0 43436602 article details 110930512 一 librealsense在哪里 xff1f 安装完环境之后 xff0c 可以去根目录下搜一
  • uCOS消息队列相关函数的理解

    OSQCreate xff1a 创建消息队列函数 有四个入口参数 xff1a 消息队列指针 xff1b 消息队列名称 xff1b 消息队列大小 xff08 不能为0 xff09 xff1b 返回错误类型 函数过程 xff1a 首先进行安全检
  • uCOS任务信号量相关函数代码理解

    强调任务信号量思想 xff1a 任务信号量只是一个标志 xff0c 获取成功就是指把信号量计数值减1 xff1b 释放就是指把信号量计数值加1 xff08 溢出则计数值不变 xff09 获取信号量需要判断信号量是否可用 xff08 大于0
  • (二)灰度图像二值化

    灰度图像二值化 一 知识简介 图像二值化 xff08 Image Binarization xff09 就是将图像上的像素点的灰度值设置为0或255 xff0c 也就是将整个图像呈现出明显的黑白效果的过程 在数字图像处理中 xff0c 二值
  • Modbus RS485 设备的串口调试

    Modbus RS485 设备的串口调试 准备Modbus功能码二 使用步骤1 接线2 串口调试 温湿度的计算 准备 硬件设备 xff1a 电脑 RS485 温湿度传感器 RS485 土壤温湿度传感器 RS485 继电器控制模块 TTL转R