一、硬件接线
S7‑200 口是 RS485
Port0:3 脚 = D+ / 8 脚 = D-
昆仑通态屏 COM 口 RS485
一般:A=D+ / B=D-
正确接法
PLC 3 ↔ 屏 A
PLC 8 ↔ 屏 B
屏蔽层单端接地(只接柜内,不接两端)
严禁:
接反 A/B、正负乱接
跟变频器、伺服动力线并排走
二、通讯参数必须完全一致
两边一字不差:
波特率:9600 / 19200 / 38400
数据位:8
校验位:无校验(偶校验也可,但必须一致)
停止位:1
模式:RTU 模式
只要有一个不一样 → 通讯一直报错。
三、PLC 站号设置(非常容易错)
S7‑200 做 Modbus 从站
在程序里用 MBUS_INIT 指令设置站号:
例:站号 = 1
MCGS 设备组态里:
PLC 地址 = 1
注意:
不能设 0(广播)
不能和现场其他 485 设备站号重复
四、PLC 程序必须正确(少一句都不通)
S7‑200 要做 Modbus 从站,必须调用两个库指令:
MBUS_INIT:初始化(只调用一次)
MBUS_SLAVE:从站响应(每个周期都调用)
常见错误:
只写 INIT 不写 SLAVE
用了 SMB30/SMB87 自己改串口模式
多个库指令冲突(PPI/Modbus 抢口)
五、地址对应规则(MCGS 地址别乱填)
S7‑200 Modbus 地址规则:
0xxxx:线圈 → Q、M
1xxxx:离散输入 → I
3xxxx:输入寄存器 → AI
4xxxx:保持寄存器 → V、MW
MCGS 里常用写法:
V 区 → 4x 地址
例如:VW100 = 40051
注意:Modbus 从 1 开始,PLC 从 0 开始
地址算错是通讯正常但数据乱跳的头号原因。
六、MCGS 设备组态要点
设备选择:
西门子 S7‑200 Modbus RTU
不要选 PPI
通道设置:
数据格式 无符号 16 位 / 有符号 16 位 要对应
读写间隔:
不要太快,设 100~200ms
太快会导致 PLC 卡顿、通讯丢包
七、抗干扰(485 通讯不稳定 90% 是它)
通讯线用 屏蔽双绞线 RVSP 2×0.75
屏与 PLC 共地(0V 连一起)
远离变频器、接触器、伺服线缆
长距离(>50m)在屏端或末端加 120Ω 终端电阻
症状:
偶尔断开、数据跳变、报错 6、报错 8 → 全是干扰
八、常见报错与直接原因
报错 6:从站忙→ PLC 程序没写 MBUS_SLAVE
报错 8:数据错误→ 地址格式不对、奇偶校验不一致
报错 1~3:无法连接→ 接线反了、参数不一致、站号错
通讯时断时续→ 干扰、共地不良、波特率太高
九、调试最快方法(老师傅套路)
先看 PLC:MBUS_INIT Done 置 1
再看屏:设备状态 = 运行
单个通道测试,先读一个 VW,再读多个
确认数据不跳、不反向、不翻倍
极简总结
接线 A 对 3、B 对 8,参数完全一致PLC 站号正确,INIT+SLAVE 都写地址按 4x 规则,抗干扰做好通讯基本一次通





