工厂 HMI
工厂里的 HMI(Human Machine Interface,人机界面),本质上就是:
操作员 ↔ PLC/控制器 ↔ 机器设备之间的操作和信息入口。
它不只是“显示几个按钮”。一个成熟的工厂 HMI 可以承担很多事情。
1. 设备操作
最基本的功能:
HMI
│
┌───────┼────────┐
↓ ↓ ↓
启动 停止 复位
↓ ↓ ↓
PLC
↓
电机/气缸/阀门
例如:
- 自动/手动模式
- 启动/停止
- 点动
- 原点回归
- 气缸动作
- 电机速度设置
- 温度设定
- 压力设定
2. 实时监控
把设备状态显示出来:
电机1 RUN
电机2 STOP
气缸1 EXTEND
温度 85.2℃
压力 0.62MPa
产量 1258
甚至做成设备总览画面:
3. 报警系统
这是工业 HMI 很重要的功能。
比如:
10:32:15 电机1过载 ❌
10:32:20 气压不足 ❌
10:33:01 温度超限 ❌
10:35:21 安全门打开 ❌
并且可以:
- 报警确认
- 报警历史
- 报警等级
- 报警时间
- 报警原因
- 报警恢复记录
4. 参数管理
比如生产不同产品:
产品A
速度:1200 rpm
温度:80℃
压力:0.5 MPa
产品B
速度:1500 rpm
温度:85℃
压力:0.6 MPa
操作员选择:
产品B → 加载配方
PLC 参数就自动切换。
这个叫 Recipe(配方管理)。
5. 生产数据
HMI 可以显示:
今日产量:12580
OK:12450
NG:130
良率:98.97%
运行时间:7.2h
停机时间:0.8h
进一步还能做:
- OEE
- UPH
- 良率
- 节拍
- 停机原因
- 设备利用率
6. 趋势曲线
例如:
温度
100 ┤ ╭──
90 ┤ ╭────╯
80 ┤ ╭────╯
70 ┤────╯
└────────────────
08 09 10 11
可以监控:
- 温度
- 压力
- 电流
- 电压
- 转速
- 流量
7. 设备通信
这其实是你比较值得研究的部分。
HMI 不只是“画界面”,它实际上是一个工业通信终端。
常见:
HMI
│
├── Modbus RTU
├── Modbus TCP
├── Profinet
├── EtherNet/IP
├── OPC UA
├── MQTT
├── CAN
├── RS485
└── TCP/IP
比如:
HMI
│
│ Modbus TCP
↓
S7-1500
│
├── 变频器
├── 伺服
├── IO
└── 传感器
这和你之前研究的 S7-1500 + C++/LabVIEW + Modbus 是直接相关的。
8. 生产测试 HMI
这个我认为特别适合你。
例如 PCBA 测试:
┌─────────────────────────────┐
│ PCBA 自动测试站 │
├─────────────────────────────┤
│ SN:202610050001 │
│ │
│ 电压测试 PASS │
│ 电阻测试 PASS │
│ IO测试 PASS │
│ RS485测试 PASS │
│ MCU测试 PASS │
│ Watchdog测试 PASS │
│ │
│ ★ PASS ★ │
│ │
│ [开始测试] [停止] [报告] │
└─────────────────────────────┘
这种 HMI 可以进一步连接:
HMI
↓
PLC
↓
测试设备
├── 万用表
├── 电源
├── 示波器
├── 电子负载
└── DUT
↓
MES
这已经是一个完整的智能测试工作站。
9. 权限管理
不同人员看到的功能不同:
操作员
├── 启动
├── 停止
└── 查看报警
工程师
├── 参数设置
├── 配方
└── IO调试
管理员
├── 系统设置
├── 用户管理
└── 日志
10. 和 MES / ERP 对接
现在比较先进的 HMI 已经不只是:
HMI ↔ PLC
而是:
MES
↑
│
Ethernet
│
↓
HMI ←──────→ PLC ←──────→ 设备
│
├── SQLite
├── MQTT
├── REST API
└── WebSocket
例如扫描产品 SN:
扫码
↓
HMI
↓
MES查询产品型号
↓
获取测试配方
↓
PLC执行
↓
测试结果
↓
MES上传
如果你想自己开发 HMI
我其实不建议你做成传统的:
“一个触摸屏 + 几个按钮 + Modbus”
可以直接做一个现代版:
Linux + Qt/C++ 工业 HMI
┌──────────────────────────────┐
│ Industrial HMI │
├──────────────────────────────┤
│ Qt / QML │
│ │
│ ├─ PLC通信 │
│ ├─ Modbus │
│ ├─ OPC UA │
│ ├─ Alarm │
│ ├─ Recipe │
│ ├─ Trend │
│ ├─ User │
│ ├─ SQLite │
│ ├─ MQTT │
│ ├─ OTA │
│ └─ MES API │
├──────────────────────────────┤
│ Linux │
├──────────────────────────────┤
│ ARM / RISC-V │
└──────────────────────────────┘
这个方向我认为比单纯学习某个品牌 HMI 组态软件更值得你研究。
浙公网安备 33010602011771号