前置基础(所有通信的地基)
- 串口通信基础概念
- 串行 / 并行、全双工 / 半双工、单工
- 波特率、数据位、停止位、校验位、流控
- 电平标准:TTL、RS232、RS485、RS422区别、接线方式、抗干扰
- 计算机网络基础
- TCP/UDP 区别、客户端 / 服务端模式
- 网络分层、IP、端口、Socket 基本概念
- 数据基础
- 进制转换(16 进制 / 10 进制 / 2 进制)
- 大小端、字节序、数据拼接 / 解析
- 校验算法基础:和校验、CRC、奇偶校验
第一阶段:短距离硬件通信 (最简单)
1. 串口 COM(重中之重,工业最常用)
- 物理层:RS232 / RS485 接线、差分信号原理
- 通信模式:一问一答(主从模式)
- 开发实操:
- 串口调试助手使用(收发 16 进制、文本)
- C#/Python 原生串口读写
- 常见问题:丢包、乱码、波特率不匹配、接地干扰
2. 近距离总线通信
- I2C、SPI(嵌入式芯片级,上位机少用,了解即可)
- CAN 总线(汽车 / 高端工控,进阶再学)
.第二阶段:工业标准通信协议(核心业务层)
先学通用简单协议,再学工业专用复杂协议
1. 通用简易协议(自定义协议必备)
- 自定义通信报文结构:帧头 + 地址 + 功能码 + 数据 + 校验 + 帧尾
- 报文粘包、断包处理
- 定时轮询、心跳包、重连机制
2. 工业主流标准协议(按学习难度排序)
- Modbus 协议【必学】
- Modbus-RTU(485 串口版,最常用)
- Modbus-TCP(以太网版)
- 功能码、寄存器概念、线圈 / 保持寄存器 / 输入寄存器
- MQTT(物联网设备、传感器、云端对接)
- 发布 / 订阅模式、Broker 服务器、主题、心跳、遗嘱消息
- HTTP/HTTPS(物联网设备、仪表、第三方设备对接)
- Profinet、EtherNet/IP(大型 PLC,后期拓展)
第三阶段:网络通信
- Socket 编程基础
- TCP Socket(长连接,工控首选)
- UDP Socket(广播、低延迟设备)
- 网络模型
- 阻塞 / 非阻塞、同步 / 异步
- 多线程 / 多任务处理并发设备
- 工业以太网
- 工业交换机、IP 固定配置、跨网段通信
- 网络断连、自动重连、异常容错处理
第四阶段:上位机开发实战(代码落地)
以 C# / Python 主流上位机语言为例
- 框架与库
- 串口:
SerialPort、NModbus 库 - 网络:原生 Socket、SuperSocket、WebSocket
- MQTT:MQTTnet 客户端
- 串口:
- 通用上位机通信架构
- 通信层(单独类库,解耦 UI)
- 数据解析层
- 业务逻辑层
- 工程级难点实战
- 多设备同时轮询
- 数据缓存、断网缓存、断线重连
- 高并发、数据上报防抖
- 日志记录、通信故障排查
第五阶段:高阶拓展(进阶提升)
- 总线进阶:CAN、CANopen、DeviceNet
- 实时以太网:EtherCAT(运动控制)
- 加密通信:TLS、数据加密传输
- 跨平台通信、多语言设备对接
- 工业软件规范:数据上报、协议调试、抓包分析