4. 设备状态监控数据源梳理

设备状态监控的第一道难题不是“怎么采”,而是“采什么、从哪采、采多快”。一台半导体或电子制造设备往往同时存在 PLC 控制信号、独立传感器、本地日志、SECS/GEM 事件以及 MES/EAP 接口数据,它们描述的是同一台设备的不同侧面。若数据源边界不清,后续就会出现状态判断矛盾、事件重复、告警风暴或漏报。因此,本节先把六类数据源逐一拆开,再讨论采集频率与精度之间的权衡。

一、六类数据源的角色与边界

PLC 信号是设备控制逻辑的直接映射,典型对象包括运行位、自动/手动模式、门锁、真空、伺服使能、报警字、塔灯输出等。它的优势是实时、确定、与设备动作强相关;缺点是语义偏底层,一个“运行位”为 1 并不等于设备在产出合格品。采集时通常按位或按寄存器读取,例如三菱 MC 协议读 D 寄存器、西门子 S7 读 DB 块、欧姆龙 FINS 读 CIO 区。示例:D100=1 表示自动运行,D101=0 表示门锁闭合,M50=1 表示真空到位。

传感器数据是加装在设备或工位上的物理量测量,如温度、压力、流量、振动、电流、位移、洁净度。它比 PLC 更接近“过程真相”,但需要标定、量程和采样率匹配。例如振动传感器用于主轴健康评估时,若只采 1 Hz,几乎无法捕捉轴承故障特征频率;而温度这类慢变量,1 Hz 已足够。

设备日志是设备软件或工控机写出的文本/结构化记录,包含启动、配方切换、错误码、通信异常、操作员动作等。它信息丰富但格式不统一,常见为 2025-03-18 10:22:31 ERROR E2041 Door open during run。日志适合做根因追溯和上下文补全,不适合作为毫秒级状态源。

SECS 事件是 SEMI 设备通信标准中的事件报告,如 S6F11 事件、S5F1 报警、S1F3 状态变量。它语义标准化、与 MES/EAP 对接成熟,是设备状态与批次关联的关键。但 SECS 事件依赖设备端 GEM 实现质量,部分老设备事件粒度粗、上报延迟大。

MES/EAP 接口数据提供工单、批次、Recipe、设备状态确认、OEE 统计等上层信息。它回答“这台设备当前应该做什么、属于哪个批次、是否被派工”,但不直接反映设备内部实时动作。EAP 通常作为中间层,把 SECS 事件、PLC 信号和 MES 工单做关联。

下图把六类数据源按“设备内部—边缘—上层”的层次关系组织起来,并标出典型采集方式与状态判断用途,便于建立整体数据源地图。

设备状态监控六类数据源分层地图 上层业务与接口层 MES:工单 / 批次 / 派工 EAP:状态关联 / 事件转发 OEE / 报表 / 告警平台 标准通信层 SECS/GEM:S6F11 事件、S5F1 报警、S1F3 状态变量 设备日志:错误码 / 配方切换 / 操作记录 设备内部实时层 PLC 信号 运行位 / 模式 / 门锁 报警字 / 真空 / 伺服使能 传感器数据 温度 / 压力 / 振动 电流 / 流量 / 位移 设备本地日志 启动 / 异常 / 通信 操作员动作记录 采集通道与频率策略 PLC:100~500 ms 轮询 | 传感器:按物理量 10 Hz~50 kHz | 日志:文件尾随 / 秒级 | SECS:事件驱动 | MES/EAP:分钟级或触发式

二、采集频率与精度权衡

频率不是越高越好。采集频率首先由“状态变化的最短时间”决定:如果设备报警从触发到恢复只有 200 ms,而 PLC 轮询周期是 1 s,就会漏掉这次报警。工程上常用经验是采样周期 ≤ 最短有效事件持续时间的 1/3~1/2。例如某气缸动作持续 300 ms,则 PLC 轮询应不高于 100~150 ms。

精度则包含时间精度、数值精度和语义精度。时间精度要求所有数据源尽量统一时基,否则 PLC 的“运行”与 SECS 的“批次开始”可能相差数秒,导致状态机误判。数值精度取决于传感器量程与 AD 位数,例如 12 位 AD 在 0~10 bar 量程下分辨率约 2.44 mbar,若工艺只需判断“有无压力”,则无需追求更高位数。语义精度最容易被忽视:PLC 的 M50=1 只表示真空到位,不代表吸附成功,必须结合传感器或下游信号确认。

实际配置时可按以下思路落地:

  • PLC 信号:按状态字分组轮询,关键报警位 100 ms,普通状态位 500 ms,避免全量高频读取拖垮 PLC。
  • 传感器:慢变量(温度、压力)1~10 Hz;快变量(振动、电流波形)按特征频率的 2.56 倍以上采样,并做抗混叠滤波。
  • 设备日志:采用文件尾随或 syslog 转发,秒级入库,重点提取错误码与时间戳。
  • SECS 事件:事件驱动,不轮询;对 S5F1 报警做去重和确认,避免同一报警反复上报。
  • MES/EAP:工单和批次变化用触发式同步,OEE 统计用分钟级聚合。
一个实用原则:状态判断用 PLC + SECS,过程诊断用传感器 + 日志,业务关联用 MES/EAP。不要让日志承担实时状态判断,也不要让高频传感器数据直接进入 MES。

三、示例:某贴片机数据源配置

假设一台贴片机需要监控“运行/待机/报警/换料”四种状态。PLC 侧读取 D100 运行位、D101 门锁、M50 真空、D200 报警字,轮询 200 ms;传感器采集吸嘴真空压力 20 Hz、主轴振动 10 kHz;设备日志尾随 error.log;SECS 订阅 S6F11 批次事件和 S5F1 报警;EAP 从 MES 获取工单并回写设备状态。状态机判断逻辑可简化为:

if D200 != 0:        state = ALARM
elif D100 == 1 and M50 == 1: state = RUN
elif D100 == 1 and M50 == 0: state = WAIT_MATERIAL
else:                state = IDLE

这里 200 ms 轮询能覆盖换料动作的短时真空丢失,20 Hz 真空压力用于判断吸附趋势,10 kHz 振动用于事后诊断而非实时状态。若把振动也做成实时状态源,数据量和误报都会急剧上升。因此,数据源梳理的最终产出不是一张清单,而是一张“谁负责什么状态、谁负责什么诊断、谁负责什么业务”的分工表。只有分工清晰,后续的事件采集、告警收敛和异常处理才有稳定基础。