SEMI E37

SEMI E37-0298

不适用

SEMI 1995,1998高速SECS信息服务(HSMS)通用服务

1目的

HSMS为独立的制造商提供了一种方法来生产可以连接和互操作的实现,而不需要彼此的特定知识。

在需要更高速度通信或简单点对点拓扑结构不足的应用中,HSMS是半E4(SECS-1)的替代产品。半E4(SECS-1)仍然可以用于不需要HSMS的这些和其他属性的应用。

HSMS也是SEMI E13 (SECS消息服务)的替代者,用于传输控制协议/网际协议优先于现场视察的应用。

旨在用辅助标准来补充HSMS,这些辅助标准进一步规定其使用的细节或对其在特定应用领域的使用施加限制。

2范围

高速SECS消息服务(HSMS)定义了一个通信接口,适用于半导体工厂中计算机之间的消息交换。

3参考文件

3.1 SEMI标准

半E4——半设备通信标准1——信息传输(SECS一)

SEMI E5 — SEMI设备通信标准2 —消息内容(SECS-2)

3.2 IETF文件

因特网协议

因特网控制信息协议

传输控制协议

IETF RFC 1120——对互联网主机的要求——通信层

IETF RFC 1340——分配号码。注:本招标文件取代招标文件820。

3.3 POSIX文件

IEEE POSIX P1003.12 —协议独立接口(PII)

4术语

应用程序接口。在TCP/IP的情况下,应用程序用来准备或调用TCP/IP功能的一组编程约定。

通信故障—由于从选定状态转换到未连接状态而导致的通信链路故障。(见第9节。)

已确认服务(HSMS) —通过从发起方向响应实体发送消息来请求的HSMS服务,该消息要求通过从响应实体向发起方发送响应消息来指示服务的完成。

连接—在两个实体之间的一个TCP/ IP局域网上建立的逻辑链接,用于交换消息。

控制消息—用于管理两个实体之间的HSMS会话的HSMS消息。

数据消息—一种HSMS消息,用于在HSMS会话中传输特定于应用程序的数据。数据消息可以是主消息或回复消息。

实体—与一个TCP/IP连接的端点相关联的应用程序。

报头—每个HSMS消息前的10字节数据元素。

IETF文件可从网络信息中心获取,网络解决方案,地址:美国弗吉尼亚州尚蒂利公园草地大道14700号200室,邮编:22021

2 POSIX文件可从美国纽约州纽约市东47街345号电气和电子工程师协会(IEEE)获得,邮编:10017

1

SEMI E37-0298 SEMI 1995,1998

发起者(HSMS) —请求HSMS服务的实体。发起者通过发送适当的HSMS消息来请求服务。

IP地址—互联网协议地址。一种逻辑地址,它唯一地标识一个特定的连接到一个TCP/IP网络。

本地实体—相对于连接的特定端点,本地实体是与该端点相关联的实体。

特定于本地实体—任何过程、选项、问题或其他实施事项的一般限定条件,不属于本标准的主题,由单个供应商自行决定。

消息——一个完整的单向通信单元。HSMS消息由消息长度、消息头和消息文本组成。HSMS消息可以是数据消息或控制消息。

消息长度—4字节无符号整数字段,以字节为单位指定消息长度。

未结交易—正在进行的交易。

端口—一个TCP/IP连接的端点,其完整的网络地址由IP地址和TCP/IP端口号指定。

端口号—(或TCP端口号)。一个连接到网络的端口的地址,它可以作为一个连接的端点。

主要消息—具有奇数功能的HSMS数据消息。此外,数据事务的第一条消息。

发布端口—与特定实体(服务器)相关联的一个TCP/IP地址和端口号,该实体打算使用它来接收TCP/IP连接请求。打算发起连接的远程实体必须知道实体的发布端口。

接收者—接收消息的HSMS实体。

远程实体—相对于连接的特定端点,远程实体是与连接的相对端点相关联的实体。

回复—具有偶数编号功能的HSMS数据消息。此外,适当的回应普里-玛丽HSMS数据信息。

响应实体(HSMS)—HSMS服务的提供商。响应实体从请求服务的发起者接收消息。在确认服务的情况下,响应实体通过向请求发起者发送适当的HSMS响应消息来指示所请求的服务的完成。在未经确认的服务中,响应实体不发送响应消息。

会话—两个实体之间为交换HSMS消息而建立的关系。

会话实体—参与HSMS会话的实体。

会话标识—16位无符号整数,用于标识特定会话实体之间的特定会话。

流(传输控制协议/网际协议)—传输控制协议/网际协议连接一端的字节序列,用于传送到另一端。传输控制协议/协议保证所传送的字节序列与所呈现的流相匹配。HSMS将一个流细分成连续字节消息块。

T3—HSMS协议中的应答超时。

T5—HSMS协议中的连接分离超时,用于防止过多的TCP/IP连接活动,方法是在一个实体断开TCP/IP连接或尝试建立连接失败与该实体尝试启动新的TCP/IP连接之间提供最短时间。

T6—HSMS协议中的控制超时,它定义了在通信故障被认为已经发生之前,HSMS控制事务可以保持打开的最长时间。从发起方发送所需的请求消息到收到响应消息,事务被认为是开放的。

T7—HSMS协议中的连接空闲超时,它定义了在通信故障被认为已经发生之前,在形成一个TCP/IP连接和使用该连接进行HSMS通信之间可能发生的最长时间。

T8—HSMS协议中的网络字符间超时,它定义了在之前收到完整HSMS消息的任何两个连续字节之间可能发生的最大时间量

SEMI E37-0298 SEMI 1995,1998

2

通信故障被认为已经发生。

传输控制协议/网际协议。一种在网络中的计算机之间提供可靠的、面向连接的信息交换的通信方法。

TLI —传输层接口。由特定的传输控制协议/网际协议实现提供的一个特定的应用编程接口,它为任何传输层协议的使用提供一个传输协议和独立于操作系统的定义。

事务—主要消息及其关联的回复消息(如果需要)。此外,请求的HSMS控制消息(。请求)类型及其响应控制消息(。rsp),如果需要。

未经确认的服务(HSMS) —一种HSMS服务,通过从发起者向响应实体发送消息来请求,该消息不需要响应实体的完成指示。

5 HSMS概况和状态图

高速SECS消息服务(HSMS)定义了一个通信接口,适用于在半导体工厂中使用TCP/IP环境的计算机之间交换消息。HSMS使用TCP/IP流支持,它提供了连续字节流的可靠双向同时传输。它可以替代SECS一号通信以及其他更先进的通信环境。

HSMS通信的程序与它取代的更熟悉的SECS一号通信相似。任何通信都遵循以下步骤(HSMS或其他):

1.获得两个实体之间的通信链接。在SECS一号中,这是物理连接主机和设备的RS232线。在HSMS,链路是通过标准的TCP/IP连接过程获得的TCP/IP连接。请注意,使用抽象术语“实体”来代替“主机”或“设备”这是因为,虽然HSMS被用于SECS-1的替换,它也有更普遍的应用。在SECS-1替换应用程序中,“主机”是“实体”,而“设备”是“实体”

2.建立用于在两者之间交换数据消息的应用协议约定

实体。对SECS一号来说,这一步隐含在半导体设备在线路两端物理连接的事实中:协议是SECS二号。

在HSMS的情况下,通信链路是在物理链路上动态建立的TCP/IP连接,它可以与使用不同于HSMS协议的其他许多TCP/IP连接或使用非TCP/IP协议的连接共享。HSMS增加了一个消息交换(称为选择过程),用于向两个实体确认特定的TCP/IP连接将专门用于HSMS通信。

3.交换数据。这是通信链路的正常预期目的。在SECS一号和HSMS,程序是交换SECS二号编码信息,用于控制半导体设备和/或工艺。数据交换通常不会继续,直到其中一个或两个实体因设备特定目的(如维护)而离线。

4.正式结束交流。在SECS一号,这里没有正式的要求;要离线的设备停止通信。

在HSMS,消息交换(双向取消选择过程或单向分离过程)用于双方确认HSMS通信不再需要TCP/IP连接。

5.切断通讯联系。在SECS-1中,这是通过从通信电缆上物理拔下主机或设备来实现的,这仅发生在工厂网络环境的维修或物理重新配置期间。

在HSMS,由于它使用动态连接环境的传输控制协议/网际协议,传输控制协议/网际协议的连接是通过一个释放或断开程序逻辑上断开,没有任何物理断开网络媒体。

HSMS支持另外两种诊断性程序,这两种程序一般不需要简单的SECS一号链路或SECS一号直接替换。这些包括:

1.Linktest。此过程提供了连接完整性的简单确认。

3

SEMI E37-0298 SEMI 1995,1998

2.拒绝。由于HSMS协议旨在扩展到SECS协议之外的协议(通过辅助标准),两个使用不兼容的辅助标准的实体可以连接(由于配置错误)。此外,在最初的实现过程中,可能会发送不正确的消息类型,或者由于软件错误,它们可能会乱序发送。剔除程序用于指示这种情况。

5.1 HSMS连接状态图—HSMS状态机如下图所示。此图中描述的行为定义了HSMS的基本要求:辅助标准可能进一步扩展这些或其他状态。

5.2状态描述

SEMI E37

5.2.1未连接—实体准备好侦听或启动TCP/IP连接,但尚未建立任何连接,或者所有以前建立的TCP/IP连接都已终止。

5.2.2连接—已建立一个TCP/IP连接。该状态有两个子状态,未选择和已选择。

5.2.2.1未选择—连接的子状态,其中未建立HSMS会话或任何先前建立的HSMS会话已结束。

5.2.2.2选定—已建立至少一个HSMS会话的连接的子状态。这是HSMS的正常“运行”状态:数据消息可以在这种状态下交换。它在状态图中以粗重的轮廓突出显示。

SEMI E37-0298 SEMI 1995,1998

4

5.3状态转换表

SEMI E37

6.1传输控制协议/网际协议应用程序接口——在实施中使用的必需的传输控制协议应用程序接口的规范不在HSMS的范围内。给定的HSMS实现可以使用任何TCP/IP API——套接字、TLI(传输层接口)等。—适用于预期的硬件和软件平台,只要它在网络上提供可互操作的TCP/IP流协议。

附录包含本标准中引用的传输控制协议/网际协议程序的示例,以及使用TLI (POSIX标准1003.12)和流行的用于传输控制协议/网际协议通信的BSD套接字模型的示例场景。

6.2 TCP/IP网络寻址约定

6.2.1 IP地址—到给定局域网(LAN)的每个物理TCP/IP连接都必须有一个唯一的IP地址。在安装时,IP地址必须是可分配的,并且HSMS实现不能选择固定的IP地址。典型的IP地址是192.9.200.1。

知识产权对这些数字施加了限制,这超出了《HSMS议定书》的范围。请参阅第3节中的RFC 791第2.3节“互联网协议”。

6.2.2 TCP端口号—TCP端口号可以被视为IP地址的扩展。

HSMS实施应允许将TCP端口配置为所使用的TCP/IP实施的全部范围。典型的TCP端口号是5000。

已经建立了选择HSMS协议范围之外的TCP端口号的惯例。参考第3节中的传输控制协议。

6.3建立TCP/IP连接

6.3.1连接模式-建立传输控制协议/网际协议连接的程序在RFC 793中定义。然而,不是所有由RFC 793定义的过程都被通用的应用编程接口所支持。特别是,尽管RFC 793允许两个实体同时启动连接,但这一特性很少得到支持

5

SEMI E37-0298 SEMI 1995,1998

原料药。因此,HSMS将实体限制为以下模式之一:

被动模式。当本地实体监听并接受远程实体发起的连接过程时,使用被动模式。

主动模式。当本地实体启动连接过程时,使用活动模式。

SEMI E37

附录提供了一个实例,说明一个实体如何在主动和被动模式下交替运作,以实现建立通信的更大灵活性。

6.3.2被动模式连接程序-被动本地实体遵循的程序在RFC 793中定义。总结如下:

1.获取连接端点并将其绑定到发布的端口。

2.侦听从远程实体到发布端口的传入连接请求。

3.收到连接请求后,确认并表示接受连接。此时,连接程序已成功完成,并进入连接状态(第5节)。

这些程序是通过本地实体的应用程序接口实现的。附录提供了使用TLI和BSD的上述步骤的特定于原料药的程序。

注意:在上述步骤中可能会出现故障。失败的原因可能是特定于本地实体的,也可能是由于在特定于本地实体的超时后没有任何连接请求。要采取的操作(例如:返回步骤1重试)是本地实体特定的问题。

注:关于同一个被动模式实体的多个连接请求的相关问题,请参见第9节“特殊注意事项”。

6.3.3主动模式连接程序-主动本地实体遵循的程序在RFC 793中定义。总结如下:

1.获取连接端点。

2.启动到传递模式远程实体的已发布端口的连接。

3.等待收到来自远程实体的确认和接受连接请求。收到来自远程实体的接受指示成功完成连接程序,并进入连接状态(第5节)。

这些程序是通过本地实体的应用程序接口实现的。附录提供了使用TLI和BSD的上述步骤的特定于原料药的程序。

注意:在上述步骤中可能会出现故障。失败的原因可能是特定于本地实体的,也可能是由于在特定于本地实体的超时后缺少任何接受消息。要采取的行动是当地实体特有的问题。但是,如果本地实体打算重试连接,它应该在T5连接分离超时的情况下重试(参见“特殊注意事项”)。

6.4终止TCP/IP连接—连接终止是连接建立的逻辑反义词。从本地实体的角度来看,TCP/ IP连接可能会在任何时候断开。但是,HSMS只允许在连接处于连接状态的未选择子状态时终止连接。

RFC 793中定义了终止连接的程序。任一实体都可以发起连接的终止。进入未连接状态,表示HSMS通信结束。附录说明了使用TLI和BSD应用编程接口进行发布和断开的程序。

7 HSMS信息交换程序

HSMS定义了实体之间所有消息交换的程序,这些消息是通过根据前一节中的程序建立的TCP/IP连接进行交换的。如概述中所述,一旦

SEMI E37-0298 SEMI 1995,1998

6

连接建立后,两个实体通过选择程序建立HSMS通信。那么数据消息可以在任何时候以任一方向交换。当实体希望结束HSMS通信时,取消选择或单独程序用于结束HSMS通信。

7.1发送和接收HSMS消息-所有HSMS程序都涉及HSMS消息的交换。这些消息以标准优先级使用先前建立的TCP/ IP连接作为TCP/IP流发送和接收。特别是,HSMS不支持使用“紧急”数据(有关发送和接收程序的更多信息,请参见RFC 793)。

附录给出了使用TLI和BSD套接字应用编程接口发送和接收HSMS消息的示例。

7.2选择程序-选择程序用于在控制事务中使用选择请求和选择响应消息在一个传输控制协议/协议连接上建立HSMS通信。

SEMI E37

尽管HSMS允许在任何时候选择连接状态,但附属标准可能进一步要求连接处于未选择状态(见“特殊考虑”)。

7.2.1启动器程序-启动器遵循的程序如下。

1.选择过程的发起者向响应实体发送选择请求消息。

2.如果启动器收到选择状态为0的选择响应,则HSMS选择过程成功完成,并进入选择状态(参见第5节)。

3.如果启动器收到选择状态非零的选择响应,则选择未成功完成(无状态转换)。

4.如果T6超时在收到选择响应前在启动器中过期,则认为是通信故障(参见“特殊注意事项”)。

7.2.2响应实体程序-响应实体遵循的程序如下。

1.响应实体接收选择请求

2.如果响应实体能够接受选择,它将发送选择状态为0的选择响应。响应实体的HSMS选择程序成功完成,并进入选定状态(见第5节)。

3.如果响应实体不能允许选择,它将发送具有非零选择状态的选择响应。响应实体的HSMS选择程序未成功完成(无状态转换)。

7.2.3同时选择程序-如果次级标准不限制选择的使用,两个实体可能同时启动具有相同会话号的选择程序。在这种情况下,每个实体将通过响应一个选择请求来接受另一个实体的选择请求

 

7.3数据程序-只要连接处于选定状态,HSMS数据消息可由任一实体发起。当不处于选定状态时,收到数据信息将导致拒绝程序(见第7.7节)。

数据消息可以进一步定义为数据事务的一部分,即“主要”或“回复”数据消息。在数据事务中,事务的发起者向响应实体发送一条主要消息。如果主消息指示预期有回复,则响应实体将发送回复消息以响应主消息。

7

SEMI E37-0298 SEMI 1995,1998

支持以下类型的数据事务:

1.预期有回复的主要消息和相关的回复消息。

2.预期没有回复的主要消息。

SEMI E37

SEMI E37

这些交易的具体程序由应用层确定,并遵循其他标准(例如,使用SECS-2编码消息的创业板设备的E5和E30)。

适用的上层标准由消息类型标识。类型由第8节中定义的特定格式决定。HSMS信息的正常类型是SECS二号文本。另请参考关于T3回复超时的“特殊注意事项”。

7.4取消选择程序-取消选择程序用于在断开传输控制协议/协议连接之前,为实体提供HSMS通信的优雅结束。HSMS要求连接处于选定状态。程序如下。

SEMI E37

7.4.1启动程序

1.取消选择过程的发起者向响应实体发送取消选择请求消息。

2.如果启动器收到取消选择状态为0的取消选择响应,其取消选择过程将成功终止。进入未选择状态(见第5节)。

3.如果发起方收到一个具有非零取消选择状态的取消选择响应,其取消选择程序条款将失败。没有状态变化发生。

4.如果T6超时在收到取消选择响应前在启动器中过期,则认为是通信失败(参见“特殊注意事项”)。

7.4.2响应实体程序

1.响应实体接收取消选择请求消息。

2.如果响应实体处于“已选择”状态,并且能够允许“取消选择”,它将使用“取消选择. rsp”以零响应代码进行响应。响应实体的取消选择过程成功完成。进入未选择状态(见第5节)。

3.如果响应实体无法允许取消选择,或者因为它不处于“已选择”状态,或者因为当地条件不允许取消选择,它将使用带有非零响应代码的“取消选择. rsp”进行响应。响应实体的取消选择过程未成功终止。没有状态变化发生。

7.4.3同时取消选择程序-如果次级标准不限制取消选择的使用,两个实体可能同时启动具有相同会话号的取消选择程序。在这种情况下,每个实体将通过用取消选择响应来接受另一个实体的取消选择请求

SEMI E37

7.5链路测试程序—链路测试用于确定传输控制协议/协议的操作完整性,并

SEMI E37-0298 SEMI 1995,1998

8

HSMS通信公司。它的使用在CONNECTED状态下随时有效。

SEMI E37

7.5.1启动程序

1.链接测试过程的发起者向响应实体发送链接测试请求消息。

2.如果发起方在T6超时时间内收到一个Linktest.rsp,则Linktest成功完成。

3.如果T6超时在收到链路测试响应前在发起方过期,则认为是通信失败(参见“特殊注意事项”)。

7.5.2响应实体程序

1.响应实体从发起方接收链接测试请求。

2.响应实体发送一个Linktest.rsp

7.6独立程序-独立程序用于在断开TCP/IP连接之前突然终止实体的HSMS通信。HSMS要求在使用分离时连接处于选定状态。响应实体不发送响应,并且被要求终止通信,而不管其本地状态如何。程序如下。

SEMI E37

7.6.1启动程序

1.选择过程的发起者向响应实体发送Sepa-rate.req消息。启动器的单独程序成功完成。

进入未选择状态(见第5节)。

7.6.2响应实体程序

1.响应实体从发起者接收分离请求。

2.如果响应实体处于“已选择”状态,其“单独”过程将成功完成。

3.如果响应实体不处于选定状态,则忽略分离请求。

7.7拒绝程序-拒绝程序用于响应在不适当的环境中收到的有效HSMS信息。支持剔除程序可以在使用HSMS的分布式应用程序开发过程中提供有用的诊断信息。程序如下:

SEMI E37

7.7.1发起方(不适当信息的发送方)程序

1.不适当消息的发起者在收到拒绝请求后,会采取适当的措施(特定于本地实体)。

7.7.2响应实体程序

1.接收到不适当消息的实体用拒绝请求消息进行响应。

HSMS要求在“未选择”状态下接收数据消息,或者接收其类型或类型(见下一节:消息格式)没有为接收消息的实体定义的消息时,必须执行拒绝程序。辅助标准可以定义需要剔除程序的其他条件。一般来说,收到拒绝消息表明系统配置不当或软件编程错误。

9

SEMI E37-0298 SEMI 1995,1998

8 HSMS消息格式

本节定义了上一节中的过程所使用的消息的详细格式。

8.1一般消息格式

8.1.1字节结构—在HSMS,一个字节包含八(8)位。一个字节中的位从位7(最高有效)到位0(最低有效)进行编号。

8.1.2消息格式-HSMS消息以下列顺序作为单个连续字节流传输:

8.1.3消息长度-消息长度是一个四字节的无符号整数值,它指定消息头加上消息文本的字节长度。消息长度首先传输最高有效字节,最后传输最低有效字节。

HSMS消息格式号

字节数描述

4字节消息长度。首先。指定消息头加上消息文本中的字节数。

10字节消息头。

0-n字节消息文本。格式由消息头的PType字段进一步指定。

最小可能的消息长度是10(仅标题)。最大可能的消息长度因实现而异。

8.1.4消息头—消息头是一个10字节的字段。报头中的字节从字节0(传输的第一个字节)到字节9(传输的最后一个字节)进行编号。消息头的格式如下:

物理字节顺序被设计成尽可能接近SECS-1报头。

HSMS消息头

字节描述

0-1会话标识(设备标识)

2头字节2

3标题字节3

4 p类型

5 SType

6-9系统字节

8.1.4.1会话标识—会话标识是一个16位无符号整数值,它占用报头的字节0和字节1(字节0是MSB,1是LSB)。其目的是通过引用提供控制消息(特别是选择和取消选择)和后续数据消息之间的关联。HSMS子标准的作用是进一步说明这种联系。

8.1.4.2报头字节2 —该报头字节以不同的方式用于不同的HSMS消息。对于控制消息(见下文样式),它包含零或状态代码。对于PType(见下文)= 0的数据消息,它包含W位和SECS流。对于PType不等于0的数据消息,请参见“特殊注意事项”

8.1.4.3报头字节3 —该报头字节以不同的方式用于不同的HSMS消息。对于控制消息,它包含零或状态代码。对于PType(见下文)= 0的数据报文,它包含SECS函数。对于PType不等于0的数据消息,请参见“特殊注意事项”

8.1.4.4 PtType—PtType(表示类型)是一个8位无符号整数值,它占据标题的字节4。PType旨在作为定义表示层消息类型的枚举类型:消息头和消息文本是如何编码的。只有PType = 0被HSMS定义为SECS二代信息编码。对于非零的PType值,请参见“特殊注意事项”

8.1.4.5类型—类型(会话类型)是一个单字节的无符号整数值,它占据了头字节5。

p类型

价值描述

0 SECS-2编码

1-127保留给附属标准128-255保留,不使用

SType是一个枚举类型,用于标识该消息是HSMS数据消息(值= 0)还是HSMS控制消息之一(其他)。表中未明确定义的值在“特殊注意事项”中进行了说明

SEMI E37-0298 SEMI 1995,1998

10

SEMI E37

唯一性—主数据消息、选择请求、取消选择请求或链接测试请求消息的系统字节必须与从连接的同一端启动的所有其他当前打开的事务的系统字节唯一。它们必须与最近完成的交易不同。

回复消息—回复数据消息的系统字节必须与相应主要消息的系统字节相同。Sel等rsp、取消选择rsp或链接测试rsp的系统字节必须与各自的相同”。请求”消息。

8.2按类型划分的HSMS消息格式—HSMS消息中报头字节的具体解释取决于由SType字段值定义的特定HSMS消息类型。下表总结了定义的完整消息集,显示为PtType = 0(SECS-II消息格式)。

SEMI E37

11

SEMI E37-0298 SEMI 1995,1998

SEMI E37

*表示通过辅助标准的进一步规范。

8.2.1 SType=0:数据消息-HSMS数据程序使用SType=0的HSMS消息来发送数据消息,主要消息或回复消息。消息格式如下:

HSMS消息长度始终为10(仅报头长度)或更长。

HSMS消息头如下:

会话标识—如上所述。具体价值取决于辅助标准。

标题字节2 —对于PType值= 0(SECS-二)的消息,标题字节2的格式如下所示。7 6 0

w位流

标题字节2的最高有效位(位7)是W位。在主消息中,W位表示主消息是否需要回复消息。希望得到回复的主消息应将W位设置为1。不需要回复的主消息应该将W位设置为0。回复消息应始终将W位设置为0。标题字节2的低位7位(位6-0)包含消息的SECS流。流是一个7位无符号整数值,它标识了消息的一个主要主题,它的使用是在SEMI E5(SECS II)中定义的。

标题字节3 —对于PType值=0的消息,标题字节3包含消息的SECS函数。该函数是一个8位无符号整数值,用于标识消息的次要主题(在流中),其用途在SEMI E5(SECS II)中定义。该函数的最低有效位(位0)定义数据报文是主报文还是回复报文;值1表示主要,值0表示回复。

PtType—为SECS-2消息设置PType = 0。

SType = 0

系统字节—对于PtType = 0(SECS-二),以下定义适用。对于主消息,系统字节包含一个值,该值从从连接的同一端发起的所有其他打开的事务中唯一标识该事务。对于回复消息,系统字节包含与相应主消息相同的值。

HSMS消息文本包含数据消息的文本(如果有),格式由“类型”字段指定。对于PType = 0,文本将被格式化为SECS-2消息。

注意:某些数据消息仅由标题组成,没有文本。

SEMI E37-0298 SEMI 1995,1998

12

8.2.2类型=1:选择请求-类型为1的HSMS消息是“选择请求”控制消息,由建立HSMS通信程序的发起者使用。消息格式如下:

消息长度始终为10(仅标题)。

HSMS消息头如下:

会话标识—如上所述。具体价值取决于辅助标准。

标题字节2 = 0

标题字节3 = 0

p类型= 0。

SType = 1

系统字节—开放事务中的唯一值。

8.2.3类型=2:选择响应-类型2的HSMS消息是“选择响应”控制消息,在建立HSMS通信的过程中用作对选择请求控制消息的响应。消息格式如下:

消息长度始终为10(仅标题)。

HSMS消息头如下:

会话标识-必须等于相应的选择请求中的会话标识的值

标题字节2 =0

标题字节3 —选择状态。零代码表示选择操作成功。非零代码表示失败。

SEMI E37

SEMI E37

p类型= 0

SType = 2

系统字节-等于相应选择请求中的系统字节值

8.2.4类型=3:取消选择。请求-带有类型3的HSMS消息是“取消选择请求”控制消息,由选择程序的发起者用于结束HSMS通信。消息格式如下:

消息长度始终为10(仅标题)。

HSMS消息头如下:

会话标识-会话标识必须与先前发送的选择请求的会话标识的值相匹配,以指示正在结束的特定HSMS会话。以附属标准的进一步说明为准。

标题字节2 = 0

标题字节3 = 0

p类型= 0

SType = 3

系统字节—开放事务中的唯一值。

8.2.5类型=4:取消选择。RSP-带有类型4的HSMS消息是“取消选择响应”控制消息,用作在取消选择过程中对取消选择。请求控制消息的响应,以结束HSMS通信。消息格式如下:

消息长度始终为10(仅标题)。

HSMS消息头如下:

会话标识—必须等于相应取消选择请求中的会话标识

标题字节2 = 0

标题字节3 -取消选择状态。代码为零表示取消选择操作成功。非零代码表示失败。

13

SEMI E37-0298 SEMI 1995,1998

SEMI E37

SType = 4

系统字节—等于相应取消选择请求中的系统字节

8.2.6类型=5:链接测试请求-带有类型5的HSMS消息是“链接测试请求”控制消息。它被用来验证HSMS连接的完整性,或者作为一个周期性的心跳。消息格式如下:

消息长度始终为10(仅标题)。

HSMS消息头如下:

SessionID = 0xFFFF(二进制,全1)

标题字节2 = 0

标题字节3 = 0

p类型= 0

SType = 5

系统字节—开放事务中的唯一值。

8.2.7类型=6:链接测试. RSP-带有类型6的HSMS消息是“链接测试响应”控制消息,在链接测试过程中用作对链接测试. req控制消息的响应。消息如下:

消息长度始终为10(仅标题)。

HSMS消息头如下:

SessionID = 0xFFFF(二进制,全1)

标题字节2 = 0

标题字节3 = 0

p类型= 0

SType = 6

系统字节—等于相应链接测试请求中的系统字节

8.2.8 SType=7:拒绝请求-使用带有SType 7的HSMS消息来响应接收到的任何有效的HSMS消息,该消息不受消息接收者的支持或者在当时是无效的。它旨在处理使用接收者不支持的辅助标准或用户定义的扩展的尝试(例如,SType等于本标准中未定义的任何值)。当一个实体收到一个控制消息时,它必须被使用,该消息是一个响应(偶数编号的类型),对于该响应没有相应的开放事务。

HSMS消息头如下:

会话标识—等于被拒绝的消息中的会话标识的值。

标题字节2 —原因代码=不支持的PtType,等于被拒绝的消息中的PtType。否则等于被拒绝消息中SType的值。

标题字节3 —原因代码(总是非零)

SEMI E37

SEMI E37-0298 SEMI 1995,1998

14

p类型= 0

SType = 7

系统字节—等于被拒绝的相应消息中的系统字节。

8.2.9风格=9:分离请求-风格= 9的HSMS消息用于立即终止HSMS通信。除了SType值之外,它与取消选择请求消息相同。其目的是立即无例外地终止HSMS的通信。没有定义响应。

9特殊考虑

9.1一般考虑

9.1.1通信故障-如果检测到通信故障,实体应终止TCP/IP连接。一旦连接终止,该实体此时可以尝试重新建立通信。

9.2 TCP/IP考虑事项

9.2.1连接分离时间(T5) —连接过程启动一些网络活动。对于尚未准备好接受连接的实体,频繁使用主动模式连接过程到其IP地址和端口号可能不利于TCP/IP操作。被动模式不会产生网络活动,也不会被视为对网络不利,尽管它可能会影响本地应用程序的性能。在活动模式下启动连接的实体应限制其在与此处描述的过程等效的方式下使用连接过程。

在主动连接过程以任何方式终止(成功或不成功)后,实体不应启动另一个主动连接过程(对于同一远程实体),直到T5连接分离时间过去。连接操作的间隔将是T5连接分离时间间隔的总和,加上连接操作本身的持续时间。

9.2.2未选择超时(T7)-进入未选择状态是通过状态转换#2(建立一个TCP/IP连接)实现的。在进入“已选择”状态或返回“未连接”状态之前,实体需要保持“未选择”状态的时间是有时间限制的。

一些实体,尤其是那些不能接受多于一个的TCP/IP连接的实体,可能由于保持在未选择状态而在操作中受到损害,因为它们将不可用于与其他实体的通信。如果通信保持在“未选择”状态的时间超过T7超时时间,则此类实体应断开TCP/IP连接(状态转换事件#3)。

9.2.3网络字符间超时(T8)-因为传输控制协议/协议是一个流而不是一个协议消息,所以作为单个HSMS消息一部分的字节可以在单独的传输控制协议/协议消息中传输,而不会违反传输控制协议/协议协议。由于这些独立的消息可能被一段相当长的时间分隔开,所以定义了网络字符间超时(T8)。

T8在目的上类似于SECS-1 T1定时器,除了需要T8的通信问题不完全在消息发送者的控制之下。因此,它仅根据消息的接收者来定义。特别地,如果在接收到部分消息之后,T8超时时段在接收到完整消息之前到期,则接收实体应当将这种情况视为通信失败,如上所述。

9.2.4定向到单个发布端口的多个连接请求—一旦被动实体接受了其发布端口上的连接,TCP/IP允许(尽管不要求)该实体监听并接受定向到同一发布端口的附加连接。

HSMS允许(尽管不要求)实体以这种方式运作。但是,为了符合HSMS法规,如此形成的每个连接必须表现出HSMS状态图中定义的行为,就好像它完全独立于到同一发布端口的任何其他连接一样。

被动模式实体对附加连接请求的9.2.4.1拒绝—对于附加连接请求,不能为HSMS通信提供一个以上的TCP/IP连接服务的被动模式实体将遵循以下三个程序之一。

a.接受联系,但总是回应任何

随后,HSMS选择了具有通信已**响应代码的程序。为了HSMS状态图的目的,连接过程成功终止(进入状态)

15

SEMI E37-0298 SEMI 1995,1998

连接状态),但HSMS通信从未建立(保持在未选择子状态)。这是优选的选择,因为它可以向远程实体提供关于为什么连接被拒绝的最多信息(参见HSMS选择程序),但是对本地实体提出了附加的实现要求。

b.主动拒绝连接请求。这可能是

使用t_snddis过程在TLI实现中完成。这将导致远程实体中的连接过程不成功地终止。该选项可能并不适用于所有实施,因为某些应用编程接口(尤其是BSD套接字的某些实施)不支持主动拒绝。但是,请注意,所有的TCP/IP实现,包括BSD套接字,都正确地响应了来自远程实体的主动拒绝。

c.拒绝监听或接受连接请求。

本地实体中不采取任何操作:远程实体的连接过程最终会超时。该选项是允许的,但不建议使用,因为它可能会导致远程实体出现相当大的延迟。然而,它可能是网络资源有限的实施中唯一可用的替代方案。

被动本地实体的文件应表明其拒绝连接的方式。

9.3 HSMS-具体考虑

9.3.1控制事务T6控制超时-许多控制消息是需要消息交换或事务的程序的一部分。来自控制服务发起者的请求,后面跟着一个< xx >。< xx >接收方的rsp。对此提出请求。从< xx >开始,控制事务就被认为是开放的。请求请求将一直发送到< xx >时。接收到rsp。

控制事务保持打开的时间取决于T6控制事务超时。在控制事务初始化时,本地实体应该设置一个定时器,其持续时间等于T6超时值。如果交易在计时器到期前被正确关闭,计时器应该被取消。如果计时器在交易正常结束前到期,发起方应认为交易已结束,并认为HSMS通信失败。

9.3.2程序和“无状态”事务—大多数HSMS控制程序都涉及一个事务:发起者向响应实体发送请求消息,并等待响应消息。响应实体接收发起方的请求消息并发送回复。

请注意,这样的事务在下面的意义上是“无状态的”:当事务的发起者在等待响应时,它可能会收到一个不同于该响应的消息,并且该消息可以是发起者在发起原始事务时所处状态的任何有效消息。例如,两个实体可以同时发起交易。因此,HSMS状态机中没有反映“事务未结”或“事务未结”的状态。在实现中使用这种状态信息严格来说是一个本地实体特定的问题。

9.3.3备选消息类型和标题字节值-HSMS标准没有完全定义PType或SType字段的所有可能的枚举值。此外,头字节2和3的格式由消息的类型决定,其类型等于0,但对于所有其他类型的值,则是另外指定的。消息文本格式也是由PType定义的,但只适用于数据消息。

辅助标准必须与本公约一致。特别是,对于SType = 0,定义不等于0的PType值的辅助标准可以指定消息文本编码和头字节2和3的解释。对于不等于0但在本标准中另有规定的样式,PType必须= 0,并且不能传输任何消息文本。对于在辅助标准中定义的样式,标题字节2和3的含义可以在每个样式值的基础上指定,并且这些样式可以可选地定义消息文本,只要PType字段以与前面段落一致的方式使用。

9.4 SECS-II考虑事项-SECS-II标准(SEMI E5)对SECS-I (SEMI E4)做了某些参考。本节讨论当HSMS被用来传送SECS二号消息时,SECS二号所特有的问题。

9.4.1回复匹配-当发送方发送W位为1(预期回复)的主要消息时,发送方应预期其报头满足以下要求的回复消息。

SEMI E37-0298 SEMI 1995,1998

16

回复的会话标识必须与主消息的会话标识匹配。

回复流必须与主消息流匹配。

回复的功能必须大于主消息的功能,否则回复的功能必须为0(功能零回复)。

回复的系统字节必须与主消息的系统字节匹配。

9.4.1.1 T3回复超时—T3回复超时是对HSMS消息协议愿意等待回复消息的时间长度的限制。

发送W位为1的主消息(预期回复)后,发送方必须启动回复定时器,初始设置为T3值。如果发送方在回复计时器到期前没有收到回复消息,则发生T3超时错误。发送者应该结束交易,不再期待回复消息。

每个需要回复的开放事务都需要一个单独的回复计时器。

9.4.2流9消息-SECS-2标准定义了错误消息S9F1、S9F3、S9F5、S9F7、S9F9和S9F11,消息文本包含SECS-2数据项MHEAD或SHEAD,它们被定义为包含10字节的SECS-1块报头。

当在HSMS使用SECS-2时,MHEAD和SHEAD应该包含HSMS消息头的10个字节。

10 HSMS文件

HSMS实施需要记录以下信息:

1.设置协议参数的方法(见第10.1节)。

2.每个参数的允许范围和分辨率。

3.如果实现使用被动模式建立TCP/IP连接,用于拒绝传入连接请求的选项。

4.可以接收的最大消息大小。

5.发送消息的最大预期大小。

6.支持的并发未结事务的最大数量。

10.1参数设置-HSMS的实施必须提供后续参数的安装时间设置。所有参数的范围和分辨率必须至少如表中所示。所有参数必须以这样的方式存储,即如果电源故障或系统软件重新加载,设置将被保留。

17

SEMI E37-0298 SEMI 1995,1998

参数名称

 

数值范围

 

解决

 

平均数

 

描述

 

T3回复超时

 

1-120秒

 

1秒

 

45秒

 

回复超时。指定期待回复消息的实体等待该回复的最长时间。

 

T5连接分离超时

 

1-240秒

 

1秒

 

10秒

 

连接分离超时。指定连接到给定远程实体的连续尝试之间必须经过的时间。

 

T6控制交易

超时

 

1-240秒

 

1秒

 

5秒

 

控制事务超时。指定控制事务在被视为通信故障之前保持打开的时间。

 

T7不

选定超时

 

1-240秒

 

1秒

 

10秒

 

在被视为通信故障之前,一个TCP/IP连接可以保持在未选择状态(即没有HSMS活动)的时间。

 

T8网络字符间超时

 

1-120秒

 

1秒

 

5秒

 

单个HSMS消息的连续字节之间的最长时间,该消息在被视为通信故障之前可能会过期。

 

连接模式

 

被动,主动

 

——

 

——

 

连接模式。指定此本地实体在HSMS连接建立期间将使用的逻辑。

 

本地实体IP地址和端口号

 

由传输控制协议/协议决定

约定

 

——

 

——

 

在被动模式下运行的任何实体都需要。确定本地实体将侦听传入连接请求的地址。

 

远程实体的IP地址和端口号

 

由传输控制协议/协议决定

约定

 

——

 

——

 

在活动模式下运行的任何实体都需要。确定本地实体将尝试连接的远程实体的地址。

 

SEMI E37-0298 SEMI 1995,1998

18

附录1

注:本附录作为SEMI E37的一部分通过全字母投票程序获得批准。

A1-1使用TLI和BSD套接字接口的TCP/IP程序

A1-1.1被动模式连接程序

SEMI E37

SEMI E37

SEMI E37

SEMI E37

19

SEMI E37-0298 SEMI 1995,1998

A1-2 HSMS场景

提供以下场景来说明典型完整会话中使用的HSMS过程。术语、过程名和消息名将在本文档的其余部分进一步解释。还要注意,任一实体都可以启动HSMS选择程序、取消选择或单独程序以及HSMS数据消息和事务。为了方便起见,场景显示左手实体作为所有事务的发起者。

A1-2.1开始HSMS通信—此场景说明了TCP/IP连接过程、HSMS选择过程和数据消息交换。请注意,TCP的数据消息活动仅用于说明目的。事实上,实际的网络活动可能会有所不同。例如,即使数据消息作为单独的调用被发送到如图所示的终端(或写入),但是,TCP/IP实现可以缓冲报头,并将其与文本一起在单个分组中传输,或者文本可以被分成多个分组。

SEMI E37

SEMI E37

SEMI E37-0298 SEMI 1995,1998

20

A1-3 HSMS交替模式连接程序

一些用户有特殊的要求,阻止他们决定给定实体在任何特定时间使用哪种连接模式(主动或被动)。在这种情况下,本地实体交替尝试主动模式和被动模式连接过程,直到成功建立连接。请注意,这需要本地实体在被动阶段提供一个发布端口。交替本地实体的一般逻辑顺序如下:

1.使用大于或等于连接分离超时T5的t_rcv-connect超时值,尝试第6.3.3节所述的主动连接程序。

2.如果活动连接过程成功完成,则交替模式连接过程成功完成。

3.如果主动连接过程不成功终止,尝试6.3.2中所述的被动连接过程,t_listen的超时大于或等于连接分离超时T5。

4.如果被动连接程序成功完成,交替模式连接程序成功完成,如6.3.2所述。

5.如果被动连接过程不成功地终止,本地实体可以返回到步骤1继续交替模式过程,或者不成功地终止。尝试建立连接时重复上述步骤序列的次数是一个特定于本地实体的问题。

A1-3.1交替模式周期时间-交替模式周期时间是交替模式实体的连接过程的迭代之间的时间。在上述过程中,这对应于步骤1的开始和紧接着步骤1的重新开始之前的步骤5的完成之间的持续时间。这一次取决于实现。

在两个实体都使用交替模式连接程序的情况下,希望确保它们都具有不同的交替模式循环时间,以防止实体试图在锁定步骤中连接:两个实体都处于活动模式,然后都处于传递模式。调整交替模式周期

通过调节T5可以很容易地获得时间,因此两个实体的周期时间是不同的:

A1-3.2 HSMS连接组合-配置为在主动和被动模式之间交替的实体可以与被动或主动模式远程实体连接。下面的列表总结了使用这种特殊连接策略的标准可能的组合。

1.配置为主动的实体“A”可以连接到配置为被动或交替的实体“B”,并且实体“A”总是建立连接。

2.被配置为交替的实体“A”可以连接到被配置为被动的实体“B”,并且实体“A”总是建立连接。

3.配置为交替的实体“A”可以连接到配置为交替的实体“B”,并且任一端都可以建立连接。在使用多线程连接逻辑而不是本文中描述的顺序逻辑的实现中,HSMS连接的两端可能试图同时连接。在这种情况下,可以建立两个独立的TCP/IP连接,并且有必要建立一个约定,以便允许一个连接保留,而另一个连接被终止。

4.不允许连接两个配置为被动或配置为主动的实体。

A1-4非HSMS协议

对于典型的TCP/IP实现,HSMS可以在同一个IP地址上与其他基于TCP/IP的协议共存。这可能非常有用。例如,一个SECS-2消息事务可以触发一个应用程序开始传输一个大的数据文件。

A1-5非TCP/IP协议

在与HSMS实体相同的网络上使用不同于TCP/IP的协议是可能的,但超出了本标准的范围。通常,可以使用其他协议,只要它们对网络上的TCP/ IP或HSMS实体没有影响。

21

SEMI E37-0298 SEMI 1995,1998

A1-6多局域网

HSMS规范只考虑了一个单一的传输控制协议/ IP局域网。连接多个局域网不在HSMS的范围内。然而,由于TCP/IP实现通常通过网关、路由器和类似实体无缝地支持这种配置,因此有可能跨互连的局域网建立HSMS连接。

A1-7 TCP/IP物理层

HSMS没有指定IP的物理层。可以使用TCP/IP支持的任何物理层。最常见的是,TCP/IP实现使用以太网(IEEE 802.3)作为物理层。然而,一些TCP/IP实现使用其他协议(例如,令牌总线、IEEE 802.4和. 5)。为了确保给定安装内的互操作性,可能需要为物理层建立额外的本地标准。

A1-8众所周知的TCP/IP端口号

一些基于TCP/IP的协议指定一个特定的“众所周知的”TCP端口号,该端口号已发布,其他协议无法使用。HSMS没有指定特定的“众所周知”的TCP端口号,而是要求它是可配置的。IETF在RFC 1340中定义了“指定的众所周知的端口号”。

A1-9断开和重新连接之间的延迟

当在连接的两端使用相同的TCP端口时,一些TCP/IP系统在终止连接然后快速重新连接的应用中出现问题。当使用这种系统时,建议在重新连接前断开后延迟。延迟时间因TCP/IP实施而异,但通常可以计算为“最大网段寿命”或MSL的两倍。例如,大多数基于盲源分离的TCP/IP系统(如Sun、AIX)使用30秒的,因此延迟60秒是合适的。如果需要快速连接,如果您使用的连接模式允许,您的应用程序应该使用不同的端口。在某些传输控制协议/IP系统中,不会出现这种问题。

A1-10用户定义的消息类型

公认的是,设备供应商可能会发现开发基本HSMS或任何定义的子公司标准中没有的附加功能是可取的。在测试和开发任何拟议的新辅助标准的过程中,都会出现这种情况。通过新消息类型的用户定义扩展是允许的,只要它们局限于供应商内部通信接口:任何需要使用这种扩展的供应商间通信接口都被认为不符合HSMS标准。

如果供应商认为有必要扩展或以其他方式超出标准,使用“保留的,未使用的”PType和SType值可以通过允许重用HSMS实现而不是实现和使用完全独立的并行标准来简化其实现。通过保持在SType和PtType的“保留的、未使用的”范围内,实现者可以确信为SType和/或PtType定义新值的未来辅助标准不会与用户定义的扩展冲突。

SEMI E37-0298 SEMI 1995,1998

22

A1-11 SECS-1和HSMS的比较

下表比较了SECS一号和HSMS的主要特点。

SEMI E37

注意:这些标准并不旨在解决与其使用相关的安全问题。这些标准的使用者有责任在使用前建立适当的安全和健康实践,并确定监管限制的适用性。SEMI不保证或陈述此处规定的标准对任何特定应用的适用性。标准适用性的确定完全是用户的责任。用户应注意参考制造商的说明、产品标签、产品数据表和其他与此处提及的任何材料相关的文献。这些标准如有变更,恕不另行通知。

23

SEMI E37-0298 SEMI 1995,1998

用户需要注意遵守该标准可能需要使用受版权保护的材料或专利权涵盖的发明。通过本标准的发布,SEMI对与本标准中提及的任何项目相关的任何专利权或版权的有效性不持任何立场。本标准的用户被明确告知,确定任何此类专利权或版权,以及侵犯此类权利的风险,完全是他们自己的责任。

SEMI E37-0298 SEMI 1995,1998