HMI与多台PLC的通信轮询配置
工业现场中,一台触摸屏(HMI)往往需要同时监控多台PLC。若配置不当,轻则通信卡顿,重则数据错乱、设备误动作。本文从零开始,手把手教你完成多PLC轮询通信的完整配置,涵盖硬件接线、软件参数、程序逻辑与常见故障排查。
一、核心原理:什么是轮询通信
轮询(Polling)的本质是"一问一答"。HMI作为主站,按固定时间间隔依次向各PLC发送数据请求,PLC收到后返回数据,HMI处理后再轮询下一台。
与"中断通信"相比,轮询的优势在于时序可控、程序简单、兼容性强,适合PLC数量不多(通常4-8台以内)、实时性要求不极端的场景。
关键参数关系:
单台PLC通信时间 = 请求发送时间 + PLC响应时间 + 数据处理时间
总轮询周期 = 单台时间 × PLC数量 + 间隔缓冲时间
例如:8台PLC,每台平均50ms,则理论最小周期为400ms。实际工程中需预留30%-50%余量,设定为500-600ms较为稳妥。
二、硬件准备与接线规范
2.1 通信接口选型
常见方案对比:
| 接口类型 | 适用距离 | 最大速率 | 典型应用 |
|---|---|---|---|
| RS-485 | 1200m | 115.2kbps | 产线设备,多台从站 |
| RS-232 | 15m | 115.2kbps | 单台调试,近距离 |
| 以太网 | 100m(交换机扩展无上限) | 100Mbps | 高速大数据,远距离 |
| USB | 5m | 12Mbps | 临时调试,不推荐长期运行 |
RS-485多机轮询为工业最常用方案,本文以此为主案例,以太网方案作为扩展说明。
2.2 RS-485接线要点
确认物理接口:查看PLC与HMI的COM口标识。RS-485通常标记为A+ / B-或D+ / D-或DATA+ / DATA-,不同厂商命名可能相反,必须以电气特性为准:A为正端,B为负端。
接线步骤:
- 断开电源,确认所有设备断电。
- 准备屏蔽双绞线,线径0.5mm²以上,特性阻抗120Ω。
- 将所有PLC的A端并联,接入HMI的A端。
- 将所有PLC的B端并联,接入HMI的B端。
- 在总线两端各接入120Ω终端电阻——物理位置在最远的两台设备上,非电气意义上的两端。通常HMI内置可选电阻,PLC端需外接或软件使能。
- 屏蔽层单端接地,推荐在HMI侧接地,PLC侧悬空,避免地环流。
常见致命错误:
- A/B线接反:通信灯闪烁但数据全错或时有时无。
- 终端电阻遗漏或多加:信号反射导致丢包,现象为通信时断时续。
- 多点接地:工频干扰导致偶发数据跳变。
三、PLC侧参数配置(以三菱FX系列为例)
每台PLC必须设定唯一的站号,且通信参数与HMI侧严格一致。
3.1 站号设定
通过PLC内置拨码开关或参数寄存器设定:
- 第一台PLC:
D8121 = 0(站号0) - 第二台PLC:
D8121 = 1(站号1) - 依此类推...
关键:站号必须连续从0开始,或按HMI支持的格式设定。非连续站号会导致轮询空等,浪费周期。
3.2 通信参数设定
在PLC程序中写入以下特殊寄存器:
| 参数 | 寄存器 | 推荐值 | 含义 |
|---|---|---|---|
| 协议格式 | D8120 |
H0087 |
9600bps, 7位数据, 偶校验, 1停止位, 无和校验 |
| 站号 | D8121 |
0~7 |
本机地址 |
| 超时判定 | D8129 |
10 |
超时时间=设定值×10ms |
D8120位定义详解(十六进制转二进制):
b0=1: 数据长度7位
b1b2=1,1: 偶校验
b3=1: 停止位1位
b4b7=0,0,0,0: 9600bps
b8=0: 无和校验
b9=1: 无协议模式(或使用专用协议模式,依PLC型号)
写入示例程序:
MOV H0087 D8120 ; 通信格式
MOV K0 D8121 ; 本站号设为0
MOV K10 D8129 ; 超时100ms
四、HMI侧配置详解(以威纶通/步科为例,原理通用)
4.1 新建工程与基础设定
打开HMI编程软件(如威纶通EBPro、步科Kinco HMIware),创建新工程:
- 选择HMI型号:务必与实际硬件一致,涉及内存容量与通信口定义。
- 设定显示分辨率:与触摸屏物理分辨率匹配。
- 添加PLC设备:在"设备/通讯"窗口,添加第一台PLC。
4.2 单台PLC通信参数
双击设备属性,设定以下参数:
| 参数项 | 设定值 | 说明 |
|---|---|---|
| 设备名称 | PLC_0 |
自定义,建议带站号 |
| 所在位置 | 本机COM1 |
或COM2,依实际接线 |
| 通信协议 | Mitsubishi FX2N |
或对应PLC型号 |
| 站号/站地址 | 0 |
与PLC侧D8121一致 |
| 波特率 | 9600 |
必须与PLC一致 |
| 数据位 | 7 |
必须与PLC一致 |
| 校验 | 偶校验(E) |
必须与PLC一致 |
| 停止位 | 1 |
必须与PLC一致 |
4.3 添加多台PLC(核心步骤)
复制设备或重复添加,建立多个PLC设备:
- 添加第二台PLC:设备名设为
PLC_1,站号设为1,其余参数完全相同。 - 添加第三台PLC:设备名
PLC_2,站号2。 - 重复至所有PLC添加完毕。
关键设置:轮询使能与时间
在"系统参数设置" → "通信" 标签页:
- 勾选"多站轮询"或"轮询通信":启用轮询机制,HMI自动按设备列表顺序访问。
- 设定"轮询周期":建议值为
100ms × PLC数量 × 1.5。8台PLC即设为1200ms。 - 设定"通信超时":单次通信最大等待时间,建议
500ms。 - 设定"重试次数":超时后的重发次数,建议
2-3次。
4.4 数据地址映射
每台PLC的元件在HMI中通过设备名前缀区分:
| HMI元件地址 | 指向位置 |
|---|---|
PLC_0.D0 |
0号PLC的数据寄存器D0 |
PLC_1.D0 |
1号PLC的数据寄存器D0 |
PLC_2.Y0 |
2号PLC的输出继电器Y0 |
PLC_3.M100 |
3号PLC的辅助继电器M100 |
创建画面元件时,在地址栏下拉选择设备名,再输入PLC元件地址,避免混淆。
五、进阶:通信优化与状态监控
5.1 通信负载均衡策略
当PLC数量超过8台或数据量较大时,需优化轮询策略:
策略一:分组轮询
将PLC分为"高速组"和"低速组":
周期: 100ms"] A --> C["低速轮询任务
周期: 1000ms"] B --> D["PLC_0: 急停/安全信号"] B --> E["PLC_1: 主轴运行数据"] C --> F["PLC_2~7: 温度/辅助状态"]
实现方法:在HMI软件中创建两个COM口(物理或虚拟),或使用同一COM口但设定不同的"通信群组",分别绑定不同的轮询周期。
策略二:数据分区访问
将每台PLC的数据分为"A区(常读)"和"B区(按需读)":
- A区:状态字、报警位、关键数值——每轮必读。
- B区:参数设置、历史记录——通过画面触发"事件读取"或"宏指令读取"。
5.2 通信状态诊断
必备:通信状态指示灯
在HMI画面创建指示灯元件,地址绑定系统保留字:
| 功能 | 典型地址(威纶通) | 含义 |
|---|---|---|
| PLC_0通信状态 | LB-9016 |
0=正常,1=断线 |
| PLC_1通信状态 | LB-9017 |
同上 |
| 通信错误代码 | LW-9400 |
具体错误类型查询手册 |
程序示例:自动报警
创建数值显示元件,地址LW-9400,当值非零时,配合位状态指示灯显示"通信故障"。
5.3 以太网方案配置(扩展)
当PLC支持以太网(如三菱FX5U、西门子S7-1200)时,推荐采用以太网轮询:
接线:所有PLC与HMI接入同一交换机,或PLC级联后HMI接交换机。
参数设定:
| 参数 | PLC侧 | HMI侧 |
|---|---|---|
| IP地址 | 192.168.1.10 |
同网段,如192.168.1.100 |
| 子网掩码 | 255.255.255.0 |
相同 |
| 端口号 | 502(Modbus TCP) |
相同 |
| 协议 | Modbus TCP / 专用协议 | 匹配选择 |
优势:通信速度提升至毫秒级,单轮询周期可压缩至50ms × PLC数量,且不受1200米距离限制。
六、典型故障排查速查表
| 现象 | 排查步骤 | 根因与解决 |
|---|---|---|
| 所有PLC通信失败 | 1. 检查HMI通信口指示灯<br>2. 用串口助手抓包<br>3. 单独连接一台PLC测试 | 接线错误/参数不匹配/硬件损坏。重检A/B线、终端电阻、波特率。 |
| 部分PLC通信失败 | 1. 确认失败PLC的站号唯一<br>2. 交换PLC位置测试<br>3. 测量该PLC端口电压 | 站号冲突/该PLC通信口损坏/该段线路接触不良。 |
| 通信时好时坏 | 1. 观察与设备运行的相关性<br>2. 检查屏蔽层接地<br>3. 降低波特率测试 | 电磁干扰/信号反射/波特率过高。改善接地、确认终端电阻、降速至9600以下。 |
| 数据错位或跳变 | 1. 对比PLC实际值与HMI显示<br>2. 检查元件地址是否跨设备重复<br>3. 查看通信错误计数 | 地址映射错误/不同PLC的相同地址被同一画面引用/偶发丢包未校验。 |
| 轮询周期过长导致卡顿 | 1. 计算理论周期与实际周期<br>2. 减少单台PLC的读取字数<br>3. 启用"批量读取"优化 | 单台数据量过大/未使用连续地址批量读取/PLC数量过多需分组。 |
紧急处理:当通信故障可能导致设备危险时,在PLC程序中编写独立的安全联锁,禁止仅依赖HMI通信状态作为安全判定。
七、完整配置检查清单
工程下载前逐项确认:
- [ ] 所有PLC站号唯一且连续
- [ ] 所有设备波特率、数据位、校验、停止位完全一致
- [ ] RS-485总线A/B未接反,终端电阻正确
- [ ] 屏蔽层单端接地
- [ ] HMI轮询周期设定合理(≥1.5倍理论最小值)
- [ ] 各PLC元件地址前缀正确,无重复冲突
- [ ] 通信状态指示灯已配置,便于现场诊断
- [ ] 备份工程文件,记录各PLC站号与IP对照表

暂无评论,快来抢沙发吧!