什么是GEM 控制状态?
GEM板的控制状态是E30 GEM的基本要求之一。它定义了主机和设备之间的协作级别,并指定了操作员如何在不同级别的主机控制状态下进行交互。
在半导体工厂中,主机或操作员可以控制设备的加工。双方同时控制设备会带来问题。所以当一方控制设备时,另一方所能进行的操作将受到限制。例如,如果操作员暂停了工艺处理,则不应允许主机发送恢复处理或启动新作业的命令。GEM控制状态就是为了防止此类问题的发生而被建立的。
控制状态如何工作?
控制状态提供三个基本级别的控制。每个级别都描述了主机和设备端可以执行哪些操作。
远程
- 主机可以最大限度地控制设备。
- 设备可能会限制当地操作员控制设备的能力,但这不是标准的要求。主机必须能够处理操作员在设备上调用的意外命令。
- 主机使用GEM远程命令来调用设备上的命令。
本地
- 操作者可以尽可能地控制设备。
- 主机可以完全访问信息。主机可以使用其他GEM特性(如收集事件、跟踪和状态数据收集)收集数据。
- 限制主机如何影响设备操作:
- 禁止启动处理(例如START)或导致物理移动的远程命令。在处理期间,还禁止影响处理的远程命令(停止、中止、暂停、恢复)。
- 允许使用其他不启动处理、不会导致物理移动或影响处理的远程命令。
- 在处理期间,禁止主机修改任何影响该进程的设备常数。
- 不影响当前运行进程的设备常数可以更改。
- 当不处理时,所有的设备常数都是可变的。
离线
- 操作者对设备有完全的控制。
- 主机对设备操作没有控制,信息收集能力非常有限。
- 设备将从主机接收的唯一消息是:
- 用于建立GEM通信的消息(S1F13/F14)。
- 请求激活联机控制状态(S1F17),但仅限于当前活动状态为主机脱机时(控件状态模型上的转换#11)。
- 在尝试在线时收到的S1F2“Are You There Response”
- 设备可能发送给主机的唯一主要消息是:
- 用于建立通信的消息(S1F13)。
- S9Fx消息,但仅响应设备离线时通常响应的消息(即S1F13和S1F17)。
- 当进入“Attempt ON-LINE”子状态时,S1F1 “Are You There Request” 会被发送到主机。此消息用于从主机获得进入在线状态的权限(转换#5)。
- 离线时没有不会对消息做假脱机处理。
控制状态模型的设计使设备操作员对状态机的控制多于对主机的控制。这将保护操作员不被主机发起的意料之外的状态更改影响。
- 设备操作员可以通过操作界面选择哪个在线子状态处于活动状态。主机端不能选择哪个在线子状态是活动的。
- 设备端可以将控制状态模型放入设备离线状态(转换#6)。当处于这种状态时,主机无法请求设备进入在线状态。
- 主机端可以将控制状态放入主机离线状态(转换#10),但是设备端可以拒绝此请求。当处于主机离线状态时,设备端总是可以通过先切换到设备离线状态(转换#12),然后尝试在线(转换#3),来进入在线状态。
操作界面需求
设备必须提供一种显示当前控制状态的方法,以便操作者知道谁控制着设备。
设备必须提供一个瞬时开关来启动到设备离线状态的转换,另一个开关来尝试从设备离线状态切换到在线状态。这可以是前面板上的一个硬件开关,但通常在软件中使用按钮控件实现。
设备必须提供一个离散的双位置开关,操作员可以使用该开关指示所需的在线子状态(本地或远程)。这可以是前面板上的一个硬件开关,但通常在软件中使用按钮控件实现。如果在软件中实现,该设置必须保存在非易失性存储中。
有条件的状态转换
在控件状态模型中,转换#1、#2、#4和#7是有条件状态转换。设备应用程序必须提供一种方法来配置要转换到哪种状态。设备常量可以用于该配置。
条件转换#1和#2决定了启动期间控制状态模型的初始状态。控制这些转换的配置可以设置为以下状态之一:
- 在线
- 设备离线
- 尝试在线
- 主机离线
条件转换#4用于决定设备尝试在线失败后要转换到哪个状态。该配置可以设置为以下状态之一:
- 设备离线
- 主机离线
条件转换#7用于确定当控件状态变为在线时,应该进入哪个在线子状态(本地或远程)。该配置可以设置为以下在线子状态之一:
- 当地的
- 远程
控制状态功能用会用到的消息
消息编号 | 方向 | 描述 |
S1F1 | 主机 <- 设备 | 当设备尝试在线时(处于“尝试在现在”状态),此消息被发送到主机。主机通过发送S1F2应答消息授予权限。主机可以通过发送S1F0或允许消息事务超时来拒绝权限。 |
S1F15 | 主机 -> 设备 | 主机发送此消息请求从“主机离线”到在线的转换(转换#11)。 |
S1F17 | 主机 -> 设备 | 主机发送此消息请求从在线到“主机离线”的转换(转换#10)。 |