1. 项目概述:当工业HMI遇上家电仿真
在工业自动化领域,MCGS触摸屏作为国产HMI(人机界面)的典型代表,其组态软件在设备监控和流程控制中应用广泛。这次我尝试用MCGS TPC7062Ti型号触摸屏,完整复现一台智能洗衣机的控制逻辑和工作流程。这个项目看似简单,实则涉及HMI组态编程、PLC逻辑模拟、设备状态机设计等多个技术维度的融合。
选择洗衣机作为仿真对象具有特殊考量:首先,它的工作流程包含水位检测、电机正反转、排水阀控制等典型工业控制元素;其次,不同洗衣模式(快洗、标准、强力等)的参数配置差异,正好可以演示MCGS配方功能的应用;最重要的是,通过这个生活化案例,能让初学者直观理解工业HMI的开发逻辑。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心功能设计解析
2.1 模式选择的状态机建模
洗衣机的核心是状态转换逻辑。我采用有限状态机(FSM)设计模式,将洗衣流程分解为:
- 待机状态(显示水位选择界面)
- 进水状态(触发水泵并监测水位传感器)
- 洗涤状态(控制电机正反转节奏)
- 排水状态(开启排水阀并检测水位归零)
- 脱水状态(高速单向旋转)
在MCGS中,通过"用户窗口"的可见性属性和"运行策略"的条件触发器实现状态切换。例如当"启动"按钮按下时,当前窗口隐藏同时进水窗口显示,配合数据对象"CurrentState"的值变化(0→1)。
关键技巧:每个状态窗口都设置返回按钮,其操作属性配置为"退出窗口"而非直接跳转,避免状态混乱。实测发现直接跳转可能导致PLC模拟器接收不到状态变更指令。
2.2 参数配置的配方管理
不同洗衣模式的区别主要体现在三个维度:
- 水位档位(3-5档可选)
- 洗涤时间(10-30分钟)
- 电机转速(800-1200转/分钟)
在MCGS组态软件中,使用"配方数据处理"组件创建wash_mode.csv文件,结构如下:
| 模式ID | 模式名称 | 水位档位 | 洗涤时间 | 转速 |
|---|---|---|---|---|
| 1 | 快洗 | 3 | 10 | 1000 |
| 2 | 标准 | 4 | 20 | 800 |
| 3 | 强力 | 5 |
