SECSGEM协议E系列规范与SML解析集成 - 第4节

4.1 E30标准概述与GEM通用模型

E30标准(GEM,Generic Equipment Model)是SEMI为半导体设备定义的行为规范,它建立在E5(SECS-II)和E37(HSMS)等通信协议之上,规定了设备应具备的通用能力、状态模型和交互流程。GEM模型的核心目标是实现设备与工厂主机(Host)之间的标准化互操作,使不同厂商的设备能够以统一的方式被监控、控制和调度。

4.1.1 GEM通用模型架构

GEM通用模型从三个维度定义了设备的行为框架:

  • 状态模型(State Model):描述设备在不同生命周期阶段的行为约束,包括设备状态、控制状态和通信状态。
  • 能力集合(Capability Set):定义设备必须支持或可选支持的SECS-II消息集合,如设备常量、状态变量、事件通知、报警管理等。
  • 过程模型(Process Model):描述设备在加工、搬运、测量等具体业务场景下的状态转换规则。
关键概念:GEM模型不是一种通信协议,而是一种行为规范。它告诉设备“在什么状态下应该做什么事”,以及“如何向主机报告状态变化”。
工程提示:在实现GEM兼容性时,建议优先实现E30中定义的三个核心状态模型(设备状态、控制状态、通信状态),这是通过SEMI E30认证的基础门槛。

4.2 状态模型(State Model)总览

GEM状态模型是设备行为控制的核心,它通过有限状态机(FSM)的方式定义了设备在不同场景下的合法状态和状态转换条件。E30标准定义了三个独立但相互关联的状态模型:

状态模型 描述 状态数量 主要用途
设备状态模型 描述设备整体的物理和逻辑就绪程度 3个主状态 判断设备是否可执行加工任务
控制状态模型 描述设备与主机之间的控制权归属 5个状态 决定主机能否远程控制设备
通信状态模型 描述设备与主机之间的通信链路状态 3个状态 管理连接建立与断开

这三个状态模型之间存在依赖关系:通信状态是基础,控制状态建立在通信状态之上,设备状态则受控制状态的影响。下面分别对每个模型进行详细解析。

4.3 设备状态模型(Equipment State Model)

设备状态模型定义了设备在加工过程中的三个主要状态,以及状态之间的转换规则。该模型直接反映了设备是否能够执行生产任务。

设备状态模型(Equipment State Model) INIT(初始化) 设备启动或复位 IDLE(空闲) 待机,可接收任务 BUSY(忙碌) 正在执行加工 初始化完成 开始加工 加工完成 异常/复位 状态转换规则: • INIT → IDLE:设备自检通过,初始化完成 • IDLE → BUSY:主机或本地下达加工指令 • BUSY → IDLE:加工完成或异常恢复后进入空闲 • 任何状态 → INIT:设备复位、断电重启或严重故障

4.3.1 设备状态详细说明

状态 编码 设备行为 主机可见性
INIT(初始化) 0 设备上电自检、加载配方、校准传感器 设备不可用,主机无法下发任务
IDLE(空闲) 1 待机等待指令,可接收加工任务 设备就绪,主机可下发Start指令
BUSY(忙碌) 2 正在执行加工、搬运或测量任务 设备忙碌,主机可查询进度
常见误区:设备状态模型中的BUSY状态并不等同于“设备故障”。BUSY表示设备正在执行合法任务,而故障状态通常通过报警(Alarm)机制来报告,不属于设备状态模型的范畴。

4.4 控制状态模型(Control State Model)

控制状态模型定义了设备控制权的归属和切换规则。它决定了主机(Host)可以在多大程度上远程控制设备,以及操作员在本地可以执行哪些操作。该模型包含5个状态,分为三个层级:

控制状态模型(Control State Model) OFF-LINE 离线模式 ON-LINE LOCAL 在线本地控制 ON-LINE REMOTE 在线远程控制 LOCAL ATTEMPT 本地请求切换 REMOTE ATTEMPT 远程请求切换 本地操作 主机指令 本地请求 主机请求 切换批准 切换批准 控制层级说明: OFF-LINE < ON-LINE LOCAL < ON-LINE REMOTE 层级越高,主机控制权限越大;ATTEMPT状态为临时过渡状态

4.4.1 控制状态定义与权限

状态 主机控制权 本地操作权 典型场景
OFF-LINE 无控制权 完全控制 设备维护、调试、离线运行
ON-LINE LOCAL 可监控,不可控制 完全控制 主机在线监控,本地操作员控制
ON-LINE REMOTE 完全控制 受限控制 主机远程自动化调度
LOCAL ATTEMPT 过渡状态 请求切换 本地操作员请求从REMOTE切换到LOCAL
REMOTE ATTEMPT 过渡状态 请求切换 主机请求从LOCAL切换到REMOTE
工程要点:ATTEMPT状态是GEM模型中的关键设计,它防止了控制权的强制切换。当主机请求远程控制时,设备进入REMOTE ATTEMPT状态,操作员可以在本地确认或拒绝该请求,确保安全。

4.5 通信状态模型(Communication State Model)

通信状态模型管理设备与主机之间的通信链路。它定义了连接建立、维持和断开的规则,是GEM模型中最低层的状态模型。通信状态直接影响控制状态模型的行为。

通信状态模型(Communication State Model) DISABLED 通信禁用 ENABLED 通信使能 COMMUNICATING 通信已建立 启用通信 连接建立 断开连接 禁用通信 通信状态与控制状态的关系: 通信状态为DISABLED时,控制状态只能为OFF-LINE; 通信状态为COMMUNICATING时,控制状态才能进入ON-LINE模式。

4.5.1 通信状态详细说明

状态 通信链路 控制状态约束 触发条件
DISABLED 无连接 仅允许OFF-LINE 设备上电默认、通信配置关闭
ENABLED 未连接,但可接受连接 仍为OFF-LINE 通信端口使能,等待主机连接
COMMUNICATING 已建立连接 可进入ON-LINE模式 TCP连接建立或HSMS链路建立
实现建议:在设备启动流程中,建议按以下顺序初始化状态模型:
1. 通信状态:DISABLED → ENABLED → COMMUNICATING
2. 控制状态:OFF-LINE → ON-LINE LOCAL(或REMOTE)
3. 设备状态:INIT → IDLE(准备就绪)

4.6 三个状态模型的协同关系

设备状态、控制状态和通信状态并非独立运行,它们之间存在严格的依赖和约束关系。理解这些关系是正确实现GEM模型的关键。

三个状态模型的协同关系 设备状态模型(Equipment State) INIT → IDLE → BUSY 控制状态模型(Control State) OFF-LINE → ON-LINE LOCAL/REMOTE 通信状态模型(Communication State) DISABLED → ENABLED → COMMUNICATING 依赖 依赖 约束规则:通信状态必须为COMMUNICATING,控制状态才能进入ON-LINE模式; 控制状态为OFF-LINE时,设备状态只能在INIT或IDLE,不能进入BUSY。

4.6.1 状态转换约束矩阵

当前通信状态 允许的控制状态 允许的设备状态 说明
DISABLED OFF-LINE INIT, IDLE 通信未启用,只能本地操作
ENABLED OFF-LINE INIT, IDLE 通信已使能但未连接
COMMUNICATING OFF-LINE, ON-LINE LOCAL, ON-LINE REMOTE INIT, IDLE, BUSY 通信已建立,可远程控制
常见错误:有些实现中,当通信断开(COMMUNICATING → ENABLED)时,控制状态没有自动回退到OFF-LINE,导致状态不一致。正确的做法是:通信断开时,控制状态应自动切换到OFF-LINE,设备状态应回到IDLE(如果正在BUSY则需先中止加工)。

4.7 状态模型在SML中的表示

在SML(State Machine Language)中,状态模型通过状态声明和转换规则来定义。以下是一个简化的GEM状态模型SML代码示例:

// 设备状态模型定义
StateModel EquipmentStateModel
{
    State INIT
    {
        Description: "设备初始化状态"
        OnEntry: PerformSelfTest()
        OnExit: InitializeSubsystems()
    }
    
    State IDLE
    {
        Description: "设备空闲状态"
        OnEntry: EnableProcessCommands()
        OnExit: DisableProcessCommands()
    }
    
    State BUSY
    {
        Description: "设备忙碌状态"
        OnEntry: StartProcessing()
        OnExit: StopProcessing()
    }
    
    // 状态转换定义
    Transition INIT -> IDLE
    {
        Condition: SelfTestPassed == TRUE
        Action: LogInitializationComplete()
    }
    
    Transition IDLE -> BUSY
    {
        Condition: StartCommandReceived == TRUE
        Action: BeginProcess()
    }
    
    Transition BUSY -> IDLE
    {
        Condition: ProcessComplete == TRUE
        Action: FinalizeProcess()
    }
    
    Transition * -> INIT
    {
        Condition: ResetRequested == TRUE
        Action: PerformReset()
    }
}
SML要点:上述代码展示了设备状态模型的基本结构。在实际项目中,每个状态还需要定义允许的SECS-II消息处理规则,例如在IDLE状态下可以接收S2F41(Host Command),而在BUSY状态下可能需要拒绝某些命令。

4.8 本章小结

E30标准定义的GEM通用模型是半导体设备自动化的行为基石。通过三个状态模型(设备状态、控制状态、通信状态),GEM实现了对设备全生命周期的规范化管理:

  • 设备状态模型:管理设备的加工就绪度,确保设备在正确的时机执行正确的任务。
  • 控制状态模型:管理控制权归属,平衡主机远程控制与本地操作的安全需求。
  • 通信状态模型:管理通信链路,为上层状态模型提供可靠的连接基础。