1. 课程导入与全景认知
在半导体晶圆厂里,一台设备从进厂到量产,真正决定它能否被产线"用起来"的,往往不是机械精度或工艺窗口,而是它能不能和厂务系统说上话。SECS/GEM 就是这套"说话规则":SECS(SEMI Equipment Communications Standard)定义了设备与主机之间的消息格式与传输机制,GEM(Generic Equipment Model)则在 SECS 之上规定了设备应具备的标准行为——状态上报、事件通知、报警管理、配方管理、数据采集、远程命令等。没有 GEM,每台设备都要为不同主机写一套私有协议;有了 GEM,设备与 EAP 之间就有了可复用的标准接口。
要理解这套体系,先要看清它在制造信息链中的位置。设备内部有传感器、执行机构、工艺腔体,它们产生的是物理量;SECS/GEM 把这些物理量翻译成主机能理解的消息;EAP(Equipment Automation Program,设备自动化程序)则站在主机侧,负责把消息变成可执行的业务动作,再向上对接 MES。下面这张图展示了从设备到 MES 的完整信号与数据链路,以及 EAP 在其中的核心职责。
从图中可以看到,EAP 是整条链路的"翻译官"和"调度员"。它向下要处理 SECS/GEM 的连接建立(HSMS 的 Select 流程)、事件订阅(Define Report / Link Event)、数据采集(S1F3、S6F11 等),向上要对接 MES 的工单、批次、物料和报表接口。一个成熟的 EAP 通常包含连接管理、消息路由、状态机、配方管理、报警管理、数据缓存和日志追踪等模块。实际项目中,EAP 与设备的接口调试往往占据整个集成周期的一半以上,因为不同设备厂商对 GEM 标准的实现程度差异很大——有的只支持最基本的 S1F1 和 S1F13,有的则完整实现了 S2、S5、S6、S7、S10 等全套消息。
本节核心认知:SECS/GEM 是设备与主机之间的标准通信协议,EAP 是主机侧实现自动化控制的软件系统。学习本课程的目标不是背消息号,而是能独立完成一台设备的 EAP 接入:从连接建立、事件订阅、数据采集,到配方下发、远程命令和异常排障。
那么,这门课具体要带大家做什么?我们把 30 个章节分成四个阶段。第一阶段是基础认知与协议入门,包括 SECS/GEM 的体系结构、HSMS 连接机制、SECS-II 消息格式和 GEM 状态模型。第二阶段是 EAP 核心功能开发,重点讲事件与报警处理、数据采集与上报、配方管理、远程命令和日志追踪。第三阶段是实战集成,用一台虚拟设备或真实设备完成从零到一的 EAP 接入,包括连接调试、消息抓包、异常注入和恢复验证。第四阶段是进阶与排障,覆盖多设备并发、性能优化、常见故障树和安全策略。
为了让大家对"实际怎么做"有具体感知,这里给出一个典型的连接建立示例。设备与 EAP 之间采用 HSMS-SS 模式,EAP 作为 Active 端主动发起 TCP 连接,设备作为 Passive 端监听端口。连接建立后,EAP 发送 Select.req(S1F13),设备回复 Select.rsp(S1F14),随后 EAP 发送 S1F1 确认设备在线。下面是一段简化的消息交互日志示例:
EAP -> Equipment : S1F13 Select.req (建立通信)
Equipment -> EAP : S1F14 Select.rsp (通信已建立)
EAP -> Equipment : S1F1 AreYouThere (确认在线)
Equipment -> EAP : S1F2 OnLineData (返回设备型号/版本)
EAP -> Equipment : S2F33 DefineReport (定义报告)
Equipment -> EAP : S2F34 DRACK (报告定义确认)
EAP -> Equipment : S2F35 LinkEvent (绑定事件与报告)
Equipment -> EAP : S2F36 LRACK (绑定确认)
EAP -> Equipment : S2F37 EnableEvent (使能事件)
Equipment -> EAP : S2F38 ERACK (使能确认)
这段日志里,S2F33 定义报告(Report),S2F35 把事件(CEID)和报告(RPTID)绑定,S2F37 使能事件。只有走完这三步,设备才会在状态变化时主动上报 S6F11。很多初学者调试时发现"设备不报事件",八成是漏了 S2F37 使能,或者 CEID 与 RPTID 的绑定关系写错了。这些细节,课程后续会逐一展开。
学习建议:每学一个消息对(如 S1F1/S1F2、S6F11/S6F12),就动手在模拟器或真实设备上抓一次包,观察消息的 Stream、Function、W-bit 和消息体结构。把"看日志"变成习惯,比死记消息号有效得多。