2. 多机台通信协议与接口全景

在半导体工厂里,EAP(Equipment Automation Program,设备自动化程序)要同时面对两类“世界”:一边是机台内部或机台边缘的实时控制,另一边是MES、EES、SPC、RMS等工厂侧系统。多机台通信之所以复杂,并不是因为协议数量多,而是因为不同协议处在不同层次、承担不同职责。把SECS/GEM、HSMS、GEM300、EDA放在同一张“协议栈地图”上理解,才能看清EAP为什么必须成为设备侧与工厂侧之间的桥梁。

一、先分清“消息语义”和“传输承载”

SECS(SEMI Equipment Communications Standard)定义的是消息语义与交互规则,核心是SECS-II:它规定了消息的Stream、Function、数据项结构,例如S1F1、S1F2、S2F41、S6F11等。可以把SECS-II理解为“说什么、怎么组织数据”。而HSMS(High-Speed SECS Message Services)定义的是传输层:它把SECS-II消息封装成HSMS消息,通过TCP/IP传输,并管理连接、会话、超时、重连和事务配对。简单说,SECS-II管语义,HSMS管通道。

GEM(Generic Equipment Model)则是在SECS-II之上定义的一套设备行为模型,规定设备应支持哪些状态、事件、报警、变量、远程命令和配方管理。GEM不是新的报文格式,而是“设备应该怎么表现”的规范。GEM300进一步面向300mm晶圆厂,补充了载具管理、配方管理、设备追踪、基板追踪等能力,常涉及E87、E90、E94、E116等SEMI标准。EDA(Equipment Data Acquisition)则代表另一条路线,典型是SEMI E120/E125/E132/E134/E164等,强调基于HTTP/SOAP或gRPC的数据采集与元数据模型,适合高频、结构化、按需订阅的数据流。

多机台通信协议栈与EAP桥梁职责 工厂侧系统 MES / MCS EES / RMS / SPC EDA Client / 数据平台 AMHS / RTD FDC / YMS 工厂侧关注:批次、配方、 追溯、良率、排程 EAP 桥梁层 协议适配 SECS-II / HSMS / EDA 转换 会话与连接管理 TCP、心跳、重连、事务配对 状态与事件模型 GEM状态机、事件、报警 数据采集与缓存 变量订阅、Trace、补传 命令编排与并发调度 多机台队列、优先级、超时 EAP职责:翻译、路由、缓冲、 状态维护、异常隔离 设备侧 刻蚀 / 薄膜 / 光刻机台 量测 / 检测设备 搬运 / 存储设备 SECS/GEM 接口 EDA 接口(可选) 设备侧关注:实时控制、 状态上报、配方执行 工厂指令 设备消息 数据订阅 事件上报 协议层次: SECS-II(语义) → HSMS(TCP承载) → GEM / GEM300(行为模型) → EDA(数据采集)

二、设备类型差异决定接口组合

并非所有机台都使用同一套接口。刻蚀、薄膜、光刻等主设备通常要求完整的GEM300能力,因为它们涉及载具交换、配方切换、基板追踪和远程命令;量测设备可能只需要GEM基础能力加数据采集;而一些老设备或简单搬运设备,可能只支持SECS-II/HSMS,甚至只有串口或私有协议。EAP在接入前必须做“能力画像”:该设备支持哪些Stream/Function、是否支持E87载具管理、是否支持E90配方管理、是否支持EDA、事件报告是主动上报还是轮询。这个画像直接决定EAP的适配层怎么写、状态机怎么建、超时和重试策略怎么定。

例如,一台支持GEM300的刻蚀机,EAP需要处理S2F41远程命令、S6F11事件报告、S7F3配方上传下载、E87载具到达/离开事件;而一台仅支持基础GEM的量测机,EAP可能主要处理S1F1在线确认、S1F3状态查询、S6F11事件和S6F1 Trace数据。接口能力不同,EAP的并发模型也不同:前者需要维护载具与配方的状态关联,后者更偏向高频数据采集与缓存。

三、通信链路拓扑:EAP不是单点,而是多机台汇聚点

典型链路是“设备—EAP—工厂侧”三层。设备侧通过HSMS主动或被动连接EAP,EAP再通过工厂侧接口(可能是SECS/HSMS、EDA、MQ或数据库)与MES/EES交互。一个EAP进程往往同时管理几十台设备,每台设备一个HSMS会话,每个会话有独立的连接状态、事务队列和超时计时器。拓扑上,EAP是星型汇聚点:向下多路连接设备,向上汇聚到工厂系统。这种结构带来两个关键问题:一是单台设备断线不能影响其他设备,二是工厂侧指令必须能按设备维度隔离和排队。

因此,EAP内部通常按“设备通道”划分资源:每个设备通道有独立的接收线程、发送队列、状态缓存和重连策略。工厂侧下发的命令先进入EAP的命令编排层,再按设备ID路由到对应通道。设备上报的事件先进入EAP的事件处理层,做去重、补全、格式转换后,再转发给工厂侧。这样,EAP既不是简单的协议转换器,也不是透明的消息代理,而是一个有状态、有缓冲、有调度能力的桥梁。

四、EAP的职责划分:翻译、路由、缓冲、状态、隔离

把EAP职责拆开看,至少包含五类。第一是协议翻译:把工厂侧的批次命令翻译成设备能理解的SECS-II消息,把设备的S6F11事件翻译成工厂侧可消费的数据结构。第二是路由与寻址:根据设备ID、端口号、会话ID把消息送到正确的通道。第三是缓冲与补传:设备断线时,EAP要缓存未发送的命令或未上报的事件,待重连后按序补传,避免数据丢失。第四是状态维护:EAP要维护设备在线状态、控制状态、载具状态、配方状态,供工厂侧查询和决策。第五是异常隔离:单台设备超时、报错或协议异常时,EAP要能熔断该通道,避免拖垮整个进程。

判断EAP设计是否合理,可以看一个简单问题:当某台设备HSMS连接断开30秒后恢复,工厂侧是否还能拿到断线期间的关键事件?如果答案是否定的,说明缓冲与补传职责没有落实。

五、一个可参考的接口能力检查表

在实际接入新机台时,可以用下面这张表快速梳理接口能力。表中字段是示例,具体值需以设备规格书和实际测试为准。

检查项 典型问题 对EAP的影响
HSMS角色 设备主动连接还是被动监听? 决定EAP是Server还是Client,影响重连策略
GEM能力 支持哪些SxFy?是否支持S6F11? 决定事件模型和状态机复杂度
GEM300 是否支持E87/E90/E94? 决定载具、配方、追踪逻辑是否要建
EDA 是否支持E120/E125? 决定高频数据走EDA还是SECS Trace
超时与重试 T3、T5、T6、T7、T8如何设置? 决定事务配对、断线检测和重连节奏
数据频率 Trace周期是多少?事件量多大? 决定缓存容量、批量上报和背压策略

以HSMS超时为例,T3是回复超时,T5是连接分离超时,T6是控制事务超时,T7是未选择状态超时,T8是网络字符间超时。假设某设备T3设为45秒,EAP发送S2F41后45秒内未收到S2F42,就应判定该事务失败并触发重试或报警。如果T5设为10秒,EAP在10秒内未收到Select响应,就应断开并进入重连。这些参数不是随便填的,它们直接决定EAP对设备异常的响应速度。

六、从协议全景回到工程实践

理解协议全景的最终目的,是让EAP在多机台环境下做出正确取舍。对于支持GEM300的主设备,EAP应优先使用标准事件和远程命令,减少私有轮询;对于只支持基础GEM的设备,EAP可以用S1F3轮询补充状态,但要注意轮询频率对设备通信负载的影响;对于支持EDA的设备,高频Trace数据可以走EDA订阅,SECS通道只保留控制命令和关键事件,从而降低HSMS会话压力。EAP的桥梁职责,本质上是在设备能力、工厂需求和网络现实之间做平衡:该翻译的翻译,该缓冲的缓冲,该隔离的隔离,该降级的降级。

当你能把一台设备的SECS-II消息、HSMS会话、GEM状态、GEM300对象和EDA数据流分别对应到EAP的某个模块时,多机台通信就不再是一团协议名词,而是一张可以设计、可以测试、可以排障的工程地图。