Qt Modbus协议0x00
一、一些概念1.Modbus由施耐德旗下Modicon在1979年推出,工业现场最通用、免费开放的应用层问答式通信协议。2.Modbus协议采用主从架构(CS架构)。通信过程中,由主站(客户端)发送指令包,从站(服务端)响应回报,构成一次完整的通信过程;3.底层物理实现链路:1)Modbus-RTU: 运行在RS485/RS232串口;2)Modbus-TCP: 运行在以太网 TCP,默认端口 502;3)Modbus-ASCII: 串口明文十六进制字符传输。4.三者上层PDU(协议数据单元,功能码 数据部分)完全相同,仅底层帧封装、校验、链路规则不同而已;5.四类存储寄存器Modbus把所有设备数据划分成4类独立地址空间:1)线圈Coils,可读、可写,数据位宽1bit;2)离散输入Discrete Inputs,只读,数据位宽1bit;3)输入寄存器Input Registers,只读,数据位宽16bit无符号整型;4)保持寄存器Holding Registers,可读、可写,数据位宽16bit无符号整型。二、 Modbus-RTU报文帧结构(串口二进制)从站地址(1字节)] [PDU协议数据单元] [CRC16校验(2字节)]。三、测试整个测试流程:Qt程序是主站、SSCOM软件为从站。主站向从站发送Modbus协议帧报文从站收到后分析。1.例如 发送报文格式(查询命令) 01 03 00 00 00 02 C4 0B第1字节01: 从站 ID 1;第2字节03: 功能码,读取保持寄存器;第3、4字节00 00: 起始寄存器地址0;第5、6字节00 02: 读取寄存器数量2个寄存器;第7字节C4: CRC校验低字节;第8字节0B: CRC校验高字节;2.源码main.cpp#include QCoreApplication #include QDebug #include QtSerialBus/QModbusRtuSerialMaster #include QtSerialBus/QModbusReply #include QtSerialPort/QSerialPort int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QModbusRtuSerialMaster master; // 绑定虚拟串口COM1 #if 1 master.setConnectionParameter(QModbusDevice::SerialPortNameParameter, COM1); master.setConnectionParameter(QModbusDevice::SerialBaudRateParameter, QSerialPort::Baud115200); master.setConnectionParameter(QModbusDevice::SerialDataBitsParameter, QSerialPort::Data8); master.setConnectionParameter(QModbusDevice::SerialStopBitsParameter, QSerialPort::OneStop); master.setConnectionParameter(QModbusDevice::SerialParityParameter, QSerialPort::NoParity); if (!master.connectDevice()) { qDebug()串口打开失败master.errorString(); return -1; } qDebug()RTU主站启动成功准备发送报文; // 1.定义读取单元保持寄存器、起始地址0、读取2个 QModbusDataUnit readItem(QModbusDataUnit::HoldingRegisters, 0, 2); // 2.发送请求从站ID 1 QModbusReply *reply master.sendReadRequest(readItem, 1); // 3.必须先判空再绑定finished信号杜绝空指针connect报错 if (reply) { QObject::connect(reply, QModbusReply::finished, [reply]() { // 读取应答数据 if(!reply-isFinished()) return; const QModbusDataUnit res reply-result(); qDebug() 读到寄存器数值 res.values(); reply-deleteLater(); }); } else { qDebug() 请求发送失败: master.errorString(); } #endif return a.exec(); }3.程序运行结果4.仿真环境搭建请参考Qt实现串口通信及使用VSPD模拟调试四、开发工具及Qt版本开发工具:Qt Creator 4.10.2Qt版本:Qt_5_12_6

相关新闻

Input Leap完整指南:一套键鼠掌控所有设备的免费开源方案

Input Leap完整指南:一套键鼠掌控所有设备的免费开源方案

Input Leap完整指南:一套键鼠掌控所有设备的免费开源方案 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap 你是否厌倦了在办公桌上堆满各种键盘鼠标,每次切换设备都要重新调整姿势…

2026/8/8 14:20:31 阅读更多 →
如何快速掌握微信聊天记录管理:WeChatMsg新手终极指南

如何快速掌握微信聊天记录管理:WeChatMsg新手终极指南

如何快速掌握微信聊天记录管理:WeChatMsg新手终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…

2026/8/8 14:20:31 阅读更多 →
智能集成制动系统IPB:从线控底盘到整车智能化的核心技术解析

智能集成制动系统IPB:从线控底盘到整车智能化的核心技术解析

1. 从“机械连接”到“电信号控制”:IPB为何是汽车制动系统的革命 如果你是一位汽车工程师,或者对汽车技术演进感兴趣,那你一定听说过“线控底盘”这个概念。它听起来很未来,核心其实就是把驾驶员的操作意图,从传统的机…

2026/8/8 14:19:31 阅读更多 →

最新新闻

电动车控制器防盗锁死故障排查与应急解除指南

电动车控制器防盗锁死故障排查与应急解除指南

这次我们来看一个电动车控制器防盗锁死问题的排查与解决。如果你遇到过电动车在未插钥匙或插上钥匙的状态下,拧动油门,电机和轮胎完全不动,甚至感觉后轮被“抱死”,整车推起来异常沉重的情况,这篇文章就是为你准备的。…

2026/8/8 16:09:28 阅读更多 →
Grit开源架构解析:从数据层到UI组件的模块化设计

Grit开源架构解析:从数据层到UI组件的模块化设计

Grit开源架构解析:从数据层到UI组件的模块化设计 【免费下载链接】Grit 🔨 A Simple todo list and habit tracker for Android 项目地址: https://gitcode.com/gh_mirrors/grit2/Grit Grit是一款功能强大的开源Android待办事项和习惯跟踪应用&a…

2026/8/8 16:09:28 阅读更多 →
FinalBurn Neo完整指南:5个简单步骤让你在任意设备畅玩经典街机游戏

FinalBurn Neo完整指南:5个简单步骤让你在任意设备畅玩经典街机游戏

FinalBurn Neo完整指南:5个简单步骤让你在任意设备畅玩经典街机游戏 【免费下载链接】FBNeo FinalBurn Neo - We are Team FBNeo. 项目地址: https://gitcode.com/gh_mirrors/fb/FBNeo FinalBurn Neo(简称FBNeo)是一款功能强大的多平台…

2026/8/8 16:09:28 阅读更多 →
JK触发器原理深度解析:从SR缺陷到Verilog仿真实践

JK触发器原理深度解析:从SR缺陷到Verilog仿真实践

最近在整理数字电路学习笔记时,发现很多朋友对JK触发器的理解停留在“功能表”和“波形图”上,一到实际电路搭建和时序分析就容易卡壳。Ben Eater的经典视频教程虽然直观,但缺少中文语境下的系统性梳理和代码仿真验证。本文将结合Ben Eater的…

2026/8/8 16:09:28 阅读更多 →
libdatachannel终极指南:用C++构建高性能WebRTC实时通信应用

libdatachannel终极指南:用C++构建高性能WebRTC实时通信应用

libdatachannel终极指南:用C构建高性能WebRTC实时通信应用 【免费下载链接】libdatachannel C/C WebRTC network library featuring Data Channels, Media Transport, and WebSockets 项目地址: https://gitcode.com/GitHub_Trending/li/libdatachannel &…

2026/8/8 16:09:28 阅读更多 →
免费开源德州扑克GTO求解器:Desktop Postflop完全指南

免费开源德州扑克GTO求解器:Desktop Postflop完全指南

免费开源德州扑克GTO求解器:Desktop Postflop完全指南 【免费下载链接】desktop-postflop [Development suspended] Advanced open-source Texas Holdem GTO solver with optimized performance 项目地址: https://gitcode.com/gh_mirrors/de/desktop-postflop …

2026/8/8 16:08:28 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/8 8:58:26 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →