工厂 HMI

工厂里的 HMI(Human Machine Interface,人机界面),本质上就是:

操作员 ↔ PLC/控制器 ↔ 机器设备之间的操作和信息入口。

它不只是“显示几个按钮”。一个成熟的工厂 HMI 可以承担很多事情。

1. 设备操作

最基本的功能:

 
        HMI
         │
 ┌───────┼────────┐
 ↓       ↓        ↓
启动    停止      复位
 ↓       ↓        ↓
        PLC
         ↓
   电机/气缸/阀门
 

例如:

  • 自动/手动模式
  • 启动/停止
  • 点动
  • 原点回归
  • 气缸动作
  • 电机速度设置
  • 温度设定
  • 压力设定

2. 实时监控

把设备状态显示出来:

 
电机1       RUN
电机2       STOP
气缸1       EXTEND
温度        85.2℃
压力        0.62MPa
产量        1258
 

甚至做成设备总览画面:

 
 
 
6

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 组态软件更值得你研究。

posted on 2026-10-05 13:06  lydstory  阅读(4)  评论(0)    收藏  举报

导航