PLC Modbus通讯从零开始-手把手实现主从站通信
2026/6/5 14:22:24 网站建设 项目流程

Modbus是工业通讯里最基础的协议,不会Modbus都不好意思说自己做过PLC项目。今天从原理到实战一次性讲完。

一、Modbus是什么?

Modbus是1979年发明的通讯协议,几乎成了工业设备的”普通话”。不管什么品牌的设备,基本都支持Modbus。

三种模式:

  • Modbus RTU:串口通讯(RS485),最常用
  • Modbus TCP:以太网通讯,速度快
  • Modbus ASCII:老式串口,基本淘汰

二、Modbus核心概念

主从架构

  • 主站(Master):发起通讯
  • 从站(Slave):响应请求
  • 1个主站最多带247个从站

功能码

功能码含义操作对象
01读线圈位(0x)
03读保持寄存器字(4x)
05写单个线圈
06写单个寄存器
15写多个线圈
16写多个寄存器

最常用的是03和06,记住这两个就能应付80%的场景。

寄存器地址

区域地址范围读写说明
0x00001-09999读写线圈(输出)
1x10001-19999只读离散输入
3x30001-39999只读输入寄存器
4x40001-49999读写保持寄存器

三、西门子S7-1200做Modbus TCP通讯

硬件组态

  1. CPU 1215C + 以太网口
  2. 分配IP地址:192.168.0.1

编程步骤

Step 1:添加Modbus指令
在TIA Portal中,从指令库拖出MB_CLIENT和MB_SERVER

Step 2:配置主站参数

  1. // MB_CLIENT配置
  2. REQ := TRUE// 触发请求
  3. DISC := FALSE// 不断开
  4. CONNECT_ID :=1// 连接ID
  5. IP_OCT1 :=192// 从站IP
  6. IP_OCT2 :=168
  7. IP_OCT3 :=0
  8. IP_OCT4 :=2
  9. IP_PORT :=502// Modbus端口
  10. MB_MODE :=0// 读写模式
  11. MB_DATA_ADDR :=0// 起始地址
  12. MB_DATA_LEN :=10// 读取长度

Step 3:数据映射
读取的从站数据存入DB块,在HMI上直接引用即可。

四、调试技巧

  1. 先用Modbus Poll/Slave软件测试——确认通讯参数正确再接实际设备
  2. 波特率/站号必须一致——90%的通讯故障都是参数不对
  3. 接线注意A/B——RS485的A和B不能反
  4. 终端电阻——长距离通讯必须加120Ω终端电阻

五、常见问题

问题原因解决
通讯超时IP/端口错误检查参数
数据错乱字节序问题交换高低字
从站无响应站号不对核对从站地址
偶尔断线接线松动焊接或压紧

Modbus是PLC通讯的敲门砖,学会了再学Profinet、EtherCAT等高级协议就容易多了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询