4. 状态转换条件与触发机制:控制状态转换、通信状态转换、处理状态转换、事件触发与命令触发

GEM 设备状态机是 SECS/GEM 协议栈的核心骨架,它定义了设备在不同运行阶段的行为边界。本章深入剖析三大状态机(控制、通信、处理)的转换条件与触发机制,并重点讲解事件触发与命令触发如何驱动状态变迁。理解这些转换逻辑是进行联调测试和故障排查的基础。

4.1 控制状态转换(Control State Model)

控制状态机管理设备对远程主机的响应模式,决定设备是否接受主机指令。GEM 标准定义了三种控制状态:OFFLINE、ONLINE 和 REMOTE。

关键概念: 控制状态决定了设备是本地操作(OFFLINE)、在线但本地控制(ONLINE)还是完全由主机远程控制(REMOTE)。联调时最常见的故障是设备处于 OFFLINE 状态导致主机指令无响应。

4.1.1 控制状态转换图

控制状态转换图 控制状态转换图(Control State Model) OFFLINE 本地操作,不响应主机 ONLINE 在线,本地控制 REMOTE 远程控制,主机指令驱动 S1F13 (Go Online) S1F15 (Go Offline) S1F17 (Go Remote) S1F19 (Go Local) S1F15 (Go Offline) 或通信断开 转换触发说明: • S1F13/S1F15/S1F17/S1F19 是标准 SECS 消息,由主机或设备发起。 • 通信断开(如 TCP 连接丢失)会自动将 REMOTE → OFFLINE,确保安全。

4.1.2 转换条件与触发消息

当前状态 目标状态 触发消息 触发方向 典型场景
OFFLINE ONLINE S1F13 (Go Online Request) 主机 → 设备 设备上电后,主机请求设备进入在线模式
ONLINE OFFLINE S1F15 (Go Offline Request) 主机 → 设备 维护或调试时,主机将设备切回本地模式
ONLINE REMOTE S1F17 (Go Remote Request) 主机 → 设备 开始自动化生产,主机接管控制权
REMOTE ONLINE S1F19 (Go Local Request) 主机 → 设备 主机释放控制权,设备回到本地控制
REMOTE OFFLINE S1F15 或通信断开 主机/网络 紧急停止或网络故障时的安全回退
联调提示: 在联调测试中,务必先确认设备处于 ONLINE 或 REMOTE 状态再发送控制指令。使用 S1F13 请求 ONLINE 时,设备必须回复 S1F14 并携带 HCACK(Handshake Acknowledge)码 0 表示成功。

4.2 通信状态转换(Communication State Model)

通信状态机管理设备与主机之间的连接生命周期。GEM 定义了三种通信状态:NOT COMMUNICATING、COMMUNICATING 和 WAIT CRA(Wait for Communication Request Acknowledge)。

4.2.1 通信状态转换图

通信状态转换图 通信状态转换图(Communication State Model) NOT COMMUNICATING 未建立连接 WAIT CRA 等待主机确认 COMMUNICATING 通信已建立 S1F1 (CRA) S1F2 (CRA Ack) 通信断开或超时 超时未收到确认 通信建立流程: 1. 设备发送 S1F1 (CRA) → 进入 WAIT CRA 2. 主机回复 S1F2 (CRA Ack) → 进入 COMMUNICATING

4.2.2 通信状态转换条件

  • NOT COMMUNICATING → WAIT CRA: 设备主动发送 S1F1(Communication Request Acknowledge),请求建立通信。触发条件包括设备上电、网络恢复或主机主动要求重连。
  • WAIT CRA → COMMUNICATING: 主机回复 S1F2,携带 ACKC1 码为 0(接受请求)。此时设备进入正常通信状态。
  • WAIT CRA → NOT COMMUNICATING: 超时(T3 超时)未收到主机回复,或收到 S1F2 但 ACKC1 不为 0。
  • COMMUNICATING → NOT COMMUNICATING: TCP 连接断开、T3 超时、或主机/设备主动关闭连接。
常见陷阱: 通信状态机与控制状态机是独立的。设备可能处于 COMMUNICATING 但控制状态为 OFFLINE,此时主机可以收到消息但无法控制设备。联调时需同时检查两个状态机。

4.3 处理状态转换(Processing State Model)

处理状态机描述设备在工艺处理过程中的状态变迁。GEM 定义了以下处理状态:IDLE、SETUP、READY、PROCESSING、PAUSED 和 COMPLETE。

4.3.1 处理状态转换图

处理状态转换图 处理状态转换图(Processing State Model) IDLE 空闲 SETUP 参数设置 READY 就绪 PROCESSING 工艺处理中 PAUSED 暂停 COMPLETE 处理完成 S2F41 (Setup) S2F41 (Ready) 设置完成 S2F41 (Start) S2F41 (Pause) S2F41 (Resume) 处理结束 S2F41 (Reset)

4.3.2 处理状态转换条件表

当前状态 目标状态 触发条件 触发类型
IDLE SETUP 主机发送 S2F41 携带参数设置指令 命令触发
IDLE READY 主机发送 S2F41 携带就绪指令,或设备自检完成 命令/事件触发
SETUP READY 参数设置完成,设备自动转换 事件触发
READY PROCESSING 主机发送 S2F41 携带启动指令 命令触发
PROCESSING PAUSED 主机发送 S2F41 携带暂停指令,或设备检测到异常 命令/事件触发
PAUSED READY 主机发送 S2F41 携带恢复指令 命令触发
PROCESSING COMPLETE 工艺处理正常结束 事件触发
COMPLETE IDLE 主机发送 S2F41 携带复位指令,或设备自动复位 命令/事件触发

4.4 事件触发与命令触发

GEM 协议中,状态转换的驱动力分为两大类:事件触发和命令触发。理解两者的区别是编写设备端逻辑和主机端脚本的基础。

4.4.1 事件触发(Event Trigger)

事件触发是指设备内部状态变化自动引发的状态转换,无需主机主动干预。设备通过 S6F11(Event Report)消息将事件通知主机。

  • 典型事件: 处理完成、报警发生、材料耗尽、温度到达设定值。
  • 消息流: 设备内部检测到事件 → 设备发送 S6F11 → 主机回复 S6F12 确认。
  • 配置方式: 主机通过 S2F33(Define Event Report)和 S2F35(Link Event Report)预先定义事件报告链接。
事件触发示例: 当晶圆处理完成时,设备自动从 PROCESSING 转换到 COMPLETE,并发送 S6F11 报告处理结果。主机无需发送任何指令。

4.4.2 命令触发(Command Trigger)

命令触发是指主机通过发送 SECS 消息主动请求状态转换。设备收到命令后执行相应操作并回复确认。

  • 典型命令: S1F13(Go Online)、S2F41(Process Command)、S1F17(Go Remote)。
  • 消息流: 主机发送命令消息 → 设备执行 → 设备回复确认消息(如 S1F14、S2F42)。
  • 命令参数: S2F41 的 CPNAME(Command Parameter Name)字段指定具体命令,如 "START"、"STOP"、"PAUSE"。

4.4.3 事件触发与命令触发对比

对比维度 事件触发 命令触发
发起方 设备内部 主机
典型消息 S6F11 (Event Report) S2F41 (Process Command)
响应方式 设备主动上报 设备回复确认
适用场景 状态完成、报警、异常 启动、停止、参数设置
实时性 异步,设备自主决定 同步,主机控制节奏
联调关注点 事件报告是否及时、数据是否完整 命令响应时间、HCACK 码是否正确

4.4.4 事件与命令的协同工作流

事件与命令协同工作流 事件与命令协同工作流 主机 (Host) 设备 (Equipment) ① S2F41 (START) ② S2F42 (ACK) PROCESSING 处理完成 COMPLETE ③ S6F11 (Event Report: Processing Complete) ④ S6F12 (Ack) 协同流程总结: 命令触发(主机→设备)启动处理 → 设备内部事件触发状态转换 → 设备上报事件给主机 → 主机确认。

4.5 联调实战要点

联调检查清单:
  • 确认设备初始控制状态是否为 OFFLINE,通信状态是否为 NOT COMMUNICATING。
  • 使用 S1F13 将设备切换到 ONLINE,检查 S1F14 的 HCACK 码。
  • 使用 S1F17 切换到 REMOTE,验证设备是否接受后续命令。
  • 发送 S2F41 启动处理,观察设备是否进入 PROCESSING 状态。
  • 等待处理完成,检查设备是否自动上报 S6F11 事件。
  • 模拟通信断开,验证设备是否自动回退到 OFFLINE 或 NOT COMMUNICATING。
常见联调失败原因:
  • 设备处于 OFFLINE 状态,主机发送命令被忽略。
  • 通信状态为 WAIT CRA 但超时未收到主机确认,设备自动断开。
  • 事件报告未正确链接(S2F35 配置错误),导致主机收不到 S6F11。
  • 命令参数 CPNAME 拼写错误