2. 设备状态机基础:状态机概念、设备生命周期、状态转换事件、GEM标准定义的设备状态模型
2.1 状态机核心概念
状态机(State Machine)是半导体设备控制软件的核心设计模式。在SECS/GEM协议体系中,设备的行为被严格建模为有限状态机(FSM),即设备在任何时刻只能处于一组预定义状态中的某一个,并且状态之间的转换由特定事件或指令触发。
关键术语:
- 状态(State):设备在某一时刻的稳定工况,例如“待机”、“运行中”、“报警中”。
- 转换(Transition):从一个状态到另一个状态的有向路径,必须满足条件才能发生。
- 事件(Event):触发状态转换的外部或内部信号,如“启动按钮按下”、“加工完成”、“报警清除”。
- 动作(Action):进入或离开某个状态时设备执行的具体操作,如“关闭阀门”、“发送消息”。
2.2 半导体设备生命周期
从设备上电到最终关机,半导体设备经历一系列可预测的生命周期阶段。理解这些阶段是配置GEM状态机的前提。
| 生命周期阶段 | 描述 | 典型GEM状态 |
|---|---|---|
| 上电/初始化 | 设备通电,控制器启动,硬件自检,加载配方 | INIT / NOT_COMMUNICATING |
| 待机/空闲 | 设备就绪,等待操作员或上位机下达加工指令 | IDLE / READY |
| 加工运行 | 设备正在执行晶圆加工流程,如刻蚀、沉积、清洗 | EXECUTING / PROCESSING |
| 暂停/保持 | 加工过程中因异常或人为干预暂停,可恢复 | PAUSED / HELD |
| 报警/错误 | 设备检测到故障,进入安全或报警状态 | ALARM / ERROR |
| 离线/维护 | 设备脱离自动化控制,由本地操作员维护 | OFFLINE / MAINTENANCE |
工程提示:设备生命周期中的“暂停”与“报警”状态经常被混淆。暂停通常是可恢复的受控停止(如等待材料),而报警通常伴随硬件故障,需要人工干预清除。在GEM状态机中,这两个状态对应不同的转换路径和事件ID。
2.3 状态转换事件
状态转换事件是驱动设备状态机运转的“燃料”。GEM协议定义了标准事件类型,设备厂商也可以自定义扩展事件。每个事件都携带一个唯一的事件ID(CEID),上位机通过订阅这些事件来实时感知设备状态变化。
常见状态转换事件分类
- 控制事件:由上位机发送的指令触发,如
START、STOP、PAUSE、RESUME、ABORT。 - 设备内部事件:由设备自身逻辑触发,如
PROCESS_COMPLETE、ALARM_DETECTED、ALARM_CLEARED、MATERIAL_LOADED。 - 操作员事件:由本地操作员通过HMI触发,如
OPERATOR_LOGIN、MANUAL_MODE_SELECTED、EMERGENCY_STOP。 - 通信事件:与SECS/GEM连接状态相关,如
ONLINE、OFFLINE、COMMUNICATION_ESTABLISHED、COMMUNICATION_LOST。
常见陷阱:在联调过程中,最常见的故障原因是事件ID(CEID)与状态转换逻辑不匹配。例如,设备内部触发了“加工完成”事件,但状态机未将该事件映射到从EXECUTING到IDLE的转换,导致上位机收到事件后状态显示不一致。务必在设备端和上位机端维护同一份事件-状态映射表。
2.4 GEM标准定义的设备状态模型
GEM协议(SEMI E30)明确定义了设备必须支持的三个核心状态模型:通信状态模型、控制状态模型和处理状态模型。这三个模型相互独立又彼此关联,共同构成设备完整的GEM状态机。
2.4.1 通信状态模型
描述设备与上位机之间的通信连接状态。这是最基础的状态模型,所有其他状态模型都依赖于通信状态。
- NOT COMMUNICATING:未建立通信连接,设备不响应任何SECS消息。
- COMMUNICATING:通信已建立,设备可以接收和发送SECS消息。
2.4.2 控制状态模型
描述设备受谁控制——是本地操作员还是远程上位机。这是GEM状态机中最核心的模型,直接影响设备的行为权限。
| 控制状态 | 描述 | 典型转换事件 |
|---|---|---|
| OFFLINE | 设备完全由本地操作员控制,不接受远程指令 | 操作员选择离线模式 |
| ONLINE/LOCAL | 设备处于在线状态,但控制权仍在本地(操作员可干预) | 上位机发送 ONLINE 指令 |
| ONLINE/REMOTE | 设备完全由上位机控制,本地操作员无法干预加工流程 | 上位机发送 REMOTE 指令 |
2.4.3 处理状态模型
描述设备当前正在执行的加工活动状态。这是与设备工艺直接相关的状态模型。
- IDLE:设备空闲,等待加工指令。
- SETUP:设备正在准备加工条件(如升温、抽真空)。
- READY:设备已准备好,可以开始加工。
- EXECUTING:设备正在执行加工流程。
- PAUSED:加工暂停,可恢复。
- ABORTING:设备正在紧急中止加工流程。
- ABORTED:加工已中止,需要手动复位。
GEM状态模型设计原则:
- 正交性:三个状态模型相互独立。例如,设备可以处于“COMMUNICATING + ONLINE/REMOTE + EXECUTING”的组合状态。
- 确定性:在任何时刻,每个模型有且只有一个激活状态。
- 可追溯性:每次状态转换都必须记录事件,便于上位机追踪设备行为。
2.5 状态机联调实战要点
在设备与上位机进行GEM联调时,状态机是验证的核心。以下是在实际项目中总结的关键检查点:
- 状态一致性验证:上位机通过
S1F1(Are You There) 和S1F2(On Line Data) 查询设备状态,确保返回的状态值与设备实际工况一致。 - 事件订阅测试:上位机使用
S2F33(Define Report) 和S2F35(Link Event Report) 订阅关键状态转换事件,验证设备在状态变化时是否主动上报S6F11(Event Report)。 - 非法转换防护:测试上位机发送非法状态转换指令(如从IDLE直接发送ABORT),设备应返回错误码
S9F1(Unrecognized Device ID) 或S9F5(Invalid Data),而不是执行非法转换。 - 断电恢复测试:模拟设备断电重启,验证通信状态模型是否能正确恢复到COMMUNICATING,以及处理状态模型是否能恢复到安全状态(如IDLE或ABORTED)。
联调效率提升技巧:建议在开发阶段使用GEM模拟器(如SECS Simulator或GemSim)分别模拟上位机和设备端,先进行单机状态机遍历测试,再接入真实设备。这样可以隔离问题,避免在联调现场花费大量时间排查基础状态转换错误。