2. 半导体设备与EAP通信基础
EAP(Equipment Automation Program,设备自动化程序)要做的第一件事,是让上位系统“听得懂设备在说什么”。半导体设备与EAP之间的通信并非私有协议,而是建立在SEMI标准之上的一套分层体系:底层是传输层,上层是消息与行为模型。理解这套体系,才能理解EAP为什么能拿到事件、为什么能读到过程数据、为什么能判断设备当前处于什么状态。
一、SECS/GEM:设备通信的“语言与语法”
SECS(SEMI Equipment Communications Standard)定义了设备与主机之间交换消息的格式与语义,GEM(Generic Equipment Model)则定义了设备应当具备的通用行为。二者合称SECS/GEM,是半导体设备自动化的基础标准。可以这样理解:SECS负责“怎么说”,GEM负责“该做什么”。
SECS消息由三部分组成:Stream(流)、Function(功能号)和数据体。Stream按功能域划分,例如S1是设备状态与通信管理,S2是设备控制与诊断,S5是报警,S6是事件报告,S7是配方管理。Function是同一Stream内的具体动作编号。因此“S6F11”表示第6流第11号功能,即事件报告发送,这是EAP获取设备事件最核心的消息。
数据体采用SECS-II的项(Item)结构,支持列表(L)、ASCII(A)、二进制(B)、布尔(BOOLEAN)、整型(U1/U2/U4)、浮点(F4/F8)等格式。EAP解析S6F11时,必须按设备提供的报告定义逐项还原,否则会把VID(变量ID)读错位。这是实际工程中最常见的对接故障之一。
二、HSMS:把SECS消息送上TCP/IP
传统SECS-I使用RS-232串口,速率低、距离短。HSMS(High-Speed SECS Message Services)把SECS消息封装到TCP/IP之上,成为当前主流。HSMS定义了两种角色:Active(主动发起连接)和Passive(被动监听)。通常EAP作为Active,设备作为Passive,端口默认5000,但实际项目中设备侧端口常被厂商改为其他值,需以设备手册为准。
HSMS连接建立后,双方通过Select和Deselect管理会话状态。只有处于Selected状态,才能收发SECS消息。此外,HSMS还定义了Linktest心跳机制,用于检测链路是否存活。EAP若长时间收不到Linktest响应,应判定链路异常并触发重连,而不是继续等待业务消息。
三、设备状态模型:EAP判断“能不能派工”的依据
GEM定义了设备的基本状态模型,最核心的是通信状态与控制状态两条线。通信状态包括Disabled、Enabled;控制状态包括Offline、Online Local、Online Remote。只有设备处于Online Remote,EAP才能远程下发命令、启动配方。若设备被操作员切到Local,EAP的远程控制会被拒绝,此时应产生告警而非反复重试。
在Online Remote之下,设备还有过程状态:Idle(空闲)、Executing(执行中)、Paused(暂停)。EAP通过S1F3或事件报告获取这些状态。实际调度中,EAP通常只在Idle且无未清报警时才派工。状态模型的价值在于:它把“设备现在能不能接活”变成可编程判断,而不是靠人看灯。
四、事件报告机制:EAP获取事件与过程数据的主通道
事件报告机制由三个关键标识构成:CEID(Collection Event ID,事件ID)、RPTID(Report ID,报告ID)、VID(Variable ID,变量ID)。设备内部发生某件事(如“晶圆已装载”),会触发一个CEID;该CEID绑定一个RPTID;RPTID中列出若干VID;每个VID对应一个设备变量(如温度、压力、位置)。EAP收到S6F11后,按RPTID定义解析出各VID的值,就得到了这次事件附带的过程数据。
典型对接流程如下:
- EAP发送S2F33,定义报告:把RPTID与一组VID绑定。
- EAP发送S2F35,把CEID与RPTID关联,并指定报告触发方式。
- EAP发送S2F37,启用事件报告。
- 设备事件发生时,主动发送S6F11,携带CEID和报告数据。
- EAP回复S6F12确认,并解析数据入库或触发业务逻辑。
这里有一个容易忽略的细节:报告定义是设备侧维护的。EAP不能假设设备一定支持某个VID,必须先通过S1F11/S1F12或设备手册确认VID清单。若EAP请求了不存在的VID,设备可能返回错误或直接忽略,导致报告数据缺失。
五、过程数据采集:事件驱动与轮询的配合
事件报告适合“状态变化”类数据,如装载完成、报警发生。但过程数据(如温度曲线、压力趋势)往往需要更高频率。此时EAP通常使用Trace采集:通过S2F23启动设备内部Trace,指定SVID(Status Variable ID)和采样周期,设备按周期把数据推送给EAP。Trace与事件报告互补:事件报告抓“关键时刻”,Trace抓“连续过程”。
实际工程中,一个常见配置示例是:EAP对某刻蚀设备启用Trace,采样周期200ms,采集SVID包括腔体压力、RF功率、ESC温度。同时订阅CEID=1001(晶圆进入)、CEID=1002(工艺开始)、CEID=1003(工艺结束)。这样EAP既能拿到连续曲线,也能在关键节点打上时间戳,后续做追溯时可以把曲线与事件对齐。
总结来看,SECS/GEM提供了消息语义与设备行为规范,HSMS提供了可靠的TCP传输,状态模型让EAP能判断设备可调度性,事件报告机制则把设备内部的变化转化为EAP可处理的数据流。这四者共同构成了EAP从设备侧获取事件与过程数据的基础通道。理解它们之间的层次与配合关系,是后续做数据建模、追溯和排障的前提。