01
Modbus协议概述
Modbus的起源与发展 · RTU/ASCII/TCP对比 · 物理层与数据链路层基础
协议基础发展史
02
开发环境搭建
VS Code + CMake + MinGW/GCC · libmodbus编译 · Python minimalmodbus安装
工具链libmodbus
03
Modbus地址模型
线圈/离散输入/保持/输入寄存器 · 寻址方式 · 功能码映射
地址模型寄存器
04
RTU帧结构详解
起始位/地址/功能码/数据/CRC · 组包错误分析
RTU帧结构
05
TCP帧结构详解
MBAP报文头 · PDU结构 · TCP连接管理
TCPMBAP
06
CRC校验原理
CRC-16-Modbus手算与编程 · 查表法优化 · 校验失败原因
CRC算法
07
主站核心逻辑
轮询调度 · 超时重试 · 异常码处理 (01-08)
主站调度
08
从站核心逻辑
请求解析状态机 · 响应组包 · 非阻塞并发
从站状态机
09
功能码01/02
读取线圈与离散输入 · C与Python实现对比
01/02数字量
10
功能码03/04
读取保持/输入寄存器 · 批量与单寄存器差异
03/04寄存器
11
功能码05/06
写单线圈/单寄存器 · 确认机制与回读验证
05/06写操作
12
功能码15/16
写多线圈/多寄存器 · 连续地址边界处理
15/16批量写
13
功能码23
读写多寄存器 · 原子操作与数据一致性
23原子操作
14
广播模式
地址0用途 · 广播写实现 · 从站响应规则
广播地址0
15
异常处理机制
异常响应帧 · 主站恢复策略 · 日志记录最佳实践
异常容错
16
多主站冲突
令牌传递 · 时间槽分配 · 硬件/软件仲裁
多主站冲突
17
RTU与TCP网关
协议转换原理 · 双协议栈 · 数据透传延迟优化
网关RTU/TCP
18
跨平台串口编程
Windows/Linux API差异 · termios配置 · 串口自适应
串口跨平台
19
跨平台Socket编程
TCP客户端/服务器 · select/poll/epoll模型
SocketIO模型
20
性能优化
批量读写合并 · 流水线 · DMA在嵌入式应用
性能DMA
21
安全加固
功能码白名单 · 地址校验 · CRC检查 · 会话超时
安全白名单
22
单元测试
模拟从站框架 · 边界值测试 · 自动化脚本
测试模拟
23
日志与调试
分级日志 · 报文十六进制转储 · Wireshark过滤
调试Wireshark
24
工业现场总线集成
Modbus转Profinet/EtherCAT · OPC UA桥接
总线Profinet
25
云平台对接
MQTT+Modbus上云 · 时序数据库 · Web仪表板
云平台MQTT
26
嵌入式移植
FreeRTOS任务设计 · 内存池 · 看门狗与掉电保护
嵌入式FreeRTOS
27
Python快速原型
pymodbus库 · asyncio高并发从站
Pythonasyncio
28
C++工业级框架
Qt Modbus模块 · 插件化架构 · 配置热加载
C++Qt
29
故障排查实战
故障树 · 通信超时/数据错位/地址冲突 · 排查工具
故障排查
30
项目实战:智能温控系统
从需求分析到部署运维全流程 · Modbus综合应用
实战温控