2. 设备状态机基础:状态机概念、SECS/GEM中的设备状态模型、状态转换图
2.1 状态机核心概念
状态机(State Machine)是半导体设备自动化的理论基石。它描述一个系统在任意时刻只能处于有限个状态之一,并通过外部事件或内部条件触发状态间的迁移。在 SECS/GEM 协议中,设备的行为被严格建模为状态机,确保上位机(Host)与设备(Equipment)之间的通信行为可预测、可控制。
核心三要素:
- 状态(State):系统在某一时刻的稳定工况,如“待机”、“运行”、“报警”。
- 事件(Event):触发状态迁移的外部输入或内部信号,如“启动按钮按下”、“加工完成”。
- 迁移(Transition):从一个状态到另一个状态的路径,通常伴随动作(Action)执行。
下图展示了一个最简单的两状态机模型,用于说明状态、事件与迁移的关系:
2.2 SECS/GEM 设备状态模型
SECS/GEM 标准(SEMI E30)定义了半导体设备必须实现的通用状态模型。该模型将设备生命周期划分为三个主要状态区域,每个区域包含若干子状态。设备在任何时刻只能处于其中一个状态,且状态迁移必须遵循标准路径。
| 状态区域 | 子状态 | 说明 |
|---|---|---|
| 通信状态 | DISABLED / ENABLED / COMMUNICATING | 控制设备与Host之间的连接建立与断开 |
| 控制状态 | OFF-LINE / ON-LINE / LOCAL / REMOTE | 决定设备由本地操作员控制还是由Host远程控制 |
| 处理状态 | IDLE / SETUP / READY / EXECUTING / PAUSED / COMPLETE | 描述设备当前正在执行的加工工序阶段 |
工程要点: 在联调日志解析时,控制状态的迁移是最常见的调试切入点。例如,设备从 OFF-LINE 切换到 ON-LINE 时,Host 必须收到 S1F13 或 S1F14 消息确认状态变更,否则后续指令将无法执行。
2.3 状态转换图:完整设备状态机
将上述三个状态区域整合,可以得到 SECS/GEM 设备完整的层次化状态机。下图展示了核心状态及主要迁移路径,其中箭头上的标签代表触发迁移的典型事件或消息:
2.4 状态迁移与日志关联
在联调工程中,设备状态机的每一次迁移都会在日志中留下记录。掌握状态迁移与日志消息的对应关系,是快速定位通信故障的关键能力。
常见陷阱: 设备处于 OFF-LINE 状态时,Host 发送的任何加工指令(如 S2F41)都会被设备拒绝,并返回 S2F42 错误响应。此时日志中会看到
<ERROR> Current control state is OFF-LINE 的提示。正确的做法是先发送 S1F13 请求设备切换到 ON-LINE 状态。
下表列出了典型状态迁移事件与对应的 SECS 消息:
| 迁移事件 | 源状态 | 目标状态 | 典型SECS消息 |
|---|---|---|---|
| 建立通信 | DISABLED | COMMUNICATING | S1F13 (Establish Communications Request) |
| 切换在线 | OFF-LINE | ON-LINE | S1F13 / S1F14 (Online Request) |
| 开始加工 | IDLE | EXECUTING | S2F41 (Host Command Send) |
| 暂停加工 | EXECUTING | PAUSED | S2F41 (Pause Command) |
| 加工完成 | EXECUTING | COMPLETE | S6F11 (Event Report) |
2.5 状态机在日志解析中的应用
在后续章节的联调案例中,我们将反复使用状态机模型来指导日志分析。基本思路如下:
- 提取当前状态:从日志中查找
S1F14、S6F11等消息,解析出设备上报的当前状态值。 - 比对预期状态:根据状态机模型,判断当前状态是否允许执行下一步操作。
- 定位异常迁移:如果日志中出现非法的状态跳转(如从 IDLE 直接跳到 COMPLETE),则说明设备固件或通信协议存在缺陷。
- 生成状态序列图:将日志中的状态迁移按时间顺序绘制成图,直观展示设备行为轨迹。
实战提示: 在编写日志解析脚本时,建议维护一个
current_state 字典,分别记录通信状态、控制状态和处理状态。每解析一条 SECS 消息,就更新该字典,并与状态机规则进行校验。这种基于状态机的校验方法,可以自动过滤掉约 70% 的无效日志噪声。