HMI工控机数据采集与MES对接系统
项目背景
客户为一家精密零部件加工企业,车间部署了多台不同品牌的CNC数控机床。长期以来,设备运行数据依赖人工抄录,生产工单通过纸质单据流转,导致数据滞后、统计失真,MES系统中的排产计划与车间实际执行严重脱节。
客户希望在不更换现有设备的前提下,通过部署HMI工控机实现车间设备的统一数据采集与集中管控,并与现有MES系统打通数据链路。
系统架构
核心功能实现
多协议数据采集
针对车间内不同品牌CNC设备的通信差异,采集引擎采用插件化架构,为Fanuc、Siemens、Mitsubishi等主流数控系统分别开发协议适配器。通过Modbus TCP和OPC UA两种工业协议,以≤200ms的周期实时采集主轴转速、进给速率、刀具编号、加工计数、报警状态等关键参数。
边缘数据处理
工控机本地完成数据清洗、越限判断和聚合计算,减少无效数据上传。核心处理逻辑包括:
异常过滤:剔除通信抖动产生的跳变值,通过滑动窗口均值校验数据有效性 状态推断:综合主轴负载、进给状态、程序运行标志等多个信号,推断设备当前处于加工、空闲、换刀或报警状态 * 节拍统计:按加工程序周期自动计算单件加工时间,作为OEE计算的数据源
处理后的数据写入本地SQLite缓存,采用双队列机制:实时队列用于HMI界面刷新,上传队列用于向MES推送。断网期间数据持续缓存,网络恢复后自动按时序补传。
MES系统对接
上行数据通过MQTT协议推送至MES系统,包括设备状态变更、加工完成事件和异常告警三类消息主题。MES系统下行通过RESTful API向工控机下发生产工单,工控机解析后在HMI界面展示当前工单信息,并支持操作员一键确认开工。
关键对接流程:
HMI操作界面
基于Qt/C++开发,界面运行在10.1寸工业触摸屏上,适配车间强光环境。主界面采用多区域分屏布局:
设备总览区:以卡片形式展示所管辖设备的运行状态、当前工单与加工进度 实时数据区:以数值面板和趋势曲线展示选中设备的主轴转速、进给速度、负载率等核心参数 告警信息区:滚动展示当前活跃告警,支持手动确认与备注 工单操作区:展示MES下发的待执行工单列表,支持一键开工和报工操作
设备控制
工控机支持通过HMI界面对CNC设备执行有限的远程控制操作,包括程序选择、循环启动/暂停、进给倍率调节。所有控制指令执行前需操作员在界面二次确认,指令执行结果实时回读校验,确保操作安全。
技术要点
| 技术点 | 方案 | | ---------- | -------------------------------------------------- | | 多品牌兼容 | 插件化协议适配架构,新增设备型号仅需开发对应适配器 | | 数据可靠性 | SQLite本地缓存 + 双队列机制,断网续传零丢失 | | 实时性保障 | 采集与处理线程分离,采集周期≤200ms | | 安全控制 | 指令二次确认 + 回读校验 + 操作日志全记录 | | 界面适配 | Qt针对工业触摸屏优化,支持手套操作与强光可视 |
项目成效
系统上线后,客户车间12台CNC设备全部接入统一管理,MES系统首次获得了来自设备层的真实生产数据。人工抄录环节被完全替代,工单从下发到设备执行的响应时间从原来的平均15分钟缩短至1秒以内。设备异常告警实现了自动上报与分级推送,平均故障响应时间缩短了约70%。加工节拍数据的自动统计为后续OEE分析和产能优化提供了可靠的数据基础。
