SECS/GEM简介
本指南旨在为初学者提供 SECS/GEM 及其在半导体行业中的使用的概述教程和基本介绍。并且无意替代或作为标准的完整参考。有关标准的完整参考,请参阅 SEMI。
一 SECS(SEMI设备通信标准)和GEM(制造设备通信与控制的通用模型)标准由半导体制造商的国际组织SEMI.org发布和维护,是管理半导体制造标准的组织机构。
二 它是(最初)半导体/电子行业自动化中使用的主要通信协议,然而,今天它也已广泛应用于光伏和 SMT 行业。
三 它提供设备和主机系统之间的通信接口。
四 与PLC等其他通信协议不同,它使来自各种供应商的设备能够使用标准和一致的协议与各种类型的主机系统进行通信。
要了解 SECS/GEM 标准,您需要从 SEMI 购买以下 3 个基本标准:
一 SEMI E30 GEM 标准 – 这是定义设备行为(业务规则)、状态机和一些规则的“大脑”,例如应该使用哪些 SECS-II 消息、在什么情况下以及结果活动应该是什么。它还定义了状态数据收集、跟踪数据收集、警报管理、假脱机、远程命令等功能。
二 SEMI E5 SECS-II – 定义在设备和主机之间交换的消息 (API) 解释的详细信息。它还定义了消息输入/输出数据结构、数据项格式、确认码等。
三 SEMI E37 HSMS – 高速 SECS 消息服务。这是一个基于 TCP/IP 协议的传输层,是之前基于串行通信的 SEMI E4 SECS-I 标准的继承者。这也是 SECS-II 消息被编码为 HSMS 消息格式的层。
让我们仔细看看下图,该图很好地说明了从 GEM 流向 SECS-II 并一直到 HSMS 层的命令。
SEMI E30 GEM 标准
GEM 标准定义了一组通用的设备行为和通信能力,提供了支持半导体设备制造商制造自动化程序的功能和灵活性。设备供应商可以提供 GEM 中未包含的附加 SECS-II 功能,只要附加功能不与 GEM 中定义的任何行为或能力相冲突。此类添加可能包括 SECS-II 消息、收集事件、警报、远程命令代码、处理状态、可变数据项(数据值、状态值或设备常量)或其他类独有的功能(蚀刻器、步进器等.) 或设备的具体实例。
沟通
沟通 状态模型定义了与主机是否存在通信链路相关的设备行为。它还定义了在通信中断时如何与 S1F13/S1F14 建立或重新建立通信
控制
控制 状态模型定义了主机和设备之间的协作级别。 控制 模型为主机提供了三个基本级别的主机控制,它们决定了主
机控制设备的能力:
离线(最低级别):设备的操作由操作员在操作员控制台上手动执行。设备将以 SxF0 响应来自除 S1F13 或 S1F17 之外的主机的任何主要消息。
在线/本地(中级):在这种状态下,主机只被允许执行像数据收集这样的“只读”操作。禁止主机修改任何影响过程的设备常数、引起物理移动或启动处理的远程命令。
在线/远程(最高级别):在这种状态下,主机可以通过通信接口(“读写”操作)最大限度地操作设备。
加工
加工 状态模型高度依赖于设备工艺、技术和风格。然而,预计这些模型会有共同的方面。
远程命令
主机可以发送命令,指示设备进行自动操作。例如:开始、停止、暂停等。这类似于操作员在控制台上执行的手动操作。
变量
GEM 标准定义了 Host 可以访问的三种类型的变量:
状态变量:这是设备中定义的“只读”全局变量。每当进行处理时,设备都会更新相应的状态变量以反映最新数据。例如:某些计数器的增量、当前/先前状态等。
设备常量:这是设备中定义的“读写”全局变量。主机可以设置或修改设备常量变量,这可能会影响设置,进而改变设备的行为方式。
离散变量:这是一个“局部”变量,仅存在于收集事件中。
数据采集
SECS/GEM 主机从设备收集数据或信息的几种途径:
可以随时使用 S1F3 命令请求一组状态变量值。
使用 S2F13 可以随时请求一组设备常数值
主机可以定义包含状态变量、设备常量和数据变量的报告,然后将其附加到收集事件中。当设备引发事件时(使用 S6F11 命令),包含这些变量值的报告将一起发送。
主机可以定义跟踪,这些跟踪将定期对状态变量数据进行采样。
另一种方法是利用警报通知通过收集事件收集更多数据。按照标准,无论何时发生或清除警报,都必须向主机发送事件(收集事件)。
警报通知
此功能允许设备在每次发生或清除设备上的警报/错误时通知主机。警报是指那些异常的、不受欢迎的和危及正在处理的人、设备或物理材料的事件。
以下是 GEM 定义的报警管理的一些特性:
每个警报都有两个关联的状态模型。 ALARM SET(发生)和 ALARM CLEAR(清除)
每个 AlarmSet 和 AlarmClear 都有一个关联的收集事件。这是为了解决主机对更广泛和更灵活的数据报告的潜在需求。
主机可以请求启用/禁用哪些警报,并且设备只会通知主机启用的警报。
文档
SECS/GEM 标准要求每个设备供应商提供 GEM 接口参考手册。它必须包括设备定义/支持的 GEM 符合性声明、完整的 SECS-II 消息文档、状态模型、状态变量列表、设备常量、数据变量、警报、收集事件等。
还有很多…
请参阅其他功能的完整标准,例如:假脱机、处理程序、终端服务和限制监控。
SEMI E5 SECS-II 消息
如文章介绍部分所述,该标准提供了用于主机和设备之间接口的 API。在本标准中,每条消息都以 Function 表示,并在 Stream(类别)中分组。
与 Webservice 一样,每条 SECS-II 消息都由 Header(通常包含方法/函数名称,事务类型=request/reply)和 Body(指定参数的名称和类型)组成。在某些函数中,Body 可能是空的。
下面描述了 SECS-II 消息结构的约定
流 ID = 消息流/类别
函数 ID = 消息的函数标识符。每个流都有多种功能。奇函数 ID 表示主消息(请求),而偶函数 ID (SnFm+1) 表示辅助/回复消息
助记符 = 消息的简短形式
S,M = S=单块,M=多块
H,E = H=主机, E=设备
消息方向 = 表示有效的消息方向。某些消息仅对单向有效(例如:H->E 或 H<-E),但某些消息可以用于双向(H<->E)。例如:S1F13 建立通讯 (H<->E)
回复 = 表示消息是否需要回复。
描述
函数生成的操作的描述。
结构
函数的消息体。显示列表和已定义项目的详细结构。列表用大写字母 L 后跟用逗号分隔的长度表示。列表中的各个元素在单独的行上编号。
嵌套列表缩进以强调结构。项目的详细形式在交易开始的定义部分中给出。符号“<”和“>”用于项目标题。每个数据项的详细描述以及允许的数据格式列表可以在数据项字典中找到
例外
结构中具有不同含义的特殊情况。
半 E37 HSMS
HSMS 是建立在 TCP/IP 协议之上的传输层,它旨在作为 SEMI E4 (SECS I) 的替代方案,用于需要更高速通信或简单的点对点拓扑结构不足的应用。
TCP/IP 设置
由于 HSMS 协议是从 TCP/IP 派生的,因此主机(客户端)和设备(服务器)都需要以下设置:
连接模式:主动/被动模式。 ACTIVE 模式通常在主机端,而 被动模式(监听)在设备端。但是,反之亦然使用它没有限制。
本地 IP 地址和端口号:在 PASSIVE 模式下运行的任何实体都需要。确定本地实体侦听传入连接请求的地址。通常设备在这种模式下运行。
远程 IP 地址和端口号:在 ACTIVE 模式下运行的任何实体都需要。确定本地实体将尝试连接的远程实体的地址。通常主机在这种模式下运行。
HSMS 超时设置
HSMS 的实现必须提供以下参数的安装时间设置:
T3回复超时:指定期望回复消息的实体将等待该回复的最长时间
T5 连接分离超时:指定连接到给定远程实体的连续尝试之间必须经过的时间量
T6 控制事务超时: 指定控制事务在被视为通信故障之前可以保持打开的时间。
T7 未选择超时:指定 TCP/IP 连接在被视为通信故障之前可以保持在 NOT SELECTED 状态(即没有 HSMS 活动)的时间
T8 网络字符间超时:单个 HSMS 消息的连续字节之间的最长时间
如果您想了解更多关于 SECS/GEM 以及我们的产品如何帮助您的发展,请联系我们的销售代表:sales@einnosys.com