SECS/GEM协议(HSMS协议)

一 HSMS的概念理解

  • HSMS定义了使用 TCP/IP 作为物理传输媒质时的通信接口。
  • HSMS使用TCP/IP流支持,提供了可靠的双向同步传输,可以用来作为SECS-I通信以及其他更高级的通信环境的替代。

image.png

二 HSMS的 Connection State / Procedure

2.1 Communication Steps(通信步骤)

TCP/IP连接是在两个“实体”(Host和EQ)之间动态建立的。
步骤:

  • 获取通信链路

  • 建立用于交换数据消息的应用程序协议约定

  • 交换数据

  • 正式结束通信

  • 断开通信链路

2.2 Connection State Diagram(连接状态图)

image.png

状态图说明:

  • NOT CONNECTED:该实体已准备好侦听或启动TCP/IP连接,但尚未建立任何连接,或所有以前建立的TCP/IP连接都已终止;
  • CONNECTED:已建立了一个TCP/IP连接。此状态有两个子状态,NOT SELECTED 和 SELECTED;
  • NOT SELECTED:未建立HSMS会话或任何先前建立的HSMS会话已结束;
  • SELECTED:至少建立了一个HSMS会话,这是HSMS的通常操作状态:数据消息可以在此状态下进行交换。

image.png

2.3 Procedure(过程/步骤)

HSMS消息交换过程

  • HSMS定义了跨TCP/IP连接的实体之间的所有消息交换过程。
  • 一旦连接建立,这两个实体间就建立起HSMS通信。然后,数据消息可以在任何时候以任意一个方向进行交换。
  • 当实体希望结束HSMS通信时,将使用 Deselcet 或 Separate procedure 来结束HSMS通信。

发送和接收HSMS消息
所有的HSMS过程都涉及到HSMS消息的交换。这些消息以 TCP/IP 流的形式使用先前建立的TCP/IP连接进行发送和接收。
消息交换过程
消息交换过程分为:Select Procedure,Data Procedure,Deselect Procedure,Linktest Procedure ,Separate Procedure,Reject Procedure。
image.png

image.png

三 Message的组合方法及 Header 结构

3.1 Message 结构

image.png

  • Byte Structrue:

在HSMS中一个字节包含8位。字节中的位从第7位(MSB)编号到第0位(LSB)。

  • Message Format:

HSMS消息以单个连续字节流传输。

  • Message Length:

Message Length是一个四字节的无符号整数值,它指定Message Header加上Message Text的字节长度。消息长度首先传输最高有效位(MSB),最后传输最低有效位(LSB)。

  • Message Header:

MessageHeader是一个10字节的字段。头中的字节从第0字节(传输的第一个字节)编号到第9字节(传输的最后一个字节)。

3.2 Header Structure

image.png

说明:

Session ID:16位无符号整数,它占据了字节0和字节1(字节0是MSB,1是LSB)。用于标识通信实体的连接。

Header Byte 2:对于不同的HSMS消息,有不同的取值。

Header Byte3:对于不同的HSMS消息,有不同的取值。

PType:8位无符号整型,PType旨在作为一种枚举类型,定义表示层消息类型:MessageHeader和MessageText是如何编码的。

PType = 0,被HSMS定义为表示SECS-II消息编码。
image.png
SType:8位无符号整数,是一种枚举类型,标识此消息是HSMS数据消息(值=0)还是HSMS控制消息。
image.png
SystemBytes:四字节无符号整数,用于在一组开放的事务中唯一地标识一个事务,即唯一地标识一次消息交互。

3.3 HSMS Message Formats by Type (按类型划分的HSMS消息格式)

HSMS消息中的Header的解释取决于由SType字段的值定义的特定HSMS消息类型。
下表总结了定义的完整消息集,PType = 0(SECS-II消息格式)。
image.png

四 Protocol Parameter

image.png
说明:

回复超时 T3Reply Timeout:定义一个实体等待回复消息的最长时间,如果T3超时则取消这次会话事务但不断开 TCP/IP 连接。
连接间隔时间 T5Connect Separation Time:定义两个连接请求之间的时间间隔。
频繁的向一个未准备好连接的实体发起连接请求,会加重 TCP/IP 的操作负荷。
因此,当一个主动模式实体发起的连接操作终止后(不论是成功结束还是被远端实体拒绝),该实体必须等待 T5 时间再后发起下一次连接请求。
控制事务超时 T6Control Transactions Control Timeout:定义了一个控制事务所能保持开启的最长时间,超过该时间就认为这次通信失败。
未选择状态超时 T7Not Selected Timeout :定义当建立了 TCP/IP 连接之后通信处于 Not Selected 状态的最长时间,通信必须在该时间完成 Selected Procedure,否则将会断开 TCP/IP 连接。
网络字符超时 T8Network Intercharacter Timeout:定义成功接收到单个HSMS 消息的字符之间的最大时间间隔。
因为TCP/IP是面向流的通信,所以所有作为单个HSMS消息的一部分的字节可能在单独的TCP/IP消息中传输,一个 HSMS 通信消息可能被分为若干个 TCP/IP 消息进行传输。
若 T8 超时则认为这次传输失败。
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET SECS/GEM协议是一种用于工业自动化设备之间进行通信的标准协议SECS是用于半导体制造设备的标准协议,而GEM则是用于通信和控制。.NET SECS/GEM协议结合了.NET技术和SECS/GEM协议,为工业自动化设备提供了更强大的通信和控制功能。 .NET是一种由微软开发的软件开发平台,它提供了一系列的开发工具和库,用于构建各种类型的应用程序。.NET平台支持多种编程语言,如C#,Visual Basic和F#等。通过使用.NET技术,开发人员可以更快速、更高效地构建和部署应用程序。 在工业自动化领域,设备之间需要进行数据交换和控制,以实现生产线的自动化。SECS/GEM协议是一种行业标准的协议,用于定义设备之间的通信和控制方式。它提供了一套指令和报文格式,用于设备之间的数据交换和控制命令的传递。 .NET SECS/GEM协议结合了.NET技术和SECS/GEM协议,为工业自动化设备提供了更强大的通信和控制功能。通过使用.NET SECS/GEM协议,设备和系统可以更方便地进行数据交换和控制,实现实时的监控和远程控制。 使用.NET SECS/GEM协议可以简化开发过程,提高开发效率,并且可以方便地集成到现有的.NET应用程序中。它还可以实现设备之间的互操作性,使不同品牌和型号的设备能够进行通信和协同工作。 总之,.NET SECS/GEM协议是一种结合了.NET技术和SECS/GEM标准协议的通信和控制方案,为工业自动化设备提供了更强大的功能和性能。它可以简化开发过程,提高开发效率,并且实现设备之间的互操作性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值