本博客最初发布于cimetrix.com。
GEM标准
GEM作为行业标准,定义了工艺设备与工厂主机软件之间用于监控和控制的通信规范方法。通过连接GEM设备,工厂可立即获得运营效益。工厂主机可通过多种方式采集数据。此前博文曾探讨过利用采集事件报告的方式——当设备执行状态转换时,数据会被推送至主机。除事件报告外,工厂主机通常还需轮询设备以获取实时数据值。 数据值可由主机直接请求获取,也可通过周期性采样在追踪报告中获取。这种方式称为数据轮询,正是今日讨论的核心主题。
数据类型
GEM 接口中包含三种类型的数据:
- 数据变量(DV)——设备事件发生时可采集的数据项。该数据仅在事件上下文中保证有效。 例如,GEM接口可能提供名为PPChanged的事件(配方变更时触发)。该接口还可能提供名为"变更配方"的数据变量。此数据变量的值仅在PPChanged事件上下文中有效。在其他时间点查询该值可能获得无效或异常数据。
- 状态变量(SV)——包含设备信息的数据项。该数据在任何时刻均保证有效。例如,设备某工艺模块内可能装有温度传感器。GEM接口可提供ModuleTemperature状态变量。主机可随时请求该状态变量的数值,并可预期该数值准确无误。
- 设备常量(EC)——包含设备设置的数据项。设备常量决定设备的行为方式。例如,GEM接口可能包含名为MaxSimultaneousTraces的设备常量,该常量指定可同时向主机请求的最大跟踪数。设备常量的值始终保证有效且最新。
数据属性
上述三种数据类型均具有相似的属性,这些属性有助于定义数据。设备供应商需在GEM手册中提供这些属性,以便工厂主机能够与数据进行交互。部分重要数据属性包括:
- ID——在GEM接口中必须唯一的数字标识符。这些ID可按数据类型分组,分别称为SVID(状态变量ID)、DVID(数据变量ID)和ECID(采集事件ID)。
- 名称 – 数据项的人类可读名称
- 格式——该项的数据类型。
- 数据格式可以是简单的(数字、ASCII、布尔值)或复杂的(数组、列表、结构体)。例如,数字类型可以是I1、I2、I4、I8(不同字节长度的有符号整数类型)、U1、U2、U4、U8(无符号整数类型)以及F4或F8(浮点类型)。
- 列表和数组类型在数据项中包含多个值。例如,图像数据将以字节数组的形式存储。
- 结构类型包含特定类型的数据。例如,一个变量可能表示一个插槽映射,该映射包含载体信息以及插槽列表及其晶圆放置状态。
- 值——数据项的实际值。数据值采用精确、高效、自描述的二进制格式,确保主机能够正确解析数据。该数据格式支持更高效地收集更多数据。
采集事件(CE)和告警同样具有ID和名称。这些内容已在其他博文中讨论过,但本文需重点了解其中某些属性,因为这些属性同样可被查询。
数据轮询
如前所述,工厂主机通常会通过其定义的跟踪报告和事件报告定期获取数据。GEM还为工厂主机提供了一种根据其需求轮询数据的方法。
状态变量
主机可随时通过发送S1F3消息查询状态变量的值,该消息需包含需获取值的SVID列表。若列表长度为1,则仅返回单个状态变量的值;若列表长度为0,则返回接口中定义的所有状态变量的值。设备将通过S1F4消息以列表形式返回这些值。
主机也可通过向设备发送S1F11消息来请求设备返回一组SV名称列表。上述列表规则同样适用于此消息。返回消息将包含每个SV的条目,显示其SVID、名称和单元。
设备常数
与SV的工作原理类似,主机也可通过发送S2F13消息查询GEM接口中定义的设备常量值。设备将通过S2F14消息返回这些值。
与SV类似,EC的名称也可通过S2F29消息进行查询。
数据变量
由于数据变量仅在采集事件上下文中有效,因此不存在用于轮询数据变量值的方法。数据变量的值只能在采集事件报告中进行报告。
其他
除上述数据轮询方法外,通过轮询设备还可从GEM主机获取以下项目:
- 采集事件(CE)——主机可通过GEM接口查询可用的采集事件,以及每个采集事件关联的数字变量(DV)。此类查询需使用S1F23消息进行请求。
- 告警 – 主机可通过发送S5F5消息查询系统中可用的告警,该消息需列出所需告警的告警标识符(ALID)。返回消息将列出与该ALID关联的告警代码及告警文本。 每个GEM接口必须包含两个状态变量:AlarmsEnabled包含设备上所有已启用警报的ID列表;AlarmsSet包含设备上当前处于设置状态的警报ID列表。由于这些值属于状态变量,可随时进行查询。
- 设备型号(MDLN)和软件版本(SOFTREV)——对S1F1(你在吗?)消息的响应将包含设备的型号类型(MDLN)和软件版本(SOFTREV)。
- DateTime – 设备的时间日期可通过S2F17消息请求获取。主机可使用S2F31消息同步设备时间。GEM要求设备维护包含当前时间的时钟服务变量(Clock SV)。允许主机查询和同步时间,使系统能够对近乎同时发生的事件进行排序。
追踪数据收集
轨迹数据采集提供了一种定期采样数据的方法。基于时间的数据采集方式适用于追踪趋势、监测特定时间窗口内的重复应用,或监控连续数据。
在创建跟踪定义时,主机提供以下内容:
- 采样周期——相邻采样点之间的时间间隔。该参数以百分之一秒为单位,因此可通过轨迹功能实现高速数据采集。设备通常支持低至10赫兹的轨迹间隔。
- 组大小——痕量报告中包含的样本数量
- SVIDs – 需包含在跟踪中的状态数据列表
- 总样本数——在痕迹存续期间需采集的样本数量
- 跟踪请求ID——跟踪请求的标识符(GEM仅支持整数类型的跟踪ID)
主机通过S2F23消息定义跟踪请求。设备使用S6F1消息向主机发送跟踪报告。
痕量样品
假设某台设备正在处理晶圆,整个过程耗时5分钟。关键要确保夹具温度维持在特定容许范围内,同时保持腔室压力低于指定阈值。虽然每15秒监测一次数值已足够,但我们可以将数据分组处理,仅每分钟接收一次报告。主机可发送包含以下跟踪配置的S2F23消息:
Trace ID: 100(ID必须为整数)
采样周期:00001500(每15秒采样一次)
总采样数:75(以每15秒采样一次的频率持续5分钟)
组大小:4
SVID列表:
300(包含卡盘温度信息的状态变量ID)
301(包含腔室压力信息的状态变量ID)[email protected]
一分钟后,设备将通过S6F1消息发送首份追踪报告。该消息包含以下信息:
100(跟踪ID)
4(最后采样编号)
2018-01-22T14:20:34.8(日期格式取决于TimeFormat设备常量)
状态值列表:(长度为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在向设备请求数据时提供灵活选项:既可让主机在特定时间点查询数值,也可通过追踪功能实现周期性采样。