2. EAP异常分类与分级体系
EAP(Equipment Automation Program,设备自动化程序)位于MES与设备之间,向上承接工单、配方、物料与流程指令,向下通过SECS/GEM、OPC UA或厂商私有协议与机台交互。异常一旦发生,现场最怕的不是“报错”,而是“不知道属于哪一类、该由谁处理、要停多久”。因此,异常分类与分级体系的核心价值,是把一条报警从“现象描述”快速映射为“类别 + 等级 + 责任方 + 处置路径”。
一、按异常对象分类:五类异常的判定边界
分类的第一原则是看异常发生在哪条链路上,而不是看谁先发现。EAP的交互链路可概括为:MES指令 → EAP逻辑 → 通信层 → 设备/配方/物料 → 回传结果。据此可划分五类:
- 设备通信异常:EAP与设备之间的连接、报文、状态机层面失败。典型现象包括SECS连接断开(S1F13/S1F14超时)、SVID/ECID读取超时、事件(CEID)不上报、心跳丢失、通信线程阻塞。判定要点:EAP自身逻辑正常,但收发报文无响应或响应超时。
- 配方异常:配方本体或配方操作失败。包括PPID不存在、配方版本与机台不匹配、配方下载(PPSELECT/PPLOAD)失败、参数校验越界、配方被误改。判定要点:通信正常,但配方内容或选择动作不合法。
- 物料异常:载具、批次、片号与EAP/MES记录不一致。包括Lot ID不匹配、Carrier ID读不到、片数不符、混批、物料状态为Hold却仍被派工。判定要点:设备可运行,但“料”的身份或状态与系统不符。
- 流程异常:工单流转、状态迁移、跳站/重工逻辑错误。包括未按Route执行、重复进站、出站条件不满足、EAP与MES状态不同步。判定要点:单点动作成功,但整体流程顺序或状态机不合法。
- 系统异常:EAP主机、数据库、中间件、接口服务层面的故障。包括EAP服务崩溃、数据库连接池耗尽、消息队列积压、MES接口超时、磁盘写满。判定要点:影响面通常跨设备,非单机台问题。
二、按影响程度与恢复难度分级
仅有分类还不够,产线需要知道“先救谁”。分级建议采用二维矩阵:影响程度(影响机台数量、是否停线、是否影响良率/出货)与恢复难度(是否需人工介入、是否需重启/回滚、预计恢复时间)。据此可定义四级:
| 等级 | 影响程度 | 恢复难度 | 典型响应 |
|---|---|---|---|
| L1 提示 | 单机台、不影响产出 | 自动重试可恢复 | 记录日志,EAP自动重连/重发 |
| L2 警告 | 单机台停机,可切换 | 需现场确认或简单操作 | 通知设备工程师,5–15分钟处理 |
| L3 严重 | 多机台或关键站点停线 | 需人工干预、回滚或换配方 | 升级至EAP/工艺工程师,30分钟内响应 |
| L4 紧急 | 整线/多区域停摆,影响出货 | 需系统级恢复、可能重启服务 | 启动应急,EAP与IT联合处置 |
分级不是静态标签,而是随上下文变化。例如“通信断开”在单机台且可自动重连时为L1;若同一交换机下10台设备同时断开,则升级为L3甚至L4。因此分级必须结合影响范围与持续时间动态判定。
三、实际产线案例映射
以下为教学示例(参数为合理假设,用于说明判定逻辑,非实测数据):
案例A:通信异常。某刻蚀机EAP日志显示“S1F13 timeout, retry 3/3”,机台状态仍为Remote,但EAP无法下发指令。判定:设备通信异常,影响单机台,自动重连失败 → L2。处置:检查设备HSMS端口与网络,确认设备侧通信服务是否假死,重启设备通信模块后恢复。
案例B:配方异常。MES下发PPID“ETCH_OX_02”,EAP执行PPSELECT返回“PPID not found”。判定:配方异常,单机台停机,需工艺确认配方是否存在或版本是否迁移 → L2/L3。处置:核对机台配方列表与MES PPID映射表,补建或修正PPID后重新下载。
案例C:物料异常。Carrier ID读取为“LOT123”,但MES记录该载具应为“LOT124”,片数也不符。判定:物料异常,若继续加工将导致混批 → L3。处置:立即Hold该载具,核对物理标签与MES绑定关系,修正后放行。
案例D:流程异常。某批次已出站,但EAP仍收到进站请求,MES拒绝并报“duplicate track-in”。判定:流程异常,影响单批次流转,需人工确认状态 → L2。处置:检查EAP与MES状态同步逻辑,必要时手动同步批次状态。
案例E:系统异常。EAP数据库连接池耗尽,导致20台设备同时无法上报状态。判定:系统异常,影响面跨设备 → L4。处置:紧急重启EAP服务、扩容连接池,并排查慢SQL或连接泄漏。
四、落地建议:把分类分级写进EAP规则
分类分级不能只停留在文档。建议在EAP中建立异常代码字典,每个代码绑定:类别、默认等级、影响范围、责任方、自动动作(重试/挂起/通知)。例如:
ALM_COMM_TIMEOUT → 类别:通信 等级:L1 动作:自动重连3次
ALM_PPID_NOT_FOUND → 类别:配方 等级:L2 动作:挂起并通知工艺
ALM_LOT_MISMATCH → 类别:物料 等级:L3 动作:Hold载具并通知制造
ALM_DUP_TRACKIN → 类别:流程 等级:L2 动作:拒绝并同步MES状态
ALM_DB_POOL_EMPTY → 类别:系统 等级:L4 动作:告警IT并触发服务重启预案
同时,等级应支持动态升级:同一异常在5分钟内重复3次,或影响设备数≥5台,自动升一级。这样既能避免“小题大做”,也能防止“大事化小”。最终目标是让现场人员看到报警代码,就能在30秒内判断:这是什么类、什么级、找谁、先做什么。