【翻译】SECS GEM系列之三:数据轮询

       GEM是一种工业标准,它定义了工艺设备和工厂主机软件之间, 为了达到监视和控制目的所建立通信的标准方法。通过连接GEM设备,工厂可以立即体验到运营效益。工厂主机可以通过多种方式收集数据。之前的一篇博客文章讨论了使用收集事件报告收集数据,其中数据基于设备状态的变化被推送到主机。除了事件报告之外,工厂主机通常还需要轮询设备的当前数据值。数据值可以由主机直接请求,也可以在跟踪报告中定期采样。这就是所谓的数据轮询,也是今天讨论的主题。

数据的类型

GEM接口中有三种类型的数据:

数据变量(DV) —— 设备事件发生时可以收集的数据项。此数据只保证在事件上下文中有效。例如,GEM接口可能提供一个名为PPChanged的事件(当配方发生更改时触发)。该接口还可以提供一个名为changed recipe的数据变量。此数据变量(DV)的值仅在PPChanged事件的上下文中有效。在其他的时间轮询该值可能会有无效或意外的数据。

状态变量(SV) —— 包含设备信息的数据项。该数据保证在任何时候都是有效的。例如,该设备可能在流程模块中有一个温度传感器。GEM接口可以提供模块温度状态变量。主机可以在任何时候请求这个状态变量(SV)的值,并期望这个值是准确的。

设备常数(EC) —— 包含设备设置的数据项。设备常数决定设备的行为。例如,GEM接口可能有一个名为MaxSimultaneousTraces的设备常量(EC),该常量指定可以同时从主机请求的最大跟踪数。设备常数的值总是保证是有效的和最新的。

数据属性

上面列出的三种数据类型都有一些类似的有助于定义数据的属性。设备供应商需要在GEM手册中提供这些属性,以便工厂主机能够与数据进行交互。一些重要的数据属性有:

ID —— 在该GEM接口中唯一的数字ID。这些ID可以按数据类型分为SVID(状态变量ID), DVID(数据变量ID)和ECID(设备常量ID)。

名称 —— 数据项的可读名称。

格式 —— 数据项的数据类型。

数据格式可以是简单类型(数字、ASCII、布尔值),也可以是复杂类型(数组、列表、结构)。例如,数字类型可以是I1、I2、I4、I8(不同字节长度的带符号整数类型)、U1、U2、U4、U8(无符号整数类型)和F4或F8(浮点类型)。列表和数组类型会在数据项中包含多个值。例如,图像数据通常采用字节数组作为数据格式。

结构类型包含特定类型的数据。例如,一个变量可以表示一个Slot map,其中包含Carrier信息,Slot列表和晶圆的存放信息。

—— 数据项的实际值。数据值采用精确、高效、自描述的二进制格式,从而主机知道如何解释数据。数据格式允许更有效地收集更多的数据。

收集事件(CE)和警报也有ID和名称。这些内容将在其他博客文章中讨论,但是了解本文的提到的这些属性非常重要,因为这些属性也可以被Host所查询。

数据轮询 

如前所述,工厂主机经常通过它所定义的跟踪报告和事件报告定期获得数据。GEM还为工厂主机提供了一种可以根据他的需要去轮询设备数据的方法

状态变量 

主机可以在任何时候通过发送一条包含状态变量ID(SVID)列表的消息来查询这些状态变量(SV)的当前值。如果该列表的长度为1,则只返回单个状态变量(SV)的值。如果列表的长度为零,则返回GEM接口中定义的所有状态变量(SV)的值。这些值会包含在在设备回复的S1F4消息中。 

主机还可以通过向设备发送S1F11消息向设备请求状态变量(SV)名称列表。上面提到的列表规则也适用于此消息。返回消息将包含每个状态变量(SV)的条目,包括状态变量ID(SVID)、名称和单位。 

设备常量 

与状态变量(SV)的工作方式类似,主机还可以通过发送一条S2F13消息来查询GEM接口中定义的设备常量的值。这些值会包含在在设备回复的S2F14消息中。 

与状态变量(SV)类似,可以使用S2F29消息查询设备常量的名称列表。

数据变量 

由于数据变量只在集合事件的上下文中有效,因此没有轮询数据变量值的方法。数据变量的值只能在收集事件报告中上报给主机。 

其他 

除了上面讨论的数据轮询方法外,还可以通过轮询从设备获取以下信息:

收集事件(CE) —— 主机可以查询GEM接口上可用的收集事件,以及与每个CE关联的DVs。这些是使用S1F23消息请求的。

警报 —— 主机可以通过发送一个列有所期望的警报ID列表的S5F5消息来查询设备上有哪些警报是可用的。返回的消息将列出与ALID关联的警报ID和警报文本。每个GEM接口都需要有两个状态变量。AlarmEnabled包含设备上所有启用警报的ID列表。AlarmsSet包含设备商所有当前处于设置状态的警报ID。由于这些值是状态变量,所以主机可以在任何时候查询它们的值。

MDLNSOFTREV —— 对S1F1(你在吗?)消息的回复将包含设备模型类型(MDLN)和软件修订版本(SOFTREV)。

DateTime ——主机可以使用S2F17消息请求设备的日期和时间,也可以使用S2F31消息同步设备的时间。GEM要求设备维护一个包含当前时间的时钟状态变量。允许主机查询和同步时间使得可以对系统上几乎同时发生的事件进行排序。

 

跟踪数据收集 

跟踪数据收集提供了一种定期采样数据的方法。这种基于时间的数据收集方法对于跟踪一段时间内的数据变化趋势或重复的应用,或者监视连续的数据非常有用。 在创建跟踪的定义时,主机需要提供以下内容:

采样周期 —— 样本之间的时间。以百分之一秒为最小单位,因此可以使用跟踪非常快速地收集数据。能够支持10赫兹的采样间隔数据的设备很常见。

数据组大小 —— 跟踪报告中包含的样本数量。

状态变量 —— 跟踪报告中包含的状态变量列表。

总样本数 —— 在跟踪的整个生命周期内要采集的样本数量。

跟踪请求ID —— 跟踪请求的标识符(GEM只允许整数类型的跟踪ID)。

主机使用S2F23消息定义跟踪请求。跟踪报告使用S6F1消息从设备发送到主机。

跟踪报告样本

假设一个设备正在处理一个晶圆片,这个过程需要5分钟。重要的是要保持卡盘温度在一定的可接受范围内,并确保腔室压力保持在指定的水平以下。每隔15秒采样一次这些状态变量值就足够了,但是我们可以创建数据组,实现每分钟只接收一次报告。主机可以发送一条包含如下跟踪配置的S2F23消息:

跟踪ID : 100 (ID必须是整数)

采样周期 : 00001500(每15秒采样一次)

总样本:75个(每15秒采样5英寸)

数据组大小: 4

SVID列表 :

300(包含卡盘温度信息的状态变量的ID)

301(包含室压信息的状态变量ID)

 

一分钟后,第一个跟踪报告将来自设备发出的的S6F1消息。这条消息将包含以下信息:

100(跟踪ID)

4(最后一个样本号)

2018-01-22T14:20:34.8(日期格式取决于时间格式设备常数)

状态变量列表:(长度为8 : 2 个状态变量,数据组大小为4)

219.96(第一次采样卡盘温度)

0.0112(第一次采样压力)

219.97(第二次采样卡盘温度)

0.0122(第二次采样压力)

219.97(第三次采样卡盘温度)

0.0120(第三次采样压力)

219.96(第四次采样卡盘温度)

0.0119(第四次采样压力)

 

再过一分钟,跟踪报告可能如下所示:

100(跟踪ID)

8(最后一个样本号)

2018-01-22T14:21:34.8(日期时间显示比第一个跟踪晚一分钟)

状态变量列表 : (长度为8: 2 个状态,数据组大小为4)

219.96(第五次采样卡盘温度)

0.0112(第五次采样压力)

219.97(第六次采样卡盘温度)

0.0122(第六次采样压力)

220.01(第七次采样卡盘温度)

0.0120(第七次采样压力)

220.00(第八次采样卡盘温度)

0.0119(第八次采样压力)

以一分钟为间隔,后续还将收到三份报告。主机可以检查报告中返回的值,并在值超出预期范围时做出相应的处理。

 

结论 

如果主机想在特定的时间点检查一个值,它可以使用S1F3轮询状态数据。如果希望在给定的时间内连续收集数据,则可以设置跟踪报告。 

使用本博客中概述的数据采样方法,将允许主机应用程序在需要时轮询所需的数据。GEM提供了从设备请求数据的灵活性,允许主机在给定的时间点查询值,或者使用跟踪定期采样样。

你可能感兴趣的:(SECS,GEM)