1. 课程导入
在工业自动化项目中,PLC 控制逻辑只是系统的一半,另一半是“人如何看见、如何操作、如何远程维护”。CODESYS 作为 IEC 61131-3 的主流开发平台,不仅提供 PLC 编程环境,还内置了可视化(Visualization)与远程访问能力。本课程围绕 CODESYS HMI 开发 与 远程运维 两条主线展开,帮助你把“能跑的控制程序”升级为“可交付、可维护、可远程诊断的完整系统”。
一、学习目标:从会编程到能交付
本课程不是单纯讲控件拖拽,而是以工程交付为目标。学完后,你应当具备以下能力:
- HMI 设计能力:能基于 CODESYS Visualization 设计画面、绑定变量、处理用户权限与报警。
- 数据交互能力:理解 HMI 与 PLC 变量、结构体、数组之间的数据映射关系。
- 远程运维能力:掌握 WebVisu、网关、VPN、端口映射等远程访问方式,并能判断其适用边界。
- 诊断与排障能力:能通过日志、在线变量、网络状态定位 HMI 无响应、变量不刷新、远程断连等问题。
- 安全与规范意识:理解远程运维中的认证、加密、最小权限与审计要求。
核心判断:HMI 不是“画得好看”,而是“数据对、权限清、报警准、远程稳”。这四点决定了项目能否真正上线。
二、核心概念:先建立正确的对象模型
CODESYS HMI 与远程运维涉及几个关键对象,理解它们之间的关系,比记住菜单位置更重要。
| 概念 | 作用 | 典型对象/参数 |
|---|---|---|
| 可视化(Visualization) | 运行在 PLC 或 Web 端的画面系统 | Visualization、Frame、Element |
| 变量绑定 | 把画面元素与 PLC 变量关联 | PLC_PRG.nSpeed、结构体成员 |
| WebVisu | 通过浏览器访问 HMI 画面 | WebServer、端口 8080 |
| 网关/路由 | 实现跨网段远程访问 | Gateway、IP 转发、VPN |
| 用户与权限 | 控制不同角色的操作范围 | User、Group、Access Rights |
| 报警系统 | 对异常状态进行提示与记录 | Alarm、Alarm Group、Ack |
其中最容易混淆的是“本地 HMI”与“WebVisu”。本地 HMI 通常运行在触摸屏或工控机上,依赖目标设备;WebVisu 则由 PLC 内置 Web 服务器生成页面,浏览器即可访问。两者变量来源相同,但部署方式和性能边界不同。
三、整体框架:三层结构看清全貌
本课程的知识体系可以归纳为“现场层—服务层—访问层”三层结构。现场层负责数据采集与控制;服务层负责画面、报警、用户和 Web 服务;访问层负责本地操作与远程接入。下图展示了这一整体框架及学习路径。
四、方法流程:一个可复用的开发闭环
无论项目大小,HMI 与远程运维开发都可以按以下闭环推进:
- 需求梳理:明确画面数量、操作角色、报警等级、远程访问范围。
- 变量规划:先定义 PLC 变量与结构体,再设计画面绑定,避免“画面先行、变量混乱”。
- 画面开发:按“总览—分页—详情”组织,关键参数放在首屏。
- 权限与报警:配置用户组、访问权限、报警组与确认机制。
- 远程接入:选择 WebVisu、网关或 VPN,并测试带宽与延迟。
- 联调与排障:在线监控变量、查看日志、模拟断网与权限切换。
建议在项目初期就建立变量命名规范,例如
HMI_ 前缀用于画面变量,ALM_ 前缀用于报警变量。后期排障时,命名规范能显著降低沟通成本。
五、案例场景:一个远程水泵站监控
假设你需要为一个偏远水泵站开发 HMI,并要求工程师在办公室远程查看。典型配置如下:
PLC 变量:
PLC_PRG.nPressure : REAL; // 出口压力
PLC_PRG.bPumpRun : BOOL; // 泵运行状态
PLC_PRG.nFlow : REAL; // 瞬时流量
ALM_PRG.bOverload : BOOL; // 过载报警
WebVisu 配置:
WebServer : 启用
Port : 8080
访问方式 : http://192.168.1.10:8080/webvisu.htm
远程接入:
方案A:VPN 拨入内网后访问 WebVisu
方案B:网关端口映射 + 强密码 + HTTPS
这个案例中,画面负责展示压力、流量和泵状态;报警系统负责过载提示;WebVisu 负责远程查看;VPN 或网关负责跨网段接入。四者缺一不可。若只做画面不做权限,任何人都能启停水泵;若只做远程不做加密,端口暴露将带来严重安全风险。
六、常见误区与复盘
- 误区一:先画画面再想变量。 结果变量命名混乱、结构体无法复用,后期改一处牵动全局。
- 误区二:把 WebVisu 当成万能远程方案。 低带宽或高实时场景下,WebVisu 刷新延迟明显,应评估网关或本地 HMI。
- 误区三:忽略权限分级。 操作员与工程师共用同一账号,误操作风险极高。
- 误区四:远程端口直接暴露公网。 必须使用 VPN、HTTPS、强密码与访问白名单。
- 误区五:不做断线模拟。 远程运维必须测试网络抖动、断连重连和会话超时。
远程运维的第一原则是“最小暴露面”。能走 VPN 就不要直接映射端口;能只读就不要开放写权限;能审计就不要关闭日志。