4. 设备状态模型与数据采集
在晶圆制造自动化中,设备状态模型是连接物理机台与上层MES/EAP系统的语义桥梁。如果状态定义不统一,EAP无法准确判断机台是否可派工,MES无法计算OEE,APC也无法判断何时可以下发配方。TEL设备(如涂胶显影机CLEAN TRACK、刻蚀机、热处理炉)内部本身有一套状态机,而SEMI E10标准提供了行业通用的状态分类框架。数据采集点设计则决定了我们能否从设备中稳定、完整地获取这些状态与事件。
一、TEL设备内部状态机与E10状态模型的映射
TEL设备控制器内部通常维护一个细粒度的状态机,例如:IDLE(空闲待命)、RUN(执行配方)、PAUSE(暂停等待操作员)、ALARM(报警锁定)、PM(预防性维护)、SETUP(换配方/换产品)、ENG(工程模式)。这些状态由设备PLC和上位机软件共同维护,并通过SECS-II消息(如S1F3、S6F11)对外报告。
SEMI E10将设备状态划分为六大类:Non-Scheduled Time(非计划时间)、Unscheduled Downtime(非计划停机)、Scheduled Downtime(计划停机)、Engineering Time(工程时间)、Standby Time(待机时间)、Productive Time(生产时间)。E10的核心价值在于:它把设备时间划分为互斥且完备的集合,使OEE计算有统一口径。TEL内部状态必须映射到E10的六大类,才能被MES正确统计。
映射关系示例:TEL的RUN映射到E10的Productive Time;IDLE映射到Standby Time;ALARM映射到Unscheduled Downtime;PM映射到Scheduled Downtime;ENG映射到Engineering Time;SETUP根据是否计划内,映射到Scheduled Downtime或Standby Time。映射表通常配置在EAP的状态转换规则中,而不是硬编码在设备端。
二、事件报告机制:S6F11与数据采集点
SECS-II的S6F11(Event Report Send)是设备主动上报状态变化的核心消息。设备端定义CEID(Collection Event ID)表示“发生了什么事件”,RPTID(Report ID)表示“这个事件携带哪些数据”,VID(Variable ID)表示具体的数据变量。EAP收到S6F11后,解析出事件类型和关联数据,更新状态模型并转发给MES。
数据采集点设计的关键在于:不是所有状态变化都需要上报,也不是所有数据都需要高频采集。合理的做法是按“事件驱动为主、轮询为辅”的原则设计。例如:
- 状态变化事件:CEID=1001(设备状态变更),携带VID=2001(当前状态码)、VID=2002(上一状态)、VID=2003(时间戳)。
- 报警事件:CEID=2001(报警发生),携带ALID(报警ID)、ALTX(报警文本)、VID=3001(报警等级)。
- 配方事件:CEID=3001(配方开始),携带PPID(配方ID)、LOTID(批次号)。
- 周期采集:对于温度、压力等模拟量,通过S1F3轮询或S6F11周期上报,采样周期通常设为1~5秒。
采集点设计需要与设备端SECS/GEM接口能力对齐。TEL设备通常支持标准CEID列表,但不同机型(如CLEAN TRACK ACT系列与Lithius系列)的CEID定义可能不同。因此,EAP中需要为每种机型维护一份“CEID-事件-数据项”映射表,并在设备联机时通过S1F11/S1F12读取设备变量列表进行校验。
三、警报管理与状态恢复
警报管理不是简单记录报警文本,而是要将报警与设备状态、批次、产品关联起来。TEL设备的报警通常分为三个等级:Warning(警告,不影响生产但需关注)、Error(错误,当前批次可能受影响)、Fatal(致命,设备立即停机并锁定)。EAP收到报警后,应执行以下动作:
- 记录报警发生时间、ALID、等级、关联批次。
- 将设备状态切换为ALARM,并映射到E10的Unscheduled Downtime。
- 判断是否需要暂停派工:Fatal报警立即锁定设备;Error报警根据配置决定是否允许当前批次完成。
- 报警清除后,设备回到IDLE或PAUSE,EAP更新状态并恢复派工。
一个常见的工程问题是“报警抖动”:设备在短时间内反复上报同一报警。EAP应设置去抖逻辑,例如同一ALID在30秒内重复出现时只记录一次,避免MES收到大量重复事件。同时,报警恢复事件(CEID=2002)必须与报警发生事件配对,否则状态机会卡在ALARM状态。
四、数据采集点设计示例
以下是一个TEL涂胶显影机(CLEAN TRACK)的数据采集点配置示例,用于EAP与MES集成。表中参数为教学示例,实际值需根据设备SECS/GEM手册确认。
| 采集点名称 | CEID | 触发方式 | 关联VID/数据项 | 用途 |
|---|---|---|---|---|
| 设备状态变更 | 1001 | 事件驱动 | 2001(状态码), 2002(前状态), 2003(时间) | E10时间统计、派工判断 |
| 报警发生 | 2001 | 事件驱动 | ALID, ALTX, 3001(等级) | 报警管理、停机统计 |
| 报警清除 | 2002 | 事件驱动 | ALID, 2003(时间) | 状态恢复、去抖配对 |
| 配方开始 | 3001 | 事件驱动 | PPID, LOTID, 3002(腔体号) | 批次追溯、SPC |
| 配方结束 | 3002 | 事件驱动 | PPID, LOTID, 3003(结果码) | 良率分析、OEE |
| 腔体温度 | — | 周期轮询(S1F3) | 4001(温度值), 4002(设定值) | APC、FDC |
| 处理时间 | 3003 | 事件驱动 | 5001(实际秒数), 5002(标准秒数) | 节拍分析、瓶颈识别 |
总结来说,TEL设备状态模型与数据采集的核心任务是:建立TEL内部状态到E10六大状态的准确映射,设计合理的CEID/RPTID/VID采集点,实现报警的完整生命周期管理,并确保状态机在报警、暂停、恢复等边界条件下不会卡死。这些工作直接决定了上层MES能否获得可信的设备状态数据,进而影响派工、OEE和良率分析的准确性。