本博客最初发布于cimetrix.com。
GEM标准常被误解为制造设备的单连接协议。所谓单连接意味着仅允许单个软件产品同时使用GEM接口。许多支持GEM标准的制造设备确实仅具备单连接能力。然而,这种限制仅源于认知局限、传统惯例以及满足通用制造系统架构的需求。
事实上,GEM标准根本未涉及额外连接的问题——这意味着额外连接既非强制要求也未被禁止。设备不仅能够支持多个并发GEM接口,这种情况正变得越来越普遍。只要每个支持的GEM连接均为点对点且符合GEM标准,这种做法完全被允许。但每个连接必须与其他GEM连接完全独立,同时仍需满足GEM规范要求。 实现多连接会引发若干问题。
每个GEM连接独立意味着什么?
这意味着每个GEM主机都完全独立运行,仿佛其他GEM主机连接不存在一般。以下是定义"完全独立"的具体属性列表:
- 通信状态模型是独立的。每个模型都能独立于其他主机包建立和断开连接。
- 控制状态模型是独立的。每个模型均可根据需要设置为本地或远程模式。
- 采集事件报告的动态配置完全独立。每个主机都定义一组独特的报告,并订阅一组独特的采集事件。即便如此,如果两个GEM主机连接创建了相同的报告并将其链接到相同的采集事件,则两者都应接收相同的数据。
- 每个主机都订阅了一组独特的告警。
- 每个主机均可独立于其他主机查询状态信息。
- 每个主机均可选择启用或禁用缓冲功能,并根据需要进行配置。
- 每个主机都可以设置自己的跟踪数据收集。
- 每个主机仅接收与其订阅相关的消息。
- 每个主机仅能看到对其主消息的回复消息。
你指的是HSMS-GS吗?
编号HSMS-GS指的是实施SEMI标准E37.2《高速消息服务—— 通用会话》 ,该标准目前处于非活动状态。此标准在业界未获广泛采用,其特性是仅开放单一端口供任意数量客户端连接。而我所指的是支持E37.1《高速消息服务——单会话》(HSMS-SS)的多重实现方案,该方案中每个连接均使用独立端口号。 当前几乎所有GEM接口均采用HSMS-SS协议。
在单个GEM接口中拥有多个GEM连接有哪些优势?
这为许多实用应用打开了大门。以下是三个示例配置,当然,所有这些配置都可以同时实现。
- 工厂可同时部署多个主机软件包连接同一设备的GEM接口,彼此互不干扰且无需相互知晓。而仅通过单一连接实现相同功能的工厂,则必须部署某种GEM主机代理,将不同GEM主机软件包的通信整合至单一GEM连接中——这在技术上极具挑战性。

- 如果设备供应商希望为工厂中运行的自有设备开发专用应用程序,可直接使用GEM连接接口之一。他们无需将功能复制到自定义界面中。

- 若某台设备需要监控、控制或直接与另一台设备交换数据,可通过其中一个GEM接口实现,且不会干扰工厂GEM连接。此类设置相对简单,有时称为横向通信。此类通信也可通过主机进行,采用GEM接口传统的纵向通信模式。

安全方面呢?
通常情况下,我期望工厂在GEM接口中仅建立一条处于在线远程状态的连接,并允许其发送远程命令。但这并非绝对要求。不难想象某些应用场景中,远程命令的执行会分布在多个应用程序之间。例如,设备供应商可能使用一条GEM连接,根据实际测量性能来管理设备的周期性重新校准。
技术上的复杂性有哪些?
有几个。
- 由于每个连接使用独立的端口号,在采用HSMS-SS时,GEM接口仅能支持有限数量的连接。
- 由于标准中未明确规定多连接处理机制,因此未对多连接的处理提出要求。例如,GEM要求将操作员命令及操作员配方管理活动上报至主机。然而,当其他连接发送远程命令或下载新配方时,则无需上报此类操作。我们的CIMConnect产品虽具备此功能,但标准并未对此作出正式要求。
- GEM要求在图形用户界面中显示通信状态,但多连接情况如何处理?对于多个主机,需要显示哪些信息尚不明确。通常我仅显示首个GEM连接状态,但显示每个连接状态并让操作员能够控制所有GEM连接或许更为实用。
- 某些采集事件(以及相应的数据变量)、状态变量和设备常量针对的是单个连接的行为。这意味着要正确实现多连接,这些连接特有的功能必须对该连接保持唯一性。例如,考虑状态变量EventsEnabled和ControlState。这两个状态变量报告的值对该连接是唯一的。这为实现支持多连接的GEM接口增加了复杂性。 当然,我们的CIMConnect产品已对此进行了实现与处理。
每个GEM连接都必须完全相同吗?
不,但通常来说应该是一致的。同一组采集事件/数据变量、报警、状态变量和设备常量应报告给所有连接。然而,某些使用场景下,在单个连接上配置独特采集事件和数据可能更实用。例如,当设备供应商将某个GEM连接作为专属工厂主机包的管道时,他们可能需要发布仅供自身查看的独特数据。 如前所述,若两个GEM主机连接创建了完全相同的报告并关联至同一采集事件,则两者应接收完全一致的数据。但另一方面,具有相同状态变量的跟踪数据报告未必需要报告完全相同的数据,因为这些值可能在不同时间间隔独立采样。
设备在其GEM接口中应支持多少个GEM连接?
我建议支持五条连接。目前大多数GEM实现仅使用一条连接,因此此举可为最多四条额外连接留出空间。这使设备能够处理大多数情况,无需后期在工厂重新配置。在CIMConnect中,支持五条连接的开销非常小,若未使用这些连接则几乎不存在开销。
通信设置应如何配置?
您务必将设备设置为被动模式。这将使所有配置都位于主机端。所有连接可使用相同的设备ID,推荐使用0、1或32767。
如何在CIMConnect中启用多个GEM连接?
由于我们的CIMConnect产品天生支持多GEM连接,Cimetrix客户实际上只需配置设置文件即可。 我们的CIMConnect GEM产品最初就以支持多GEM连接为设计理念,因此具备原生直观特性,几乎无需额外编程——除非您将操作界面中的附加工作也算在内。在配置文件中,只需初始创建五个[CONNECTIONX]部分,然后为每个连接分别设置专属的VARIABLES和EVENTS部分即可。
替代方案?
另一种替代方案是参考SEMI设备数据采集(EDA)标准。EDA接口本质上仅用于数据收集,其标准中将多客户端访问作为基本要求内置其中。半导体前端设备制造商在采用GEM标准的同时,也成功应用了这项技术。制造执行系统使用GEM接口对设备进行命令与控制,而EDA接口则用于其他所有应用场景。
最终思考
我的建议是,所有用户(特别是Cimetrix CIMConnect客户)都应检查其GEM接口,确保已妥善实现多主机连接功能。CIMConnect使这一操作变得极其简单。同时请告知您的客户您具备此功能,以便他们充分利用它。
您随时可在我们的网站上了解更多关于GEM标准的信息。
{{cta('3ac7f910-7d5a-4042-8a7c-4297df11510d','居中对齐')}}