SECS/GEM协议入门:设备怎么跟MES说话
SECS/GEM协议核心概念详解:HSMS通信、Stream/Function消息结构、GEM状态机、变量体系与事件报告机制,以及实际对接的完整流程。
如果你做过设备集成或者工厂自动化,一定绕不开SECS/GEM。它是半导体设备与工厂系统(MES/EAP/FDC等)通信的标准协议,几乎所有主流晶圆厂都要求设备支持SECS/GEM才能进厂。
但很多设备工程师对SECS/GEM的理解还停留在”知道有这个东西”的层面,真到了要对接的时候就一头雾水。本文用最直白的方式,帮你理清SECS/GEM的核心概念和对接流程。
一、SECS/GEM 到底是什么?
先拆解这两个缩写:
- SECS(SEMI Equipment Communications Standard):定义了设备和Host(MES等上位系统)之间的通信”语法”——消息怎么编码、怎么传输、怎么应答。
- GEM(Generic Equipment Model):定义了设备和Host之间的通信”语义”——设备应该提供哪些功能、支持哪些场景、遵循哪些状态机。
简单来说:SECS 管”怎么说”,GEM 管”说什么”。
SECS有两个版本:
- SECS-I(SEMI E4):基于RS-232串口通信,最早的版本,现在基本淘汰了
- HSMS(SEMI E37):基于TCP/IP的高速通信,现在的主流。传输速度快、支持远程连接、更可靠
所以现在说”SECS/GEM对接”,实际上就是”HSMS + GEM”的组合。
二、SECS消息结构:Stream 和 Function
SECS协议里的每条消息由两个数字标识:Stream(S)和Function(F)。
- Stream:表示消息的类别(类似于”频道”)。比如 S1 是设备状态,S2 是设备控制,S6 是数据采集。
- Function:表示具体的消息类型。奇数Function是请求(Primary),偶数Function是应答(Reply)。
举个例子:S1F1/S1F2 是最基本的”你在吗?/我在”心跳消息。
以下是你必须知道的常用Stream/Function:
S1 — 设备状态(Equipment Status)
- S1F1/S1F2(Are You There):通信心跳检测。Host发S1F1问”你在吗”,设备回S1F2说”我在”。最简单也最重要的消息。
- S1F3/S1F4(Selected Equipment Status Request):Host请求特定状态变量的值。比如查询当前腔体温度、压力等。
- S1F11/S1F12(Status Variable Namelist Request):Host请求设备支持的所有状态变量列表。相当于”你能报告哪些数据?”
- S1F13/S1F14(Establish Communications):建立通信连接。HSMS连接建立后,第一条SECS消息通常就是S1F13。
S2 — 设备控制(Equipment Control)
- S2F13/S2F14(Equipment Constant Request):查询设备常量(ECV)。ECV是可以被Host远程修改的参数,比如报警阈值。
- S2F15/S2F16(New Equipment Constant Send):Host远程修改设备常量。比如远程调整温度上限报警值。
- S2F41/S2F42(Host Command Send):Host发送远程命令,比如START、STOP、ABORT等。这是实现远程控制的核心消息。
S5 — 报警管理(Alarm Management)
- S5F1/S5F2(Alarm Report Send):设备主动向Host报告报警信息。包含报警ID、报警文本、报警等级等。
S6 — 数据采集(Data Collection)
- S6F11/S6F12(Event Report Send):这是数据采集的核心消息。设备在特定事件发生时(比如工艺开始、工艺结束、Lot加载等),主动向Host上报事件和关联的数据。
S7 — Recipe管理(Process Program Management)
- S7F1/S7F2(Process Program Load Inquire):Host请求上传Recipe到设备。
- S7F3/S7F4(Process Program Send):Host把Recipe内容发送到设备。
- S7F5/S7F6(Process Program Request):Host从设备下载Recipe。
三、GEM的核心概念
了解了消息格式之后,还要理解GEM定义的几个核心机制:
1. 状态机(State Machine)
GEM定义了设备的标准状态模型,最核心的是通信状态机和控制状态机:
- 通信状态机:Disabled → Enabled(Wait CR / Communicating)
- 控制状态机:OFF-LINE(Equipment Off-line / Attempt On-line / Host Off-line)→ ON-LINE(Local / Remote)
只有在On-line Remote状态下,Host才能完全控制设备。
2. 变量体系
- SV(Status Variable):只读的实时状态值,如温度、压力、批次号
- ECV(Equipment Constant Variable):可读写的设备常量,如报警阈值、默认参数
- DVVAL(Data Variable Value):跟事件关联的数据值,用于事件报告
3. 事件报告机制(CEID/RPTID/VID)
这是数据采集的核心:
- CEID(Collection Event ID):定义了什么时候上报数据,比如”工艺开始”、”工艺结束”
- RPTID(Report ID):定义了上报哪组数据
- VID(Variable ID):定义了每个具体变量
三者的关系:一个CEID可以关联多个RPTID,一个RPTID可以包含多个VID。Host通过S2F33/S2F35来配置这些关联关系。
四、SECS/GEM对接实操流程
实际对接一般分以下几步:
- 确认客户的VMS/GEM规格书:每个晶圆厂都有自己的SECS/GEM规格书(VMS Spec),定义了他们要求设备实现哪些功能、上报哪些数据、支持哪些Remote Command。这是对接的”需求文档”。
- 选择SECS/GEM SDK:不建议从零实现协议栈。市面上有成熟的SDK,如PEER Group的GEM SDK、Cimetrix的CIMConnect、Brooks的GEMPRO等。选择一个,集成到你的设备软件中。
- 配置变量和事件:按照VMS Spec,配置SV、ECV、CEID、RPTID的定义和关联关系。这一步工作量最大,一台设备通常有几十到几百个变量。
- 联调测试:先用SECS/GEM测试工具(如GEM Host Simulator)做模拟联调,确保所有消息交互正确。然后再连接客户的实际MES/EAP系统做真实联调。
- 通过VMS验证:客户会按照VMS Spec逐项检查你的实现是否合规。通过后才算对接完成。
五、数据采集之后呢?从采集到智能分析
SECS/GEM解决了”把数据从设备里拿出来”的问题,但拿出来之后呢?
传统做法是把数据存到数据库里,工程师手动查询和分析。但随着设备参数越来越多、wafer产量越来越大,人工分析的效率已经成为瓶颈。
我们的NeuroBox E3200就是在SECS/GEM数据采集的基础上,增加了一层实时AI分析能力:
- 原生SECS/GEM支持:E3200可以直接通过HSMS协议与设备通信,不需要额外的EAP中间件。即插即用,大幅降低了数据采集的部署门槛
- 实时流式处理:不是采集后存库再分析,而是数据到达的瞬间就进行AI推理。50ms级别的响应时间,支持VM(虚拟量测)、FDC(故障检测)、R2R(逐片调参)等实时场景
- 灵活的数据映射:支持自定义CEID/VID到AI模型输入的映射关系,适配不同设备厂商的SECS/GEM实现差异
- 边缘部署:计算在设备侧完成,不依赖工厂网络的带宽和延迟,也不用担心数据出厂的安全合规问题
如果你的设备已经支持SECS/GEM,但数据采集后的分析还停留在手动阶段,NeuroBox E3200 可以帮你把数据真正”用起来”。
了解更多:https://ai-mst.com
预约产品演示,请访问官网联系我们,或直接拨打400电话与技术团队沟通。