GEM 状态模型基础:设备状态机(EQUIPMENT STATE MACHINE)的三大状态详解
在 SECS/GEM 协议体系中,设备状态机(Equipment State Machine, ESM) 是描述设备宏观运行阶段的核心模型。它定义了设备从上电到完成生产任务的全生命周期行为。GEM 标准将设备状态机划分为三个顶级状态:INIT(初始化)、IDLE(空闲) 和 EXECUTING(执行)。理解这三个状态及其转换关系,是掌握 T6 定时器超时处理与状态机复位逻辑的前提。
核心要点: 设备状态机是 GEM 通信模型中最高层级的状态机,它控制着设备是否允许开始加工、是否处于报警状态、以及是否能够响应远程命令。T6 定时器超时往往会导致状态机强制复位到 INIT 或 IDLE 状态。
2.1 三大状态的定义与职责
下表从状态描述、进入条件、主要行为三个维度,对 INIT、IDLE、EXECUTING 进行对比:
| 状态名称 | 状态描述 | 进入条件 | 主要行为 / 职责 |
|---|---|---|---|
| INIT | 设备上电或复位后的初始阶段,尚未完成自检与通信就绪 | 设备上电、硬件复位、T6 超时强制复位 | 执行内部自检、加载配方参数、建立通信链路、初始化 GEM 变量 |
| IDLE | 设备已完成初始化,处于待命状态,未执行任何加工任务 | INIT 阶段成功完成、加工任务结束、异常中止后清理完成 | 等待主机(Host)下发启动命令、允许远程控制、监控报警状态 |
| EXECUTING | 设备正在执行加工、传输或测量任务 | 从 IDLE 接收到启动命令(如 S02F41) | 执行工艺步骤、上报事件、处理材料、响应暂停/中止命令 |
工程提示: 在半导体设备中,IDLE 状态并不等同于“断电”或“离线”。处于 IDLE 状态的设备仍然保持与主机的 SECS 连接,并且可以响应状态查询、报警上报等非加工类消息。
2.2 状态转换流程与触发条件
设备状态机的转换遵循严格的单向或双向路径。下图展示了三个状态之间的标准转换关系:
2.3 各状态内部子状态与关键行为
每个顶级状态内部还包含若干子状态,这些子状态决定了设备在宏观阶段中的具体行为。以下是各状态的关键子状态与行为清单:
2.3.1 INIT 状态
- Power On Self Test (POST): 设备上电后执行硬件自检,检查传感器、执行器、通信模块是否正常。
- Communication Establishment: 建立 SECS 连接(如果配置为主动连接模式),发送 S01F01 请求通信。
- Variable Initialization: 将 GEM 状态变量(如 MDLN、SOFTREV、CLOCK)恢复为默认值或从非易失存储加载。
- Recipe Loading: 加载当前激活的配方参数到控制器内存。
注意: 如果 INIT 阶段超过 T6 定时器设定的超时时间(通常为 10-60 秒),设备应主动上报 S06F01 报警,并可能触发状态机复位循环。这是 T6 超时处理的关键场景之一。
2.3.2 IDLE 状态
- Remote Command Listening: 监听主机下发的远程命令(如 S02F41 启动、S02F41 停止)。
- Alarm Monitoring: 持续监控设备报警状态,若发生报警则主动上报 S05F01。
- Material Presence Check: 检查加工腔内是否有材料(晶圆、掩模版等),并上报 S01F11 状态数据。
- Operator Interface: 允许本地操作员通过 HMI 查看状态或手动干预。
2.3.3 EXECUTING 状态
- Process Step Execution: 按照配方步骤顺序执行工艺参数(温度、压力、时间、流量等)。
- Event Reporting: 在关键工艺节点(如步骤开始、步骤结束、报警触发)上报 S06F11 事件通知。
- Material Tracking: 跟踪材料在设备内的位置与状态,更新物料跟踪系统。
- Pause / Abort Handling: 响应主机的暂停(S02F41 PAUSE)或中止(S02F41 ABORT)命令,执行安全停止流程。
2.4 状态转换的触发消息与条件
下表列出了从 IDLE 到 EXECUTING 以及返回时,GEM 标准中常用的 SECS 消息:
| 转换方向 | 触发消息 | 消息方向 | 说明 |
|---|---|---|---|
| IDLE → EXECUTING | S02F41 (Host Command: START) | Host → Equipment | 主机下发启动命令,设备进入加工流程 |
| EXECUTING → IDLE | S02F41 (Host Command: STOP / ABORT) | Host → Equipment | 主机下发停止或中止命令,设备结束加工 |
| EXECUTING → IDLE | 本地加工完成事件 | Equipment 内部 | 配方执行完毕,自动返回空闲状态 |
| IDLE → INIT | S02F41 (Host Command: RESET) | Host → Equipment | 主机下发复位命令,设备重新初始化 |
| 任何状态 → INIT | T6 定时器超时 | Equipment 内部 | 通信或操作超时,强制复位状态机 |
2.5 状态机与 T6 定时器的关联
T6 定时器在 GEM 协议中用于监控设备对主机请求的响应时间。当 T6 超时时,设备状态机将根据设备配置执行以下两种复位策略之一:
- 软复位(Soft Reset): 状态机从当前状态跳转到 IDLE 状态,保留部分配置参数(如配方、报警设置),仅清除通信缓冲区。
- 硬复位(Hard Reset): 状态机强制跳转到 INIT 状态,所有 GEM 变量恢复为出厂默认值,需要重新执行完整的初始化流程。
最佳实践: 在半导体设备开发中,建议将 T6 超时后的复位策略设计为可配置项。对于关键工艺设备(如刻蚀机、光刻机),推荐使用硬复位以确保状态一致性;对于传输类设备(如机械手、EFEM),软复位可减少停机时间。
2.6 状态机复位对设备行为的影响
当设备状态机因 T6 超时或其他异常发生复位时,以下 GEM 行为将受到影响:
- 通信会话: 如果复位到 INIT,设备可能断开现有 SECS 连接并重新建立,导致主机需要重新发送 S01F13 建立通信。
- 事件订阅: 所有通过 S02F33 注册的 CEID(收集事件 ID)将被清除,主机需要重新订阅。
- 报警状态: 当前激活的报警可能被清除或保留,取决于复位类型。
- 配方状态: 硬复位会丢失当前加载的配方,软复位则保留。
- 材料跟踪: 正在加工的材料可能被标记为“未知”状态,需要人工干预。
下图展示了 T6 超时触发状态机复位时的内部处理流程:
2.7 常见问题与避坑指南
常见误区 1: 认为 IDLE 状态等同于“离线”。实际上,IDLE 状态下的设备仍然保持 SECS 连接,可以响应 S01F01 和 S01F03 等查询消息。只有处于 INIT 状态且未完成通信建立时,设备才可能处于离线状态。
常见误区 2: 忽略 EXECUTING 状态下的 T6 超时。许多开发者只在 IDLE 或 INIT 状态监控 T6 定时器,但 EXECUTING 状态下如果主机长时间未响应设备的上报消息(如 S06F11 事件确认),同样会触发 T6 超时,导致加工中断。
调试建议: 在开发阶段,建议在设备 HMI 上实时显示当前状态机所处的顶级状态和子状态,并记录状态转换日志。当 T6 超时发生时,日志应包含超时发生时的状态、已等待时间、以及复位后的目标状态,便于快速定位问题。