SECS是什么?
SECS/GEM(半导体设备通用设备通信标准/通用设备模型)是半导体制造设备之间进行通信的标准协议。它定义了一套标准消息格式和通信规则,以便设备能够有效地与制造执行系统(MES)或工厂自动化系统进行通信和数据交换。
SECS/GEM300和SECS/GEM500是SEMI(半导体设备和材料工业协会)定义的两种SECS/GEM标准协议的变种。
-
SECS/GEM300:SECS/GEM300是用于半导体设备与工厂主机之间通信的标准协议。它基于SEMI E30标准,定义了一套消息格式和通信规则,用于设备状态、事件报告、数据收集和参数设置等功能。SECS/GEM300通常被用于半导体制造工厂中的智能制造系统(MES)与设备之间的通信,用于实现生产数据收集、工艺参数控制等功能。
-
SECS/GEM500:SECS/GEM500是基于SECS/GEM300的一个扩展版本。它提供了更多的消息类型和功能,包括高级事件报告、实时数据传输、追溯数据等功能。SECS/GEM500通常用于对设备性能进行更细粒度的监控和控制,以及实现更高级别的工厂自动化功能。
这两种协议都是用于半导体制造行业中的设备控制和通信的标准协议,目的是实现设备和工厂主机之间的有效通信,以支持工厂自动化和生产过程的监控与控制。选择使用哪种协议取决于设备和工厂的需求,以及与现有系统的兼容性和集成性等因素。
SECS关键字
Host 主机一般指向工厂控制系统
EQP 单机设备
Active 在Tcp通信中主动连接对方的(可理解为客户端)
Passive 被动等待对方连接(可理解为服务器)
Device ID 用于Host识别的设备号
CEID 事件编号
SVID 设备状态编号
ECID 设备常量ID
VID 设备变量ID
RPTID 报告编号
PPID 配方编号recipe ID 即配方ID(工艺ID)
CHIPID 芯片ID
ALCD 报警清除或者报警设置
ALID 报警编号
ALTX 报警文本
在线,离线,连接,未连接
在线:设备与Host主机已对接成功,且设备在host的服务端状态为在线,可以接收Host命令。
离线:设备在host服务端设置的状态是离线,但连接是正常的。设备处于离线状态只响应S1F17和S1F13指令 其他指令都会返回设备离线响应
连接:设备与Host主机已对接成功。
未连接:设备与Host主机还未连接。
SECS/GEM协议规定的各种超时时间
T3(默认45秒):回复超时,指发送指令到接收到回复指令的最大时间,如果T3 计时器超时则取消这次会话但不断开 TCP/IP 连接, 如果这个实体是设备,则向主机发送 SECS-II S9F9 消息。
T5(默认10秒):指断开连接和重新连接的最小时间,过于频繁的向一个未准备好连接的实体发起连接请求,会加重 TCP/IP 的负荷。 因此,当一个主动模式实体发起的连接操作终止后(不论是成功结束还是被远端实体拒绝),该实体必须等待 T5 计时器超时后发起下一次连接请求。
T6(默认5秒):控制会话超时 T6 (T6 control transaction timeout)表示一个控制会话所能开启的最长时间,超过该时间就认为这次通信失败。当发送<xx>.req 控制消失时 T6计时器开启,若在 T6 超时之前收到相应的<xx>.rsp 消息则计时器关闭,否则控制消息的发起者将关闭这次会话,
并认为出现一个通信故障
T7(默认10秒):Select状态超时,建立了socket连接后,必须于T7时间内完成Select操作,否则断开连接。 即指TCP/IP连接成功后到连接选择之间的最大时间,也就是发送stype=1 到收到stype=2 回复的这段时间表示当建立了 TCP/IP 连接之后通信处于 Not Select 状态的最长时间,通信必须在该时间完成 select 操作,否则将会断开 TCP/IP 连接。
T8(默认5秒):网络字符超时,表示成功接收到单个HSMS 消息的字符之间的最大时间间隔。 网络字符超时 T8 (T8 network intercharacter timeout)表示成功接收到单个HSMS 消息的字符之间的最大时间间隔。鉴于 TCP/IP 是面向流的通信协议,因此一个 HSMS 通信消息可能被分为若干个 TCP/IP 消息进行传输,若 T8 计时器超时则认为这次传输失败。
SECS的常用指令
功 能 | 信息 | → ← | 名称 | 功能概略 | 支 持 | 动作概要 |
StreamX | ||||||
SxF0 | B | 中止处理 | 事务中止处理 | ○ | 任意信息都能返回中止 | |
Stream1 | 装置的状态 | |||||
S1F0 | B | 中止处理 | 事务中止处理 | ◎ | 中止收发时通知继电器 | |
S1F1/2 | B | 在线确认请求/在线数据 | 通过数据交换宣布已在线 | ◎ | 自动处理,向可编程控制器通知状态 | |
S1F3/4 | H | 指定装置状态请求/指定装置状态数据 | 主机向装置请求指定的状态变量的值 向SVID发送SV | ◎ | 针对主机请求自动响应 | |
S1F5/6 | H | 固定格式的状态变量值请求/状态变量数据 | 按预先规定的固定格式进行状态报告,用向装置 请求的SFCD进行指定 | ○ | 可通过对各SFCD定义二级格式来支持 | |
S1F11/12 | H | 状态变量名列表请求/状态变量名列表响应 | 从主机对装置请求状态变量确认 向SVID发送SVID/SVNAME/UNITS | ◎ | 针对主机请求自动响应 | |
S1F13/14 | B | 通信建立请求/通信建立请求确认 | 使用通信状态模型、表示通信建立 | ◎ | 自动处理,向可编程控制器通知状态 | |
S1F15/16 | H | 离线请求/离线请求确认 | 主机向装置请求转移到离线状态 | ◎ | ||
S1F17/18 | H | 在线请求/在线请求确认 | 主机向装置请求转移到在线状态 | ◎ | ||
Stream2 | 装置的控制和诊断 | |||||
S2F0 | B | 中止处理 | 事务中止处理 | ◎ | 中止收发时通知继电器 | |
S2F13/14 | H | 装置常量请求/常量数据 | 主机向装置请求指定的常量的值 向ECID发送ECV | ◎ | 针对主机请求自动响应 | |
S2F15/16 | H | 新装置常量变更/新装置常量变更确认(从HOST) | 从主机请求装置常量的变更 通知ECID和ECV | ◎ | 自动处理,向可编程控制器通知状态 | |
- | E | 新装置常量变更报告(从CIMOP) | 从CIMOP(EQ)进行装置常量的变更报告 | ◎ | 从可编程控制器将装置常量变更触发器ON, 以S6F11通知装置常量变更报告 | |
S2F17/18 | B | 日期和时刻请求/日期和时刻数据 | 装置的时基检查和主机的时基同步 | ◎ | 改写C语言控制器时刻并通知给可编程控制器 | |
S2F21/22 | H | 远程命令发送/命令确认 | 远程进行前板的按纽按下之类的动作 | ○ | 请创建信息,并用梯形图描述处理 | |
S2F23/24 | H | 跟踪条件设置/设置确认 | 从主机指示采样获取状态变量 指定跟踪请求ID/采样时间/SVID并以S6F1报告 | ◎ | 针对主机请求自动响应 | |
S2F25/26 | B | 环回诊断请求/诊断数据 | 协议和通信线路的检查用诊断信息 | ○ | 请创建信息,并用梯形图描述处理 | |
S2F29/30 | H | 装置常量名列表请求/装置常量名列表 | 主机收集装置内有效的装置常量相关的信息 向ECID发送ECNAME/ECMIN/ECMAX等 | ◎ | 针对主机请求自动响应 | |
S2F31/32 | H | 日期和时刻设置请求/设置确认 | 使装置时间和主机的时基同步 | ◎ | 改写C语言控制器时刻并通知给可编程控制器 | |
S2F33/34 | H | 规定报告/规定报告确认 | 使用动态报告设置,通知主机对装置规定一系列 报告的、RPTID和分组后的VID | ◎ | 针对主机请求自动响应 | |
S2F35/36 | H | 链接事件报告/链接事件报告确认 | 使用动态报告设置,通知主机对装置规定一系列 事件的、CEID和分组后的RPTID | ◎ | ||
S2F37/38 | H | 有效、无效事件报告/有效、无效事件报告确认 | 主机指示事件报告的有效/无效 | ◎ | ||
S2F39/40 | H | 多块轮询/多块允许 | 主机向装置进行多块发送时确认 | ◎ | 若进行有效可否设置则会自动处理 | |
S2F41/42 | H | 主机命令发送/主机命令确认 | 主机请求装置执行具有相关参数的特定远程命令 | ○ | 请创建信息,并用梯形图描述处理 | |
S2F43/44 | H | 假脱机流,函数设置 | 主机可选择应假脱机的特定的流/函数 通知STRID和FNCID | ◎ | 可预先定义假脱机对象信息,也能自动应对主机请求 | |
S2F45/46 | H | 变量限位属性定义/属性确认 | 主机向装置通知变量ID和相关的限位信息 | ◎ | 针对主机请求自动响应, 之后用变更的限位属性监视 | |
S2F47/48 | H | 变量限位属性请求/属性发送 | 主机向装置请求指定的变量的属性定义 向VID通知各限位信息 | ◎ | 针对主机请求自动响应 | |
S2F49/50 | H | 扩展远程命令 | 主机请求装置执行具有相关参数的特定远程命令 | ○ | 请创建信息,并用梯形图描述处理 | |
Stream5 | 例外报告 | |||||
S5F0 | B | 中止处理 | 事务中止处理 | ◎ | 中止收发时通知继电器 | |
S5F1/2 | E | 报警报告发送/报警报告确认 | 从装置通知报警状态的发生/解除 | ◎ | 从报警一览设置指定的报警,定义相关报警 编号之后,用发生/解除触发器统括发送 | |
S5F3/4 | H | 报警报告有效、无效发送/报警报告有效、无效确认 | 装置报警通知的有效比特的设置/复位,判定是否向主机 报警发送 | ◎ | 针对主机请求自动响应 | |
S5F5/6 | H | 报警列表请求/报警列表数据 | 主机向装置请求指定的报警信息列表 向ALID发送ALCD/ALID/ALTX | ◎ | ||
S5F7/8 | H | 有效报警列表请求/有效报警列表数据 | 请求有效的报警的列表 | ◎ | ||
Stream6 | 数据收集、事件 | |||||
S6F0 | B | 中止处理 | 事务中止处理 | ◎ | 中止收发时通知继电器 | |
S6F1/2 | E | 跟踪数据发送/跟踪数据确认 | 装置发送主机请求跟踪的结果采样数据 | ◎ | 针对主机请求自动响应 | |
S6F5/6 | E | 多块数据发送轮询/多块允许 | 装置向主机进行多块发送时确认 | ◎ | 若进行有效可否设置则会自动处理 | |
S6F11/12 | E | 事件报告发送/事件报告确认 | 装置在事件发生时向主机发送规定的一系列报告 | ◎ | 可定义各事件报告,自动发送/触发器继电器发送 | |
S6F15/16 | B | 事件报告请求/事件报告数据 | 主机向装置请求事件报告 通知CEID | ◎ | 针对主机请求自动响应 | |
S6F19/20 | H | 单独报告请求/报告数据 | 主机向装置请求报告 通知RPTID | ◎ | ||
S6F23/24 | H | 假脱机数据请求/请求确认发送 | 主机向装置请求假脱机信息的发送或 删除 | ◎ | 信息处理后将假脱机信息 自动发送或删除 | |
Stream7 | 工艺程序管理 | |||||
S7F0 | B | 中止处理 | 事务中止处理 | ◎ | 中止收发时通知继电器 | |
S7F1/2 | B | 工艺程序加载轮询/工艺程序加载允许 | 通知工艺程序的加载/卸载开始 | ○ | 请创建信息,并用梯形图描述处理 | |
S7F3/4 | B | 工艺程序发送/工艺程序确认 | 发送工艺程序 | ○ | ||
S7F5/6 | B | 工艺程序请求/工艺程序数据 | 请求工艺程序的传送 向PPID发送PPID和PPBODY | ○ | ||
S7F7/8 | E | 工艺程序ID请求 | 向主机请求可识别材料使用的工艺程序ID | ○ | ||
S7F17/18 | H | 工艺程序删除指示 | 从主机请求删除装置工艺程序 | ◎ | 来自主机的请求通知给可编程控制器 | |
S7F19/20 | H | 当前的EPPD请求/当前的EPPD数据 | 请求当前的装置工艺程序的目录 (装置具有的所有PPID的列表) | ◎ | 针对主机请求自动响应 | |
S7F23/24 | B | 带格式的工艺程序发送/确认 | 在装置和主机之间传送带格式的工艺程序 | ○ | 请创建信息,并用梯形图描述处理 | |
S7F25/27 | B | 带格式的工艺程序请求/ 带格式的工艺程序数据 | ○ | |||
S7F27/28 | E | 工艺程序妥当性发送/确认 | ○ | |||
Stream9 | 系统错误 | |||||
S9F0 | B | 中止处理 | 事务中止处理 | ◎ | 关于以下的S9相关的信息通常不存在中止 处理 | |
S9F1 | E | 未定义软元件ID | 传送收到了未定义的软元件ID的信息 | ◎ | 发送了S9F1时通知继电器 | |
S9F3 | E | 未定义流类型 | 传送收到了未定义的流编号的信息 | ◎ | 发送了S9F3时通知继电器 | |
S9F5 | E | 未定义函数类型 | 传送收到了未定义的函数编号的信息 | ◎ | 发送了S9F5时通知继电器 | |
S9F7 | E | 不正当数据 | 返回收到了未定义的不正当信息格式 | ◎ | 发送了S9F7时通知继电器 | |
S9F9 | E | 事务时间超时 | 对于已发送的一次信息不接收二次信息 | ◎ | 发送了S9F9时通知继电器 | |
S9F11 | E | 数据过长 | 返回收到的信息为不正当数据长 | ◎ | CIMOPERATOR的缓冲发生超量 发送了S9F11时通知继电器 | |
S9F13 | E | 对话超时 | 返回规定的事务未收到正对话对象的信息 | ◎ | 发送了S9F13时通知继电器 | |
Stream10 | 终端服务 | |||||
S10F0 | B | 中止处理 | 事务中止处理 | ◎ | 中止收发时通知继电器 | |
S10F1/2 | E | 终端请求/终端请求确认 | 从终端向主机的文本信息 | ○ | 请创建信息,并用梯形图描述处理 | |
S10F3/4 | H | 终端显示、单块/终端显示、单块确认 | 从主机发送装置终端要显示的数据 通知TID和TEXT | ○ | ||
S10F5/6 | H | 终端显示、多块/终端显示、多块确认 | 从主机发送装置终端要表示的数据 通知TID和对个TEXT | ○ | ||
S10F7/8 | E | 多块不允许 | 无法处理S10F5的多块信息的终端发出错误信息 | ○ |