【随手笔记】485-modbus(二)

WT901C-485姿态传感器从硬件连接到数据解析的完整调试指南 姿态传感器作为测量物体在三维空间中方向与角度的核心器件,其工作原理基于多轴MEMS惯性测量单元(IMU)的数据融合。通过集成三轴加速度计、陀螺仪和磁力计,传感器能够分别感知线性加速度、角速度和地磁场信息。这些原始数据经由内置的传感器融合算法(如卡尔曼滤波或互补滤波)进行处理,最终解算出稳定、准确的航向角、横滚角和俯仰角。在工程实践中,这种技术为机器人导航、平台自动调平、运动姿态分析等应用提供了关键的姿态基准。为了实现稳定可靠的数据采集,工业领域广泛采用MODBUS-RTU通信协议进行设备间通信。该协议以其简 阅读详情

为啥子叫MODBUS

Modbus是“Modicon Bus”的缩写,其中“Mod”源自其开发者Modicon公司(现为施耐德电气旗下品牌)的名称,“Bus”表示其作为通信总线协议的性质
bus是什么
公共汽车
就是所有设备的信息都可以在上面跑上面交互的意思
理解了BUS就成功了一半

解释一下

大致分为以下几种:

Modbus-RTU

Modbus-ASCII

Modbus-TCP
一般来说大部分的设备都是Modbus-RTU协议
Modbus是主从方式通信
总线上每次只有一个数据进行传输,即主机发送,从机应答,主机不发送,总线上就没有数据通信
半双工
设备必须要有RTU协议!这是Modbus协议上规定的,且默认模式必须是RTU,ASCII作为选项

协议的结构
地址 + 功能码 + 数据 + 校验
1字节 + 1字节 + N + 2字节

Modbus-RTU协议一般我们用的最多功能码就是03和06,
03查询功能码,
06修改功能码

主机发送: 01 03 00 00 00 01 84 0A

01-地址,也就是你传感器的地址
03-功功能码,03代表查询功能,查询传感器的数据
00 00-代表查询的起始寄存器地址.说明从0x0000开始查询。这里需要说明以下,Modbus把数据存放在寄存器中,通过查询寄存器来得到不同变量的值,一个寄存器地址对应2字节数据
00 01-代表查询了一个寄存器.结合前面的00 00,意思就是查询从0开始的1个寄存器值
84 0A-循环冗余校验,是modbus的校验公式,从首个字节开始到84前面为止;

从机回复: 01 03 02 19 98 B2 7E

01-地址,也就是你传感器的地址
03-功功能码,03代表查询功能,查询传感器的数据。这里要注意的是注意发给从机的功能码是啥,从机就要回复同样的功能码,如果不一样说明这一帧数据有错误
02-代表后面数据的字节数,因为上面说到,一个寄存器有2个字节,所以后面的字节数肯定是2*查询的寄存器个数;
19 98-寄存器的值是19 98,结合发送的数据看出,01这个寄存器的值为19 98
B2 7E-循环冗余校验

在这里插入图片描述

主机发送: 01 06 00 00 00 01 48 0A

01-主机要查询的从机地址
06-功能码,06代表修改单个寄存器功能,修改有些不同,有修改一个寄存器和修改多个寄存器;
00 00-代表修改的起始寄存器地址.说明从0x0000开始.
00 01-代表修改的值为00 01.结合前面的00 00,意思就是修改0号寄存器值为00 01;
48 0A-循环冗余校验,是modbus的校验公式,从首个字节开始到48前面为止

从机回复: 01 06 00 00 00 01 48 0A

01-从机返回给主机自己的地址,说明这就是主机查的从机
06-功能码,代表修改单个寄存器功能,主机发啥功能码,从机就必须回什么功能码;
00 00-代表修改的起始寄存器地址.说明是0x0000.
00 01-代表修改的值为00 01.结合前面的00 00,意思就是修改0号寄存器值为00 01;
48 0A-循环冗余校验,是modbus的校验公式,从首个字节开始到48前面为止;

黄色:A 绿色:B 紫色:A-B

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
起始位+数据位+停止位
串口的协议
使用485的电平解析后
就是串口的一个字节

Modbus 通信协议详解 Modbus是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给 IDA(,分布式自动化接口)组织,并成立了 Modbus-IDA 组织。 阅读详情

相关推荐

RS485、MODBUS通信协议浅显易懂篇

MODBUS协议是Modicon公司发表的一种串行通信协议,属于OSI模型中,现广泛应用于,它的主要特点是,传输介质可以是等。RS485处于,作为上层协议的通信接口,它是针对RS232的不足而诞生的新的接口,主要特点是。

Qurry的博客 3万+

Modbus通信协议详解

Modbus通信协议详解

路过的熊的博客 3万+

Altium Designer元件库大全支持Modbus设备的设计实践

借助Altium Designer元件库大全,高效构建支持Modbus协议的硬件电路,提升开发效率与设计精度,实现快速原型迭代。

weixin_42513928的博客 560

Modbus通信协议详解--清晰易懂--入门级

文章对Modbus的内容做了全面的讲解,包括Modbus的各类特性、Modbusde的各项分类协议,如RTU、TCP等。还详尽的分析了Modbus全部功能码、Modbus的报文格式等,文章通俗易懂,适合新手小白及想要了解Modbus协议的人群。通过本篇文章,你将能对Modbus协议有一个快速的认知了解。

m0_47136030的博客 6万+

上位机软件开发入门篇:Modbus协议通信快速上手

聚焦上位机软件开发中的关键环节,详解Modbus协议的通信原理与实操步骤,帮助开发者快速掌握工业通信的核心技术,提升项目开发效率。

weixin_35705784的博客 1020

C# Modbus通信从入门到精通(10)——Modbus RTU(0x10功能码与C#代码实现)

本文详细介绍了ModbusRTU协议中0x10写多个保持寄存器功能码的原理、发送报文、返回报文,由高级工程师多年经验总结而成,绝对干货!

qq_34059233的博客 6365

【随手笔记】485(一)

PA2 = USART2 TX = DI = 输出端。PA3 = USART2 RX = RO = 接收端。用来保证空闲时,AB之间的电压差都大于200毫伏,保持A和B线成对布线,且尽可能平行,减少信号损耗。逻辑 1: 两线间电压差为 +2V ~ +6V。逻辑0 : 两线间电压差为-2V ~ -6V。从这个图更加直观的看到120欧的匹配电阻。1200米 速率达100Kbps。10米最高速率达 35Mbps。A线连接到所有设备的A端子。B线连接到所有设备的B端子。2线,半双工,多点通信。

Longrun的博客 5936

Modbus轮询实战指南:从MODBUSPOLL配置到200SMART稳定通讯

Modbus轮询是工业自动化中主从式通信的基础机制,其本质是上位机按周期性节奏向PLC、电表等从站设备发起读写请求,实现数据采集与监控。理解轮询原理需把握时序控制、地址映射、超时重试与物理层匹配四大核心——它并非单纯协议交互,而是协议层、固件响应、串口驱动和485总线特性协同作用的结果。技术价值在于将不可见的通信抖动、超时、乱码等问题转化为可配置、可复现、可传承的参数组合,支撑SCADA系统实时性与可靠性。典型应用场景包括S7-200SMART RS485调试、多仪表TCP批量采集及现场故障快速定位。本文聚

weixin_29181861的博客 238

STM32+RS485+Modbus-RTU(主机模式+从机模式)-标准库/HAL库开发

1、对modbus协议的0x03,0x06,0x10功能码进行测试+代码编写 2、使用modbus poll软件,modbus slave软件、串口调试助手进行模拟测试 3、使用STM32分别作为modbus协议的主机和从机进行测试 4、STM32使用串口中断超时接收数据 5、STM32使用DMA传输数据 6、STM32HAL库开发(主机+从机模式均进行测试)

qq_37281984的博客 11万+

STM32与中达优控屏Modbus-RTU联调:从帧格式到DMA接收

Modbus-RTU是工业自动化中最常用的串行通信协议之一,它以简洁的帧结构、可靠的CRC16校验和良好的实时性,成为单片机与触摸屏、PLC等设备互联的主流选择。在实际工程中,STM32通过RS485总线接入HMI主站,需要正确处理帧格式、从站地址、寄存器映射以及3.5字符超时等细节,才能保证通信稳定。本文从Modbus-RTU协议基础和帧结构入手,介绍在STM32上利用定时器中断实现帧超时接收、CRC校验与响应组帧,并重点分析RS485方向控制的时序问题。同时结合中达优控触摸屏联调场景,给出使用Modbu

weixin_30363285的博客 203

OpenSees入门指南:从零开始的环境配置与TCL脚本实战

本文提供了一份详细的OpenSees入门指南,涵盖从零开始的环境配置到TCL脚本实战的全过程。文章重点讲解了OpenSees的安装步骤、环境变量设置,并推荐了高效的VS Code集成开发环境配置方法。通过一个简支梁分析的完整TCL脚本示例,手把手引导读者完成第一个非线性有限元分析,帮助土木工程与结构工程领域的研究者与学生快速上手这一强大的开源分析工具。

weixin_28829339的博客 336

嵌入式调试笔记:MODBUS协议实战与CRC/RTU踩坑指南

在工业自动化和嵌入式系统开发中,串口通信是设备联调的基础,而MODBUS协议凭借其简单、开放、跨平台的特性,成为现场设备之间事实上的通用语言。从RS-485总线到以太网,MODBUS RTU、ASCII和TCP三种变体覆盖了从传感器采集到PLC控制的绝大多数场景。理解其主从架构、功能码定义以及数据模型,是快速定位通信故障的关键。其中,CRC16校验算法与字节序处理是RTU模式最容易出错的地方,一个字节的顺序颠倒就可能导致从站静默丢弃整帧数据。掌握串口参数配置、收发状态机设计和逻辑分析仪抓包方法,能显著提升调

weixin_29194693的博客 322

深度学习暑期科研项目(两个月发EI论文)

对本科生而言,越早接触系统的科研训练开始上手科研项目,就越能在未来的升学求职中占据很大的优势。暑假是提升个人简历、丰富科研经历的最佳时期!哈尔滨工业大学博士师兄也会在8月1日开始带大家上手科研项目,并撰写发表EI会议论文。

Magnolia_He的博客 1443

Modbus调试实战:从模拟器选型到通讯排查的全链路指南

在工业自动化现场,Modbus协议凭借其简单、开放的特性,成为PLC、变频器、温控器等设备之间最常用的通信语言。要真正掌握Modbus调试,核心在于理解RTU报文帧结构、CRC16校验原理以及TCP模式下的MBAP封装——这些基础概念决定了后续所有链路分析和故障定位的准确性。当物理层、参数配置与应用层规则都已理顺,Modbus Poll、Modbus Slave等免费模拟器便成为验证主从站逻辑、搭建虚拟串口链路的利器,无需硬件即可跑通完整通信流程。在实际工程中,无论是使用三菱FX3S配合485BD实现从站,

weixin_33895695的博客 323

【上海大学计算机组成原理实验报告】七、程序转移机制

学习实现程序转移的硬件机制//掌握堆栈寄存器的使用//手动方式实现子程序调用转移过程//手动方式实现子程序返回转移过程//编程实现`OUT`寄存器交替显示`11`和`55`//若要求`11`和`55`各显示`50`次后停机,应该如何修改程序?//根据实验指导书的相关内容,实验箱系统的程序转移硬件机制在于,当`LDPC`有效时,如果此时`DUBS`上的值就是转移的目标地址,则此目标地址被打入`PC`,从而实现程序的转移;若`LDPC`为`0`是附带条件的,就形成“条件转移”。

HackerKevon的博客 2473

ESP32-S3开发环境避坑指南:VS Code+ESP-IDF离线安装全流程(附国内镜像加速)

本文提供了一份详细的ESP32-S3开发环境离线安装指南,重点解决网络依赖问题。通过整合国内镜像加速,手把手教你完成VS Code、ESP-IDF框架、工具链及Python依赖的本地化部署,实现稳定、可重复的开发环境搭建,大幅提升IoT开发效率。

peach的博客 962

Modbus协议

modbus协议

qq_40188120的博客 1083

安全虚拟化SEV简单介绍

安全虚拟化SEV简单介绍什么是SEV什么是SVMSME介绍SEV介绍总结 什么是SEV SEV是由AMD提出的安全虚拟化Secure Encrypted Virtualization技术的英文首字母的缩写。简单来说就是主内存控制器具备了加密功能可以对虚拟机内存数据进行保护。在真正介绍SEV之前,我们首先要弄清楚两个关键的基本概念:SVM、SME。下面先简单了解一下SVM和SME。 什么是SVM S...

artine的专栏 6389

STM32+SP3485实现RS-485通信:硬件设计、时序控制与调试实战

在工业自动化、智能仪表和远程数据采集场景中,串口通信常常面临距离短、抗干扰差、节点扩展受限等挑战。RS-485作为经典的差分总线标准,凭借其优异的共模抑制能力和长达1200米的传输距离,成为Modbus等工业协议的首选物理层。而嵌入式开发中广泛使用的STM32,结合高性价比的SP3485收发器,仅需少量外围元件即可构建稳定可靠的半双工通信链路。本文从差分信号原理出发,深入剖析SP3485的选型依据、最小电路设计要点,并重点讲解半双工时序控制、TC标志处理、DMA收发等软件实现细节,同时提供针对A/B反接、终

weixin_33314040的博客 261

Rstudio-server无法登陆?几种解决方法 卡死 崩溃了 卡住

Q6:Rstudio-server无法登陆?几种解决方法1 检查登陆方式是否正确 (IP/域名 端口是否弄错了)2 查看自己用户名和密码是否输入错误(大部分无法登陆的原因都是第1点和第2点)3清空浏览器cookie缓存,或者换个浏览器登陆,推荐谷歌浏览器4 如果是出现下面截图界面,试试点击Terminate R 或 Safe Mode(如果试了还不行,继续尝试后面方法5~8)5 ssh登录,然后查看自己的磁盘存储空间是否用尽(方法见Q9),如果是,先清理自己的磁盘空间。

生信小博士的博客 1万+

超详细版讲解USB转485驱动工业抗干扰设计

深入剖析usb转485驱动在复杂工业环境中的抗干扰设计要点,涵盖电路保护、信号稳定性及接地策略,提升usb转485驱动在长距离传输中的可靠性与耐用性。

weixin_35578748的博客 451

YOLOv11的嗅觉传感器数据关联-(特殊场景下的气味-视觉联合分析)

摘要 本文探讨了YOLOv11与嗅觉传感器融合的多模态感知技术。通过分析YOLOv11的架构特性与嗅觉传感器的数据特点,提出了三种融合策略:数据级、特征级和决策级融合。系统采用硬件同步方案实现时空对齐,包含视觉采集模块、嗅觉传感模块和边缘计算单元。环境配置基于Python 3.9和PyTorch 2.0,支持实时多模态数据处理。该技术可应用于环境监测、工业检测等场景,突破单一视觉感知的局限性。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 625

Windows 串口名“\.COMx”的那些坑:一次 Modbus 读数失败的完整复盘

Windows串口编程避坑指南:当使用COM10及以上端口时,必须添加\\.\前缀(源码中需转义为"\\\\.\\COM41")。本文详细分析了这一问题的根源,提供了不同场景下的正确写法,包括C源码、命令行参数和JSON配置等。同时给出了一个完整的Modbus读数示例代码,封装了端口名规范化处理,并包含调试日志、超时设置等稳定性措施。最后总结了排查顺序:先确认端口名格式正确,再检查从站地址、寄存器偏移、功能码等常见问题点。

qq_35803412的博客 1339

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

超详细版USB转485驱动程序下载兼容性问题解决方案

遇到USB转485驱动程序下载后无法识别、蓝屏或通信失败?别急,这篇实操指南手把手教你排查Windows/Linux系统下的常见兼容性问题,涵盖驱动签名绕过、端口冲突处理、芯片型号匹配等关键步骤,助你快速完成usb转485驱动程序下载并稳定运行。

weixin_42589700的博客 631

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

四档旋转开关省IO与Modbus浮点拆分:嵌入式调试实战笔记

在嵌入式开发中,IO资源紧张和通信协议数据处理是常见的两大挑战。ADC采样通过分压电阻网络可将多路开关状态映射为不同电压值,仅需一个模拟输入引脚即可识别多个档位,是节省IO资源的有效手段。同时,Modbus RTU协议中以16位寄存器为最小数据单元,IEEE754单精度浮点数需拆分为两个寄存器进行传输,而字序的选择直接决定上位机能否正确解析数据。理解分压原理与浮点编码规则,掌握滤波去抖和字序配置方法,能够显著提升系统稳定性与联调效率。本文从一个实际控制板调试案例出发,介绍旋转开关的ADC采集方案、浮点拆分的

weixin_28721917的博客 237

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 【RTthread】RTthread软件占用资源记录
下一篇: 【随手笔记】FFT+音乐频谱(二)
Long-Run
博客等级 码龄3年 4600粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值