4. 状态机与设备安全互锁
半导体设备一旦进入自动运行,晶圆、机械手、阀门、射频电源、真空泵与高温腔体往往同时处于高能量或高价值状态。此时如果状态机允许“非法状态组合”出现,例如腔体未达到真空就开启射频、机械手未缩回就关闭腔门、化学品阀门与排风未建立就进入工艺步,轻则报废晶圆,重则造成硬件损伤甚至人身风险。因此,安全互锁不能作为状态机之外的“补丁逻辑”,而必须嵌入状态迁移的判定条件中,使非法迁移在发生之前就被拒绝。
一、安全状态与紧急停止在状态模型中的位置
设备状态机通常包含初始化、空闲、就绪、运行、暂停、报警、维护等状态。安全设计要额外明确一个安全状态(Safe State):它是设备在异常、急停或互锁触发后应尽快到达的、能量受控且不会继续损伤硬件的状态。对多数半导体设备而言,安全状态不是简单的“停机”,而是分层的:
- 能量切断层:射频电源关闭、加热电源关闭、运动伺服使能撤销、化学品阀门关闭。
- 保持层:真空维持、冷却水继续循环、排风保持,防止腔体污染或热积聚。
- 机械定位层:机械手退回安全位、升降机构落到低位、闸阀关闭到位。
紧急停止(E-Stop)是最高优先级的安全输入。它不应被建模为普通事件,而应作为全局迁移:无论当前处于哪个状态,只要 E-Stop 有效,状态机立即进入 EMERGENCY,并执行安全状态动作序列。E-Stop 恢复后,不能自动回到原状态,必须经过 ALARM_RESET 与 RE_INIT,确认所有互锁条件满足后才允许重新进入就绪。
二、互锁条件如何嵌入状态迁移
互锁(Interlock)本质上是状态迁移的守卫条件(Guard Condition)。一个迁移可写成:
迁移:READY → PROCESSING
触发事件:StartProcess
守卫条件:
ChamberPressure < 1e-3 Torr
DoorClosed == TRUE
RobotAtHome == TRUE
CoolingWaterFlow > 2.0 L/min
RF_Off == TRUE
动作:
OpenProcessValve()
SetHeater(180°C)
EnableRF(13.56 MHz, 50 W)
只有当守卫条件全部为真,迁移才被允许;任一条件不满足,状态机保持原状态并产生互锁报警。这样,互锁不再是“事后检查”,而是迁移能否发生的前置约束。
实际工程中,互锁条件可分为三类:
- 硬互锁:由安全继电器、硬件回路直接切断能量,软件只读取其状态,例如 E-Stop、门开关、过温开关。
- 软互锁:由 PLC 或设备软件判断,例如真空度、流量、位置、温度是否在允许窗口内。
- 工艺互锁:与配方步骤绑定,例如“先通工艺气体再开射频”“先关闭射频再关气体”。
三类互锁在状态迁移中的优先级不同:硬互锁最高,触发后直接进入安全状态;软互锁阻止迁移并报警;工艺互锁则约束步骤顺序,防止配方跳步。
三、避免非法状态组合的建模方法
非法状态组合往往来自“多个独立子系统各自迁移,但组合后不合法”。例如腔门状态、机械手状态、真空状态、射频状态各自合法,但“腔门打开 + 射频开启”就是危险组合。为避免这类问题,可采用以下方法:
- 状态变量正交化:把设备拆成若干正交子系统状态,如
DoorState、RobotState、VacuumState、RFState,每个子系统独立建模。 - 定义禁止组合表:明确哪些组合绝对不允许,例如
Door=Open && RF=On、Robot=Extend && Door=Closed。 - 迁移守卫统一引用禁止组合:任何迁移动作执行前,先检查目标组合是否在禁止表中。
- 安全状态收敛:一旦检测到禁止组合,立即触发
SAFE_STOP,按能量切断、保持、机械定位顺序执行。
四、状态迁移中的安全嵌入示例
下面给出一个简化的状态迁移与互锁嵌入示意。图中展示了 IDLE、READY、PROCESSING、SAFE_STOP、EMERGENCY 五个状态,以及互锁条件如何作为迁移守卫。E-Stop 作为全局迁移,可从任意状态进入 EMERGENCY;软互锁失败则进入 SAFE_STOP,而不是直接跳回 IDLE。
五、工程实现要点与判断依据
在软件实现上,建议把互锁条件集中定义为一个互锁表,而不是散落在各迁移代码中。互锁表至少包含:互锁名称、类型(硬/软/工艺)、检测信号、允许窗口、触发后目标状态、恢复条件。状态机每次迁移前统一查询该表,可显著降低遗漏风险。
判断互锁嵌入是否正确,可观察以下现象:
- 在
READY状态下人为打开腔门,状态机不进入PROCESSING,而是进入SAFE_STOP并报警。 - 在
PROCESSING中触发 E-Stop,RF 与加热在 100 ms 内切断,真空与冷却水保持,机械手回到安全位。 - E-Stop 复位后,设备不会自动恢复运行,必须经过
ALARM_RESET与RE_INIT,且所有互锁条件重新满足。 - 日志中能看到“迁移被拒绝”的记录,包含被拒绝的迁移、未满足的互锁名称与当前值,便于排障。
综上,把安全状态、紧急停止与互锁条件嵌入状态迁移,核心是三点:用守卫条件阻止非法迁移,用全局迁移保证 E-Stop 的绝对优先,用禁止组合表消除子系统组合后的危险状态。只有做到这三点,状态机才能在自动运行中既高效又安全。