1分钟了解SECS/GEM 概念模型


前言

SECS/GEM 标识了半导体、电子和光伏行业常用的通信接口类型,已由非营利行业协会 SEMI 标准化。您可以通过其网站 http://www.SEMI.org 获得 SEMI 标准的副本。由于有许多与设备自动化和软件相关的标准,我们的建议是获取所有标准的 CDROM 订阅,而不是单独获取它们。本介绍旨在传达对 SECS/GEM 的基本功能和范围的理解,而不是底层协议和数据格式的低级细节。
SECS 是半导体设备通信标准的缩写。 GEM 指的是 SEMI 标准 E30,它使用 SEMI 标准 E5 中定义的消息类型的子集描述了设备行为和通信的通用模型。 SECS/GEM 接口的部署通常使用 SEMI 标准 E37 和 E37.1 指定的 TCP/IP 网络,但也可以使用标准 E4 所述的 RS-232 串行连接。后者对于较旧的设备更为常见。 SEMI 标准有速记名称及其官方标识符,因此 E4、E5 和 E37 也分别称为 SECS-I、SECS-II 和 HSMS。

平台独立性

SECS/GEM 描述了通过独立于任何操作系统或编程语言的网络或串行电缆连接的双向通信。通常连接的主机端在工厂提供的计算机系统上执行,连接的设备端在设备制造商提供的控制器计算机上运行。这些计算机系统及其安装的软件是完全独立的——它们可能使用不同的操作系统,通常情况下,每个系统上的 SECS/GEM 软件都是由不同方编写的。这就是标准和真正互操作性的价值——工厂不限于使用专有操作系统或购买设备供应商提供的专有接口包。

连接

SECS 描述了使用单一连接的主机和设备之间的通信。 HSMS 是指使用 TCP/IP 的网络连接。 SECS-I 是指使用 RS-232 串行端口的连接。在最初的概念并且仍然是最常见的场景中,设备提供一个单一的SECS接口,供单个主机独占使用。 SECS 定义的消息类型是部分不对称的 - 一些消息类型仅定义为主机使用,其他消息类型仅定义为设备,但许多定义为任何一方的相同用途。由于 SECS 是在制造单元中集成子设备的有效手段,因此也存在设备以主机的角色连接到子设备,并提供与工厂主机的集成设备接口的场景。使用 HSMS 的网络连接设备通常为炉管等独立模块提供独立的 SECS 连接。但是,SECS 标准中规定通过调制每个消息中的设备标识值来共享连接。不建议在新部署中采用连接共享的做法,并且通常仅适用于较旧的 RS-232 系统。一旦建立了连接,消息就会在主机和设备之间双向交换。通常,连接会保持很长时间,并且只有在设备或主机重新启动时才会中断。与繁忙的 Web 服务器相比,通常的 SECS 连接对网络带宽的使用相当少。在典型的台式计算机上运行几十个 SECS 接口连接是可行的。

应用程序

如果设备供应商允许协调机器控制,则可以部署多个 SECS 接口,例如通过向额外的主机连接指示机器处于本地控制之下。还可以将 SECS/GEM 主机接口部署到一个工具,该工具提供与其他主机应用程序的多个连接 - 一个专门的多路复用器。后者无需设备供应商的帮助或定制即可完成。这种配置的一个特殊情况是让主机和设备连接对作为真实主机和设备接口之间的过滤器应用程序,对通过的消息数据进行更改,例如重新格式化选定的数据项,以适应主机或设备软件。 SECS 通信可以被一个独立的应用程序窃听和监控。对于 RS-232 连接,这需要一个易于制造或购买的电缆分接头。网络连接可以在诸如 tcpdump 之类的程序的帮助下进行监控,这些程序可以捕获 TCP/IP 通信。这些专门的应用程序并不是 SECS 使用的主流。

SECS-II 协议

E5 标准描述了SECS 的核心消息类型以及交换数据的格式。 SECS 使用紧凑的、自描述的二进制表示数据项。消息由标题数据和可选的消息数据项组成。在头数据中,有一个名为Stream的整数代码和另一个名为Function的整数代码。 Stream 和 Function 一起指示消息的类型或含义。 SECS消息类型按Stream分类,例如Stream 1处理设备状态,Stream 6处理设备事件的数据收集和监控。
一条消息可以在有或没有预期回复消息的情况下发送。消息对话中使用的函数值存在约定。为发送而独立或异步发起的消息具有奇数的函数值,称为主消息。作为对收到消息的回复而发送的消息称为次要消息,函数值是一个偶数,比在主要消息中接收的函数值大 1。
发送者设置的消息头中有一个唯一的 4 字节整数,用于将辅助回复消息与被回复的主要消息相关联。这使得发送任何 Stream 和 Function 的多个消息成为可能,而无需在发送下一条消息之前等待每个回复,并且仍然能够关联异步接收或乱序接收的回复消息。现代 SECS 软件有望能够处理连续接收任何类型的多个消息,即使每个消息可能需要接收者尚未发送的单独回复。此外,回复消息的发送顺序可能与接收顺序不同。此功能称为支持并发打开事务。较旧的 RS-232 软件可能对并发开放事务的支持有限制,在这种情况下,发送方可能需要等待回复,然后才能发送另一个需要回复的主消息。

SECS-II 消息类型

E5 标准是一个很长的文档,它定义的消息类型和数据项比任何接口实现的都要多。此外,给定消息类型可能具有不同格式的复杂性,以及数据项的不同数据类型表示。其他 SEMI 标准描述了用于特殊目的的其他 SECS-II 消息类型。 GEM 标准 E30 旨在为 E5 子集的部署提供指导,重点是一组核心消息类型和较少的消息和数据项格式变化。 GEM 标准还描述了场景和状态模型,以标准化 SECS 消息与设备动作、控制和行为的集成。新出现的光伏行业标准草案 #4557 扮演着类似于 GEM 的角色,通过提供重要的指导来抛弃 SECS 的过时功能,例如 RS-232 支持,并引导一条远离不需要的复杂消息类型的路径在光伏行业。
标准中定义的消息类型涵盖了广泛的功能,大多数消息类型是为特定用途定义的,但有一些是更通用的。特别是,提供向设备发送命令调用并带有可选参数的消息类型在标准中定义为远程命令。另一方面,设备可以出于任何特定原因使用事件报告中可用的任意数据项和值发布数据收集事件。这些相当通用的机制可以以多种方式用于标准已经指定的底层消息类型。 SECS 还提供了一系列 Stream 和 Function 值,可用于在不需要使用预定义消息类型的情况下自定义使用。

SECS/GEM 概念模型

标准接口的好处之一是不同的设备以相同的通用方式集成到工厂中,具有相同的概念模型。这是通过交换 SECS 消息看到的设备的概念视图。

变量

SECS 确定了三类可变数据项。这些数据项的值以特定的消息类型传递,例如数据收集事件报告。
状态变量是传递给主机的只读值,例如传感器读数或时钟值。状态变量还可以包括描述设备的数据,例如当前启用报告的数据收集事件列表。
数据值变量与状态变量类似,都是只读数据项,其值可以与主机通信。区别在于数据值变量并不总是具有有效值。例如,标准中有一个名为 AlarmID 的数据值变量。此变量保存最近报警条件的标识符,但报警条件可能尚未发生。这是关于数据值变量瞬态的一个很好的观点。假设您几乎同时检测到两个不同的警报条件,并且主机已将它们配置为事件报告。需要仔细设计警报处理和事件报告逻辑,以便在每个警报报告中传达 AlarmID 变量的正确值。第二点是主机不应为后续消息中的任何瞬态事件请求额外的上下文信息,因为较新的条件可能已经取代了较早的上下文。主机应充分利用支持动态事件报告定义的 SECS/GEM 功能,并在单个事件报告消息中获取事件的所有所需上下文数据值。
第三类变量项称为设备常数值。这个术语用词不当,因为这些值不是恒定的 - 这些值主机能够在设备指定的限制内改变。设备常量值仅指定为单个值,而不是值列表或值数组。由于它们在设备控制中的作用,这种差异旨在促进简单和正确的使用。
SECS 标准提供了不同的消息类型,这些类型对于主机来说并不等同于使用这些变量类型。可以发现部署的状态变量和设备常量值并查询它们的值,但没有发现数据值变量的标准消息。 Hume 提供的设备软件实现了一个状态变量,以使该信息可用。

事件报告

事件报告消息使设备能够通知主机事件的通过,例如处理完成或状态变化。较旧的设备通常提供包含一组固定变量值的预定义事件报告。现代方法是让设备支持动态事件报告,这允许主机配置哪些变量数据项包含在与事件报告通信的集合中。事件报告机制通用且强大。例如,它可用于在流程程序下载后将流程程序的验证结果作为异步事件进行通信。最常报告的事件表示 GEM 标准中详细描述的过程状态变化和控制状态变化。

报警上报

警报与事件的不同之处在于,它表示具有设置和清除状态的不良情况。例如,如果输入空气压力低于所需量,依赖压缩空气输入的工艺工具可能会发出警报条件。如果气压恢复,将发送报警清除条件信息。 GEM 要求警报设置和警报清除转换也报告为数据收集事件。这是一个理想的功能,因为它允许主机使用相同的动态事件报告机制和软件逻辑来捕获警报条件和上下文数据。

控制状态模型

GEM 指定了一个控制状态模型,该模型对于以安全的方式将操作员操作与自动化集成很有意义。除非设备允许,否则主机不能对设备进行远程控制。 SECS 接口离线或在线的概念也提供了常见的场景,例如在绕过通常的主机通信的情况下执行维护或过程确认活动。

处理程序

支持远程控制处理的简单设备可以使用一组设备常量值来定义处理设定点。更复杂的设备可以使用工艺程序或配方。这些术语在行业中经常互换使用,但它们在 SECS 标准中确实具有不同的含义。加工程序是一个设备特定的数据集,它有一个标识符并指定了材料的加工。 Stream 7 中定义了一些消息类型,用于发现驻留在设备上的过程程序,将过程程序传输到主机(上传)或设备(下载),或删除设备上的过程程序。过程程序通常作为二进制序列进行操作,主机不了解其设备特定格式。但是,有为格式化过程程序定义的消息,其中标准指定了过程程序数据格式。术语配方用于使用 Stream 15 消息操作并在标准 E42 中描述的更复杂的数据集,或用于使用 Stream 19 消息操作并在标准 E139 中描述的复杂数据集。这些类型的配方旨在满足更复杂的设备的需求,这些设备可能具有可调处理参数或可能具有多个独立控制处理的处理室。此外,这些标准提供了诸如描述和作者值之类的属性信息,以便在仅知道标识符的情况下可以更容易地确定配方的使用。

总结

SECS/GEM 是一种广泛部署的通信接口,它依赖于现代形式的强大 TCP/IP 网络。该协议通过实现广泛的自动化来防止代价高昂的错误并减轻人类繁琐、重复和容易出错的工作,因此在半导体和电子行业中具有极大的价值。 SECS/GEM 的成功案例是:

  • 自动化系统能够在处理之前建立或验证正确的设备设置,
  • 测量工具无需操作员转录即可传输重要数据
  • 搬运系统能够自动协调移动和传输材料
  • 事件和警报报告用于监控和优化设备使用
  • 成熟的 SECS/GEM 软件功能强大且能够 7x24 稳定运行,几乎可用于任何平台。
    最初的协议是由亲身实践的实现者开发的,它们反映了直接和高效的工程思维。随着SECS/GEM标准范围的扩大,标准体现了很多公司的投入和多方面的观点。因此,它们缺乏由单个团队为一组狭窄的需求开发的东西的一致性。换句话说,当整体考虑 SECS/GEM 世界时,您可能会看到不一致和不完善之处。然而,这是为获得的大价值付出的小代价。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值