工作日常日志分享软件开发

SECS/GEM指的是一组用于管理制造设备和工厂主机系统之间通信的半导体行业标准。消息层标准SEMIE5SECS-II定义了一个通用的消息结构和一个包含许多标准化消息的库。协议层标准SEMIE37高速消息服务(HSMS)定义了使用TCP/IP传输SECS-II消息的二进制结构。SEMIE30GEM定义了一组最低要求、附加(可选)功能、用例和部分SECS-II消息的用户场景。

SECS/GEM是在设备上实现的,工厂使用它来实现命令和控制功能。由于它是一个行业标准,任何符合SECS/GEM的主机软件都可以与任何符合SECS/GEM设备进行通信。该标准在设备上全面实施后,工厂软件可通过其SECS/GEM接口对设备进行全面控制和监控。这些标准为设备制造商和工厂提供了许多好处。本文重点介绍了其中的几个好处。

定制化软件,无论是由设备制造商还是工厂开发的,创建和维护起来都很昂贵,而且往往质量低于预期。相比之下,SECS/GEM标准定义了如何在任何制造设备上创建标准化接口。设备制造商受益于为所有客户开发一个接口。工厂通过为他们购买的所有设备重用相同的集成软件而获益。工厂和设备制造商对该软件和技术的重用提高了软件质量,降低了成本,并允许更多的功能。设备制造商和工厂不仅可以在所需的最低需求功能上投资,还可以实现在其他方面无法负担的高级功能。如果他们只需要支持SECS/GEM,那么设备制造商就可以发布更多的数据,支持更先进的控制。反过来,工厂可以利用这些额外的数据来提高产品质量和生产率。

因为SECS/GEM被划分为基本需求和附加功能,它可以在任何制造设备上实现,而不考虑其大小和复杂性。额外的功能是可选的,因为它们并不总是被需要的。例如,一些设备没有配方,因此不需要实现配方管理这项附加功能。SECS/GEM也可以很好地根据设备数据的大小进行规模的缩放。例如,一个非常简单的设备或设备可能会发布10个不同的采集事件,而一个复杂的设备可能会发布5000个不同的采集事件;然而,两者都可以使用相同的SECS/GEM技术。

SECS/GEM使得设备上发生的一切都可以被追踪到。支持任何远程控制功能和系统配置。设备发布的数据越多,工厂可以实现的软件应用程序就越多。SECS/GEM接口使统计工艺控制、故障排除、预测性维护、前馈/反馈工艺控制、设备利用率、材料跟踪、配方验证以及更多应用程序的实现成为可能。这些应用程序通常减少了对设备上人机操作界面的需要,从而减少了工厂中操作员的数量。配方管理允许工厂最小化报废材料。例如,使用SECS/GEM接口将黄金配方存储在工厂的中央存储器,并确保在材料上使用正确的配方。

有几个特性使SECS/GEM自然高效。首先,每个SECS/GEM接口都充当消息代理。由于代理在设备上运行,未订阅的数据不会在网络上发布。如果主机软件要接收警报、收集事件或跟踪数据消息,必须先订阅。由于每个对警报、收集事件和跟踪数据的订阅都是单独管理的,因此设备可以实现单个SECS/GEM接口,该接口发布所有工厂应用程序请求的所有警报、收集事件和跟踪数据,而不会因为不必要的数据浪费网络带宽。此外,当主机订阅跟踪数据时,它可以指定数据收集速率,这使得SECS/GEM比以硬编码速率发布数据的协议更有效和有用。另外,所有SECS/GEM消息总是以高效率的二进制格式传输。这比ASCII格式的协议使用更少的带宽。尽管使用二进制格式,SECS/GEM消息也很容易和标准的XML符号进行互转。

多年来,SECS/GEM一直是半导体行业工厂/设备通信和控制系统的支柱。这意味着今天所有的半导体制造完全依赖于SECS/GEM通信。自90年代末以来,300mm半导体工厂一直在以SECS/GEM通信为基础的全自动化运行——像台积电、三星、美光、英特尔、东芝等大公司在每个工厂7*24小时的使用SECS/GEM。平板显示器、高亮度LED和光伏等其他行业也正式开始使用SECS/GEM,因为它们认识到SECS/GEM特性可以应用于任何制造设备,以支持关键任务的应用。

虽然该标准要求GEM文档随设备一起提供,但是SECS/GEM仍支持多种方法让主机软件自动适应设备的SECS/GEM接口。主机软件可以通过一些消息请求可用报警、状态变量以及设备常量的列表,对于较新的SECS/GEM实现,主机软件还可以请求可用采集事件和数据变量的列表。这些消息使得SECS/GEM接口即插即用。此外,设备制造商还可以提供一个标准化的提供SECS/GEM接口及其特性的完整描述的XML文件。

对于工厂和设备制造商来说,使用SECS/GEM技术有许多好处,以上只是其中的一部分。SECS/GEM是当今可用的成熟技术。

在开始我们的SECS/GEM系列之前,让我们先来解释GEM标准的一个关键特性,即CollectionEvents。我们将从解释它们如何工作开始,然后进一步说明为什么它们在从制造设备收集数据方面如此有效。

“收集事件”名称中的两个单词是描述性的。

如“事件”一词所示,收集事件是通知。它的目的是在设备上发生感兴趣的事情时通知主机。“主机”是指连接到设备GEM接口的工厂客户端软件。例如,收集事件可以在物料到达时报告,耗材不足时报告,出现硬件问题时报告,摄像机对物料进行检查时报告,物料准备取出时报告,燃烧室达到目标真空压力时报告,加工完成时报告等等。设备可以使用收集事件特性来报告任何感兴趣的事件。创建GEM接口的人准确地定义了主机可以使用哪些收集事件;因此,不同设备类型的可用收集事件集是不同的。

收集事件功能也能够将数据与收集事件消息一起发布。这是一种非常有效的数据收集形式,在消息可用时异步提供信息。例如,当物料到达时报告的收集事件也可以报告到达物料的条码和位置。GEM接口中有三种类型的数据;关于收集事件的数据(称为数据变量)、关于状态的信息(称为状态变量)和设备设置信息(称为设备常量)。无论谁创建GEM接口,都将准确地定义每个收集事件将提供哪些信息。因此,不同设备类型的收集事件的可用信息集是不同的。只有在主机设置报表时,设备才会将可用数据发送到主机。

综上所述,收集事件不仅可以告诉主机发生了什么事情,还可以提供关于发生了什么事情以及设备状态的更详细的信息。

一个小的类比

打个比方,把工厂想象成老板,把他们购买的设备想象成员工。有许多不同的管理风格,就像有不同类型的工厂和运行工厂的风格一样。你不想被迫按照别人的工厂的方式经营自己的工厂。你想按你自己的方式去做。

主机必须为报告建立规则,并适当地调整规则。例如,有时经理并不关心员工什么时候去洗手间。对于某些员工,经理可能想知道。在GEM接口中,主机可以选择哪些通知会发生,哪些不会发生。

有时,收集事件还用于实现以下场景:设备在继续或获得继续的许可之前需要来自主机的信息。当设备准备好接受主机指令或权限时,可以通过收集事件通知主机。

设备的GEM接口可以发布许多不同的收集事件。通常情况下,主机不希望一次得到所有这些信息的通知,也不需要这样做。收集事件以两种方式使用发布/订阅设计模式。

主机订阅特定的收集事件,以便在事件发生时接收通知。订阅允许主机启用或禁用GEM接口中可用的每个收集事件的报告。设备在会该收集事件发生时发布它们。

默认情况下,收集事件消息不包含任何数据。订阅还允许主机决定在每个启用的收集事件的消息中包含哪些数据。主机定义报表并将报表链接到收集事件;从而订阅数据。每个收集事件可以有不同的报告。还可以多个收集事件共享一个报表。报表里可以包含与收集事件关联的任何数据变量、任何状态变量和任何设备常量。设备会在发布收集事件是将请求的数据一并带出。

设备发布的每个收集事件都有一个惟一的ID号进行标识。主机软件在启用或禁用收集事件时使用ID号。设备在发送收集事件消息时使用ID号。每个可用的数据变量、状态变量和设备常量都有一个惟一的ID号。当主机定义报表时,它也需要为报表分配惟一的ID号。

代理构建在设备的GEM接口中,负责处理所有收集事件发布/订阅。它是设备系统的一部分。主机(客户端)和GEM接口之间的通信使用SECS/GEM通信进行标准化。GEM接口与设备的其余硬件和软件(设备收集事件和数据的源)之间的通信可以是任何适当的技术,只要GEM接口功能正常并且性能足够好就可以了。

这意味着消息只会在主机订阅之后才从设备发送到主机。将代理作为设备和GEM接口的一部分可以使GEM接口变得非常有效,并且比使用外部代理的协议使用更少的带宽,因为在外部代理中,所有消息和数据都必须一直发送到代理。

收集事件订阅持久化在GEM接口中。因此,如果主机断开并重新连接,或者设备重新启动,GEM接口仍旧记得所有订阅的设置。

这取决于几个因素。

GEM标准使用标准通信硬件,并不限制收集事件的频率。换句话说,通过改进硬件,可以加快收集事件的速度。

GEM支持两种协议:SECS-I和HSMS。SECS-I基于RS-232串行通信,因此目前很少使用。这样的实现无法非常快地触发收集事件。

HSMS基于网络通信。由于串行通信很慢,所以目前大多数GEM实现都使用HSMS。GEM可以非常有效地使用TCP/IP。收集事件的可能频率取决于网络硬件的速度、设备计算机性能和主机性能。与大多数协议一样,使用消息通常比生成消息需要更多的计算机资源。

生成收集事件的速度还取决于链接到收集事件的数据报告。例如,如果数据报告很大,比如10mb,这将影响性能。

主机无法收到收集事件消息的可能原因有几个。

请设备供应商添加所需的收集事件。设备供应商很难准确预测工厂需要的所有收集事件。设备供应商需要升级其在工厂中的GEM接口软件。

GEM允许单个数据变量值或状态变量的值为任意数据类型的数组或结构体,包括浮点数、字符串或整数。单个数组的大小限制为16.777215MB,消息的总大小限制为4.294967295GB。

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

状态变量(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(浮点类型)。列表和数组类型会在数据项中包含多个值。例如,图像数据通常采用字节数组作为数据格式。

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

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

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

主机可以在任何时候通过发送一条包含状态变量ID(SVID)列表的消息来查询这些状态变量(SV)的当前值。如果该列表的长度为1,则只返回单个状态变量(SV)的值。如果列表的长度为零,则返回GEM接口中定义的所有状态变量(SV)的值。这些值会包含在在设备回复的S1F4消息中。主机还可以通过向设备发送S1F11消息向设备请求状态变量(SV)名称列表。上面提到的列表规则也适用于此消息。返回消息将包含每个状态变量(SV)的条目,包括状态变量ID(SVID)、名称和单位。

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

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

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

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

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

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

219.96(第一次采样卡盘温度)0.0112(第一次采样压力)219.97(第二次采样卡盘温度)0.0122(第二次采样压力)219.97(第三次采样卡盘温度)0.0120(第三次采样压力)219.96(第四次采样卡盘温度)0.0119(第四次采样压力)

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

219.96(第五次采样卡盘温度)0.0112(第五次采样压力)219.97(第六次采样卡盘温度)0.0122(第六次采样压力)220.01(第七次采样卡盘温度)0.0120(第七次采样压力)220.00(第八次采样卡盘温度)0.0119(第八次采样压力)

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

在某种程度上,在上面的表中描述的应用程序数据可以跨设备类型进行标准化,这样的话就有可能创建通用的工厂的应用程序,只需要一个从供方定义的GEMID(收集事件id、状态/数据变量,常量,设备等)到通用应用方的对应列表。但是这是另一个关于GEM上下文中“即插即用”概念的主题。

我们希望这个解释能够帮助您理解设备信息对于使用它的工厂是多么有价值,从而明白在您将来设计的GEM接口中提供一组丰富的事件、变量和其他详细信息是多么重要。

在一个完美的世界里,一切都按计划进行,但在现实中,事情总是会出错。成功的秘诀是能够知道什么时候出了问题,然后做出适当的反应。

就像家庭报警系统一样,半导体晶圆厂也想知道什么时候发生了不好的事情。他们想防止正在加工的材料被报废。报警管理使设备能够在出错时通知主机,并提供出错信息。GEM标准将报警管理定义为设备能够通知主机对设备上发生的报警情况和对报警情况进行管理的能力。

在GEM中,一个报警可以是指设备上的任何可能危及正在加工的人员、设备或材料的异常情况。例如,如果技术人员打开一个盖板来替换组件,设备应该发出报警,通知主机在当前状态下操作设备是不安全的。另一个例子可能是,如果一个设备需要高温进行加工,但是传感器检测到低温条件,它应该触发报警,因为在这些条件下运行过程可能会损坏正在加工的材料。当出现报警情况时,设备制造商也有责任制止设备上的不安全活动。设备制造商最清楚设备上需要什么样的特殊报警,以确保人员、设备和材料的安全。

报警的状态图不是很令人兴奋,但是它满足了一个至关重要的需求。下图为报警状态图:

GEM报警只有两种状态:每个报警要么处于设置状态,要么处于清除状态。它简单但是有效。

报警管理不是复杂的事情,但通过有效地使用报警管理,晶圆厂可以仔细的监控其工艺设备的健康状况,并将其对生产良率的负面影响降到最低。

配方是一组描述设备应如何处理其材料的指令。配方内容由设备供应商定义。

配方管理允许工厂主机在设备之间传输配方。它还要求设备在设备上的配方发生变化时通知工厂主机。

几乎所有的半导体工厂都需要这个特性来确保配方的完整性并支持可追溯性。主机将设备上已批准的配方上传并保存下来供以后使用,以确保菜谱不会被更改。为了可跟踪性,配方通常与工艺数据一起保存。

配方通过SECS消息在主机和设备之间传递。有几组SECS消息被用于这个功能。E30GEM列举了格式化、非格式化和大型配方的消息集。这里将不讨论大型配方的消息集。

当操作人员在设备上修改配方时,设备还需要通知主机。生成的PPChange收集事件还需要伴有两个数据变量:载有被更改的配方ID的变量PPChangeName以及载有包含更改类型(创建、删除和编辑)的变量PPChangeStatus。当配方被传到设备上时,设备应对内容进行验证。如果配方无效,则应该生成一个PPVerificationFailed的收集事件,伴有包含验证失败信息的PPError数据变量,以将问题通知主机。如果验证失败,该配方将不被使用。

每个配方都由一个名为processprogramID或PPID的ASCII名称标识。工厂主机和设备GEM接口在配方操作中使用该名称。

在GEM接口中,配方是持续性的。如果主机断开并重新连接,或者设备重新启动,GEM接口仍将记得配方。此外,大多数工厂主机会将配方保存在工厂端。

所有配方

非格式化配方

格式化配方

可以传送一个多大的配方

对于未格式化的菜谱消息,菜谱要么是单个ASCII字符串,要么是二进制数组值。单个数组值被限制为16.777215MB。

格式化的配方消息,将配方分解为一个项目列表。单个数组值被限制为16.777215MB。消息的总大小被限制为4.294967295GB。

状态模型是GEM的基本功能,因此可以在每个设备上实现。该功能定义了设备的通信、控制和假脱机行为。设备必须提供处理状态模型。但是,定义出一个适用于所有设备的工艺状态的状态机是不可能的。本标准规定了所有设备应具有相同的加工行为。每个状态模型都必须用状态模型图、转换表和每个状态的文本描述来记录归档。关于每个状态模型的一致和详细信息使工厂能够在得到GEM手册之后立即开始编写主机应用程序。

远程控制

一旦工厂能够从设备中收集数据,他们就开始研究如何控制设备。远程控制是GEM功能,它允许主机应用程序请求设备执行一个操作。所有远程命令都应该包含在手册中,包括它的名称、描述以及可能随命令一起发送的每个命令参数的详细信息。命令参数的详细信息应该包括名称、格式和描述。下面显示了一个示例。

GEM手册很少采用易于在软件中解析的格式。这通常会导致重复代码,并进行一些小的更改,以便与其他设备通信。SEMIE172SECS设备数据字典(SEDD)和E173SECS消息表示法(SMN)是两个标准,它们可以极大地提高主机应用程序的灵活性和可重用性。SEDD是一个易于在软件中分布和解析的xml文件。SEDD可以被认为是一个现代化的GEM手册,因为它包含了与GEM手册中相同的信息。例如,SEDD文件包含关于每个变量、收集事件、警报和受支持的SECS-II消息的详细信息。SEDD文件使用SMN表示数据项、变量和SECS-II消息。SMN也是XML格式,它是第一个定义表达数据项和SECS-II消息的表示法的标准。这意味着单个应用程序可以读取SEDD文件,进行一个简短的配置过程,然后立即开始使用设备的GEM接口。这些特性允许单个应用程序用于多个设备,而不是为每个设备创建略有不同的变体。

GEM手册是GEM标准所要求的与每个设备一起提供的重要文档。当遇到关于设备的GEM接口的问题时,GEM手册应该是寻找答案的首选。SEMI也在通过更新现有标准和创建新标准,继续改进GEM手册的内容和灵活性。

设备终端服务允许工厂操作员从设备工作站与主机交换信息。主机可以在设备的显示设备上显示信息。它还允许设备的操作员向主机发送信息。设备必须能够显示主机传递给它的信息,供操作员注意。

使用终端服务的例子如下:

当主机向设备发送终端消息时,需要设备向操作员显示该消息。该显示器必须能够显示最多160个字符(甚至比使用Twitter在一条tweet中发送的字符还要多),但也有可能会显示更多字符。设备的显示设备必须具有一种机制,用于通知操作员一条消息已被接收,但尚未被操作员确认。该消息将继续显示,直到操作员确认该消息为止。设备必须提供一个方法,例如一个按钮,让操作员确认消息。操作员的消息识别将导致一个收集事件,该事件会通知主机操作员已接收到信息。设备应用程序不需要翻译从主机发送的数据。它只是为操作员提供信息显示。

如果主机发送的新消息是在操作员确认前一条消息之前发送的,则新消息将覆盖前一条消息。主机可以通过发送零长度的消息清除未确认消息(包括指示符)。零长度的消息不会被认为是待确定的消息。设备还必须允许操作员将输入的信息从操作员的设备控制台发送到主机。

我记得作为一个新的童子军,我们计划去我家附近的一个原始山区远足。我们从地图上学到的第一件事就是在哪里可以找到图例。地图图例包含了阅读地图所需的重要信息,比如指出哪个方向是北。既然我们知道在哪里可以找到图例,我们就可以确定地图的方向,这样在我们计划徒步旅行时就能找到它了。

在典型的半导体或电子装配工厂中,大多数设备都有一个用户界面,其中包含许多关于设备的信息。大多数设备还包含许多用于控制或操作设备的屏幕。利用GEM,一个工厂主机系统可以对设备进行控制,以及采集工艺过程中生成的重要数据。

就像地图一样,在一个设备的用户界面上有很多可用的信息。有时很难找到那些主机系统需要的,用来控制和与设备通信的重要信息。GEM标准提供了关于如何将这些关键项目在用户界面上呈现和控制的指南。例如,如果主机向设备操作员发送关于他们需要执行的任务的信息,GEM终端消息指南规定,这些信息必须保留在设备的用户界面上,直到操作员确认他们已经阅读了它。

SEMIE30标准定义了制造设备通信和控制通用模型(GEM)的规范。除了提供制造自动化所需的通用设备行为和通信功能集的定义外,该标准还提供了关于哪些项必须出现在设备用户界面上以及如何表示这些项的要求。用户界面要求由标准定义的通信状态、终端服务新消息指示、终端服务消息确认按钮、通信状态默认值和通信状态选择说明。

这似乎是一件小事,但就像知道地图上找到图例就能理解地图上的线条和符号的一样,GEM为如何理解设备界面上所展示的那些对与工厂主机之间通信尤为重要的信息提供了帮助。

即使是最健壮的计算机网络也会经历通信失败。不管原因是什么,一个小故障都可能导致大量的关键任务数据丢失。GEM通过提供消息假脱机功能来调停数据的丢失

假脱机是这样一种功能,设备可以在通信失败时对发送给主机的消息进行排队缓存,然后在通信恢复时发送这些消息。

自动化工厂是数据驱动的。对数据进行提取和分析,以做出影响工程和管理团队如何应对的决策,以确保产品产量高而废品率低。

这些数据的缺失可能导致错误的判断甚至猜测。假脱机是一种备份系统,它可以确保存储和恢复这些数据,从而降低丢失有价值数据的风险。

然而,假脱机并不是GEM的要求,如果要实现这个附加的功能,就必须正确地实现。下面是实现兼容假脱机接口的一些要求。

设备必须通过设备常量“EnableSpooling”给主机提供启用和禁用假脱机的能力。该EC由设备发布,主机可以选择所需的状态。

消息假脱机功能也需要主机的参与,以在通信中断后成功恢复。在主机程序能够正确的处理整个状态机中可能发生的所有情况之前,最好将假脱机设置为禁用状态。禁用假脱机比管理不当的假脱机要好。

一旦重新建立了通信,主机必须管理对假脱机消息的请求。主机还可以在必要时从设备中清除假脱机消息文件。

虽然假脱机不是GEM的基本需求,但是如果实现了它,就必须正确地执行。当启用假脱机时,主机和设备软件都有责任确保遵守GEM。GEM假脱机避免了潜在的有价值数据丢失,并为设备和主机软件提供了一个易于遵守的标准。

协议层封装数据,并在工厂主机和设备GEM接口之间可靠地传输数据。

协议层实现了通过工厂主机和设备GEM接口之间的连线发送消息所用到的传输技术和数据打包算法,。

SEMIE5标准,半导体设备通信标准II消息内容(SECSII),定义了用作数据的SECS消息,以及如何将它们打包到二进制缓冲区中进行传输。

SEMIE37和E37.1标准高速SECS消息服务(HSMS)定义了一种协议,用于在TCP/IP连接上交换SECS消息。这是SECS/GEM中使用最多的传输技术。

SEMIE4标准,即半导体设备通信协议标准I消息传输(SECS-I),定义了在RS-232上交换SECS消息的机制。这通常用于较旧的设备或设备内部的某些硬件,例如EFEM控制器。本文的其余部分将重点讨论通过HSMS传递的SECS消息。

GEM中的协议层维护连接并检测连接丢失,因此任何一方都可以采取适当的操作,比如激活假脱机。协议层定义握手机制,以确保在需要时传递消息。

协议层连接是工厂主机和设备之间的点对点连接。它是一个没有广播功能的专用连接。这使得预测网络负载变得更加容易。

SECS/GEM传输数据开销小、密度高。这意味着给定数据集的网络带宽使用更少。为了便于说明,我们来看一个典型的事件报告示例,并将SECS/GEM消息传递与某种程度上等价的XML和JSON消息进行比较。

以一个典型的GEM接口为例,该接口为id使用无符号的4字节整数,以及一个包含8字节浮点数和4字节整数的事件报告。下表以SECS/GEME5格式以及等效的JSON和XML格式显示了此消息的一个示例。

和XML数字可以根据键/元素名称进行一些更改,上面的只是许多可能的表示之一。

下图显示了示例消息的数据密度比较。实际数据大小为2个4字节整数+2个8字节浮点数+1个4字节事件id+1个4字节报告id=32字节的实际数据。开销是通过从消息的总字节数中减去实际数据大小来计算的。

对于示例消息SECS的数据密度,数据密度百分比如下图所示。数据密度百分比由(实际数据)/开销*100计算。

现在,如果我们将示例消息更改为包含100个8字节浮点数,则数据密度百分比图将改变为如下图。注意JSON和XML相对相同,但是SECS/GEM数据密度增加到78%。数据密度百分比由(实际数据)/开销*100计算。

SECS/GEM编码的开销非常小。消息的开销是描述消息的头部的10个字节,加上消息体大小的1到4个字节。对于SECS消息中的任何4字节整数或浮点数,都将通过网络发送6个字节,4个字节表示整数值+1个字节表示类型+1个字节表示数据的长度(以字节为单位)。同样,对于任何8字节的整数或浮点数,都将发送10字节。对于字符串值,长度将是字符数加上2到4字节。在SECS消息中出现列表(上面可读示例中的L)时,将向消息添加2到4个字节。

在SECS/GEM数据中,数字数组尤为高效。数组的开销是类型为1字节,数组长度为1到4字节,加上数据的本身大小。例如:一个由10个4字节整数组成的数组将占用42字节,即数据密度为95%!

在JSON示例中,一个4字节的整数需要16个字节加上表示该整数所需的字符数,因此需要17到28个字节。浮点数的开销相同,但可能需要更多字符来表示值。

在XML中,开销基于XML元素名称的大小。使用上面示例中的元素名,对于任何4字节整数,跨连接的字节数将是9+表示该整数所需的字符数,所以是10到21字节。浮点数取决于用来表示值的字符串格式。

根据使用的传输协议,XML和JSON也可能增加开销。例如,XML通常使用SOAP通过HTTP传输,这就为每个消息增加了额外的两层开销和更多的字节。SECS/GEM所显示的字节数是实际通过TCP/IP上的网络传输的。

在SECS/GEM中传输数值数据时不需要转换。数字以其原始格式传输。例如:8字节浮点数以其8字节表示形式传输,没有经过任何转换、截断或舍入。

任何协议,如JSON或XML,都必须将这些8字节浮点数转换为文本表示形式。这需要计算用于编码和解码的资源,并且需要更多的字节。IEEE754要求17位十进制数字将8字节浮点数精确地表示为字符串。将符号、小数点、指数和指数符号的字符相加,得到21个字符。这是SECS/GEM通过网络发送的两倍多。

HSMS定义了一种称为LinkTest的环路保证机制。如果没有活动的消息交换,协议层将启动一个计时器。每次计时器过期时,都会交换一条协议消息以确保连接仍然是打开的。

HSMS没有定义安全性。没有连接方的验证,连接不需要凭证或证书。数据未使用任何普通加密算法加密;然而,数据在数据打包过程中是模糊的,通常是人类无法读懂的。由于工厂网络与外部世界隔离,安全通常不会被视为一个问题。

使用HSMS的SECS/GEM协议层提供了在工厂主机和设备之间交换准确数据的非常有效的方法。

1977年,经典电影《第三类接触》上映。在电影的最后,有一段外星人和人类之间的戏剧性的“对话”。其中一位科学家说:“我希望有人把这一切都记下来。”

他们真正想要的是消息日志!

就像软件日志对于应用程序的故障诊断很重要一样,记录工厂主机和生产设备之间的详细消息交互对于故障诊断也很重要。

例如,主机发送一个命令,设备根据消息进行操作,但是有些事情并没有如预期的那样工作。将发送给设备的消息和设备的回复的消息与来自设备的其他日志一起查看,非常有助于确定问题位于在哪儿。

用于显示/表示已记录消息的格式也非常重要。SECS消息格式的最新行业标准是SEMI-E173,即XMLSECS-ii消息符号规范(SMN)。

StateChangeNotConnectedStateChangeNotSelected

FFFF0000000100000001
FFFF0000000200000001
CommunicationEstablished

01Alarm1Text

日志可以被设备、主机甚至像Cimetrix的CIMSniffer实用程序这样的“网络嗅探器”捕获。

有了这些标准和工具,就没有理由像《亲密接触》中的科学家那样,希望这些信息被记录下来。去打开日志!

Cimetrix的CIMConnect、HostConnect和SECSConnect都提供SMN格式的消息日志记录。

GEM板的控制状态是E30GEM的基本要求之一。它定义了主机和设备之间的协作级别,并指定了操作员如何在不同级别的主机控制状态下进行交互。

在半导体工厂中,主机或操作员可以控制设备的加工。双方同时控制设备会带来问题。所以当一方控制设备时,另一方所能进行的操作将受到限制。例如,如果操作员暂停了工艺处理,则不应允许主机发送恢复处理或启动新作业的命令。GEM控制状态就是为了防止此类问题的发生而被建立的。

控制状态提供三个基本级别的控制。每个级别都描述了主机和设备端可以执行哪些操作。

控制状态模型的设计使设备操作员对状态机的控制多于对主机的控制。这将保护操作员不被主机发起的意料之外的状态更改影响。

设备必须提供一种显示当前控制状态的方法,以便操作者知道谁控制着设备。

设备必须提供一个瞬时开关来启动到设备离线状态的转换,另一个开关来尝试从设备离线状态切换到在线状态。这可以是前面板上的一个硬件开关,但通常在软件中使用按钮控件实现。

设备必须提供一个离散的双位置开关,操作员可以使用该开关指示所需的在线子状态(本地或远程)。这可以是前面板上的一个硬件开关,但通常在软件中使用按钮控件实现。如果在软件中实现,该设置必须保存在非易失性存储中。

在控件状态模型中,转换#1、#2、#4和#7是有条件状态转换。设备应用程序必须提供一种方法来配置要转换到哪种状态。设备常量可以用于该配置。

条件转换#1和#2决定了启动期间控制状态模型的初始状态。控制这些转换的配置可以设置为以下状态之一:

条件转换#4用于决定设备尝试在线失败后要转换到哪个状态。该配置可以设置为以下状态之一:

条件转换#7用于确定当控件状态变为在线时,应该进入哪个在线子状态(本地或远程)。该配置可以设置为以下在线子状态之一:

显然,GEM标准是最适合工厂自动化各个方面的行业标准,具有广泛的特性,支持智能制造和工业4.0。GEM标准可以在最简单和最复杂的设备上实现。GEM将继续在未来许多行业的制造业中发挥关键作用。

THE END
1.recipe是什么意思recipe怎么读中文意思用法recipe是什么意思、recipe怎么读 读音:英['res?p?] 美['r?s?pi] recipe 基本解释 n. 食谱;处方;秘诀 recipe 网络释义 n. 食谱;[临床] 处方;秘诀 recipe 词性变化 名词复数形式:recipes 中文词源 recipe 食谱,秘诀 re-,向后,往回,-cip,抓住,词源同 receive,participate.引申词义食谱,秘诀。 https://danci.gjcha.com/recipe.html
2.英语词汇recipe怎么读,是什么意思,单词翻译读音固定搭配用法单词recipe 释义recipe n 1 ~ (for sth) set of instructions for preparing a food dish, including the ingredients required 烹饪法; 食谱 [attrib 作定语] recipe books, cards 烹饪书、 食谱卡片. 2 ~ for sth (fig 比喻) method of achieving sth 方法; 秘诀; 诀窍 What is your recipe for successhttp://ec.newdu.com/28116.html
3.FUSERecipeRevisepchfused指的是什么FUSE是一种非易失性存储器,用于在芯片制造完成后对某些配置设置进行更改,比如锁定特定功能、启用自检测等。在芯片设计阶段,工程师会预先设定一组默认的FUSE设置(即Recipe),但随着产品的迭代或客户需求的变化,可能需要对这些配置进行修订。 当需要对FUSE Recipe进行修订时,开发者可能会进行以下几个步骤: https://blog.csdn.net/qq_40706580/article/details/144107627
4.详解received含义及receive用法与常见搭配全解析Receive 的含义与上文相同,指收到的意思,作为动词,receive 的释义为:vt. 收到;接待;接纳 vi. 接收。“He will receive $6,000 in back pay.”(他将收到 6000 美元的欠薪。) 简要回答:receive 是一个英文单词,作为不及物动词使用时表示接收;作及物动词使用时表示收到、接待或接纳。 receive 和 accept 的http://m.lffenquanban.com/44C6703a330D.html
5.100组常用英文近义词辨析之(2):accept和receive的区别100组常用英文近义词辨析之(2):accept和receive的区别 接受和收到是两个常见的英语单词,它们在意思上有些相似,但在用法上有所区别。本文将详细介绍accept和receive这两个单词的含义、用法以及它们之间的区别。一、accept(接受):定义:accept指的是接受或同意某事物、观点、建议或邀请。它表示一个人愿意接纳或https://baijiahao.baidu.com/s?id=1766656261121644779&wfr=spider&for=pc
6.isintelligentenoughtocomeupwithahealthyrecipeaThe Smart Fridge here is for those who have shunted cooking to a hobby and rely more on designer microwave meals. The idea is to give you a fridge that is intelligent enough to come up with a healthy recipe, depending on what you stock in it. Not only that, it guides you with vocahttp://eyu.zaixian-fanyi.com/fan_yi_13282970
7.非常全面半导体业界常用术语这样一个包含传动、流程和过程参数组成的集合就叫Recipe。?subEquip: 子设备,如chamber和loadport?Chamber: 腔体?Loadport: 上料口?job: 机台内部的加工过程,包括步骤以及每个步骤的腔体和对应参数和时间等的一个集合?打标机: 用激光技术在Wafer上面刻上ID?刷洗机: 打标会产生颗粒,因此需要进行刷洗https://www.eet-china.com/mp/a267770.html
8.(导航篇)拉花大法好——家用设备打奶泡拉花教程的做法步骤图邪(导航篇)拉花大法好——家用设备打奶泡拉花教程的做法 拉花缸选购看这里,我已经有13个拉花缸可以召唤神龙了召唤神龙之拉花缸选购心得(13个拉花缸)https://www.xiachufang.com/recipe/102756714/?group=share_title_a 菜谱拉花杯子选择指南,供大家作为参考挑选杯子https://www.xiachufang.com/recipe/102918611/ 拉花https://www.xiachufang.com/recipe/102813353/
9.EAP系统在设备自动化过程中有何妙用该系统以安全性、稳定性和高效率为着重考量点,构建出自定义指令、可视化运行(DashBoard)、数据加密和业务灾备等特色功能,不仅为上层应用生态系统提供强大的基础数据支撑,而且在最大程度保障业务系统及数据安全的基础上提升了工厂数字化水平。 IKAS EAP系统可根据MES系统流程的定义,自动选择设备菜单(Recipe),并实时获取https://zhuanlan.zhihu.com/p/549891826
10.配方管理系统RMS配方管理系统RMS(Recipe Management System), 即对半导体工厂设备里面配方进行管控,支持Online和Offline比对,支持上传和下载。配方管理允许工厂主机在设备之间传输配方。它还要求设备在设备上的配方发生变化时通知工厂主机。 RMS信息流 上扬软件RMS使用C#开发工具,采用服务器端和客户端模式,Recipe Body解析部署在服务器端,能https://m.elecfans.com/article/1809580.html
11.数据库管理系统需求分析(精选10篇)这些都会造成病人得不到合理快速的解决方案。随着社会的不断发展进步,计算机的发展亦十分迅速,在各大领域都发挥着不可忽视的作用。因此,我们选择利用计算机设计一个医院的门诊管理系统。它可以实现数据的信息管理,在一定程度上实现自动化。 二、需求分析 本系统的主要功能是对医院门诊患者信息进行有效管理,形成一个完整https://www.360wenmi.com/f/fileau70676k.html
12.Recipe管理方法和系统以及半导体设备控制系统与流程导航: X技术> 最新专利>计算;推算;计数设备的制造及其应用技术本发明涉及微电子技术领域,特别涉及一种用于半导体设备的Recipe管理方法和Recipe管理系统以及半导体设备控制系统。背景技术:Recipe即工业自动化制造中的秘方,其内容可包含工艺加工过程中的多个步骤以及各个步骤的各种工艺参数值和该步骤的持续时间。在工业自动化https://www.xjishu.com/zhuanli/55/201210101132.html
13.AppStore上的“SecretRecipeMY”We have upgraded our Secret Recipe Rewards Membership Programme to give you EXCITING benefits & MORE Rewards. Membership Benefits: Earn points and earn your w…https://apps.apple.com/cn/app/secret-recipe-my/id1546046390
14.带你读《ONAP技术详解与应用实践》之三:ONAP架构设计信息模型、业务模型、概念模型:可简略记成IM(Information Model,信息模型),其为对现实世界中真实事物的描述,不涉及具体软件实现,例如员工、合同、客户、网络、站点、设备等;也包括这些抽象概念之间的关系,比如站点中“包含”设备、而交换机“属于”某种设备等。 https://developer.aliyun.com/article/726291
15.Pushbullet:如果这都不算爱所以今天小编给大家推荐的就是这类神器:Pushbullet,push这里理解成推送,bullet是子弹的意思,Pushbullet顾名思义就是将消息如子弹般推送至你的设备上。听上去狂拽酷炫吊炸天,如果这都不算爱?你确定你知道什么叫做 爱! 你造吗,只需一个Pushbullet(Google)帐号即可实现各个设备之间的推送,包括但不局限于PC-iOS、PC-https://news.tongbu.com/73813.html
16.recipe在哪里可以找到很多食谱 :fire: 屏幕截图 状态 项目完全完成! :comet: 前提条件 在开始之前,您将需要在计算机中安装以下工具: 除此之外,最好有一个不错的文本编辑器,例如 指示 # Open the cmd/terminal and clone this repository $ git clone < https> # Go to the project folder $ cd recipe-app # https://www.coder100.com/index/index/content/id/3869575