HMI 是控制系统的操作与观测界面,不应成为另一份隐藏的控制程序。稳定的工程将网络、通信连接、变量契约、PLC 逻辑和画面表现分层,使实体操作与 HMI 操作共用同一套安全逻辑。
通信链路是两层关系
PLC 和 HMI 在同一工业以太网子网,只说明网络层可达;HMI 还需要一条指向具体 PLC 及其接口的逻辑通信连接。排查时分别确认:
- 设备型号、固件和通信驱动匹配。
- PLC、HMI 和工程站地址唯一,子网掩码及网段配置相容。
- 两设备已加入同一 PN/IE 子网。
- HMI 连接的通信伙伴和节点确实指向目标 PLC。
- HMI 变量通过该连接绑定到预期的 PLC 符号。
“在同一根网络连线上”不等于“HMI 已建立 PLC 连接”。当伙伴或节点为空时,应回到网络/连接视图检查逻辑连接,不要只反复修改 IP。
HMI 变量是接口契约
控制侧可提供独立的 HMI 命令与状态接口,但不应让 HMI 按钮直接绕过联锁驱动物理输出。典型流向是:
实体按钮 ─┐
├→ 规范化操作请求 → 模式/联锁/顺控 → 内部命令 → 物理输出
HMI 按钮 ─┘ ↓
HMI 状态与报警
变量名称应表达语义而不是画面位置。操作请求、内部命令、到位反馈和模式状态必须分开。如果系统没有执行器实际运行反馈,画面只能标成“运行命令”,不能将 PLC 输出命令冒充为实际运行状态。
HMI 操作也应定义明确的时间语义:点动命令可用按下置位、释放复位,但必须考虑断线、画面切换或按键释放事件未送达的情况。PLC 端应将其当作请求,通过模式、许可、超时或脉冲化等约束防止命令粘连。急停等安全功能不能仅依赖普通 HMI 按钮。
按读写方向划分接口,可以减少重复变量和多写入冲突:
- 只读状态灯、状态文字和数值显示,可直接绑定 PLC 已有的反馈、模式、报警或最终命令变量;无需为了 HMI 再复制一套状态 DB。
- 按钮、点动请求和设定值是 HMI 写入 PLC 的数据,宜进入独立的 HMI 命令/参数接口,再由 PLC 与实体请求合并并经过同一套联锁。
- 被 I/O 映射每周期刷新的实体输入镜像不适合作为 HMI 写入目标,否则 HMI 写入值会被下一次扫描覆盖。
- 画面编号、页面切换等纯界面状态可保留为 HMI 内部变量,不必进入 PLC。
参数设定应使用适合操作者理解的单位,并在 HMI 或 PLC 接口处限定上下界和默认值;PLC 内部再转换为指令需要的类型和单位。是否建立转换层取决于任务是否要求可调参数,不应为了模板完整而无条件增加复杂度。
画面组织服务于操作和诊断
画面应按设备单元和用户任务分区,常见区域包括:
- 模式、运行、停止、故障和复位等总体状态;
- 启动、停止与手动点动等操作;
- 传感器和到位反馈;
- 执行器命令或已确认的运行反馈;
- 连锁条件、故障原因和复位许可。
多单元系统可为每个单元建立独立画面,通过稳定的公共导航切换。画面的静态框架可先建,再逐项绑定变量和事件,这样更容易通过对齐、复制和统一样式减少配置错误。
二值状态可用“文字+形状/颜色”表示,但颜色不应是唯一编码;应同时保留明确文字,并为故障、无通信、未知或质量无效状态预留与正常 0 值不同的表示。
对象卡或设备单元页面适合复用布局骨架,例如总体状态、联锁、传感器、执行器、手动操作和参数区;复用时必须逐项替换标题、标签、变量绑定、按钮事件和参数范围。若共享模板通过“画面编号+文本列表”显示标题,只修改对应文本条目,不应破坏数值与页面的映射。模板复用的是信息结构和视觉规范,不是旧设备的变量连接。
分层联调与验收
联调应从通信和单个信号开始,而不是直接跑完整自动流程:
- 编译 PLC 与 HMI,确认设备和连接无配置错误。
- 在线观察一个 PLC 状态位,确认 HMI 显示可随其变化。
- 操作一个非安全关键的 HMI 请求,观察 PLC 是否收到按下与释放。
- 验证请求经联锁后才产生内部命令,再核对物理输出。
- 逐项验证模式、手动、自动、停止、复位和故障流程。
- 模拟断线、切换画面、长按/快速点按和重连,确认不会留下粘连命令或错误显示。
验收时应同时对照任务要求、PLC 在线变量、HMI 表现和实际 I/O。若 HMI 显示与设备行为不一致,沿“画面对象→HMI 变量→通信连接→PLC 符号→内部命令/反馈→I/O 映射”逐层定位。
相关知识
- PLC 离散顺序控制的设计与检查
- 过程控制与工业自动化系统分层