3. SEMI标准体系入门

在半导体设备自动化领域,SEMI标准不是一堆孤立文档,而是一套从“物理连线”到“业务语义”逐层递进的通信契约。EAP平台之所以能同时对接不同厂商的设备和MES,正是因为这些标准把接口、消息、状态和行为都做了约定。理解它们的关键,不是背编号,而是看清每条标准在整条数据链上负责哪一段。

从串口到对象模型:通信底座

SEMI E4(SECS-I)定义了基于RS-232串行链路的报文传输,规定块结构、握手字节和超时重传;SEMI E37(HSMS)则把同样的SECS-II消息搬到TCP/IP之上,用Session和Transaction概念替代串口点对点。今天新建产线几乎只用E37,但E4仍是理解SECS报文帧格式的历史起点。

SEMI E5(SECS-II)是真正的“语言层”:它规定消息以Stream和Function编号标识,例如S1F1是“Are You There”请求,S1F2是设备在线应答,S6F11是事件报告。E5只定义消息的语义和数据结构,不关心底层是串口还是网络,因此E4和E37可以共用同一套E5消息。

状态与情境:设备行为的共同语言

SEMI E30(GEM)是EAP开发中最常打交道的标准。它建立在E5之上,规定设备必须支持哪些Stream/Function、如何上报状态、如何管理事件和报警。GEM把设备行为抽象成几个核心模型:状态模型(Communications、Control、Processing等状态)、设备常数、变量、报警、事件、配方和过程程序管理。EAP与设备联调时,第一步通常就是确认GEM能力集:设备是否支持S1F13建立通信、S2F33定义报告、S6F11事件上报、S2F41远程命令。

SEMI E40(Process Job Management)和SEMI E94(Control Job Management)把“加工任务”从单次命令提升为可追踪对象。E40的Process Job描述一批晶圆按某个配方加工的过程,E94的Control Job则管理设备内部资源如何执行这些Process Job。EAP下发任务时,往往先建Control Job,再挂Process Job,最后启动,设备按E94状态机反馈执行进度。

数据采集与配方:E87、E90、E116

SEMI E87(Carrier Management)解决载具(FOUP、Cassette)的识别、槽位映射和载具状态跟踪。EAP通过E87的Carrier ID、Slot Map和Carrier状态,知道“哪片晶圆在哪个载具的哪个槽”,这是自动搬送和防错的基础。

SEMI E90(Substrate Tracking)进一步把追踪粒度落到基板级,规定基板在设备内的位置、状态和移动路径。E87管载具,E90管载具里的每一片基板,两者配合才能实现从Stocker到工艺腔的全程追溯。

SEMI E116(Equipment Performance Tracking)关注设备性能数据的采集与上报,包括设备状态时长、可用率、吞吐量等指标。EAP把E116数据汇总后,才能支撑OEE分析和瓶颈定位。

标准之间的关系:分层与协作

这些标准并非并列,而是分层协作。E4/E37是传输层,E5是消息层,E30是行为层,E40/E94是任务层,E87/E90/E116是数据对象层。EAP平台在实现时,通常按这个层次组织代码:底层通信库处理E37 Session,中间件解析E5消息,业务层实现E30状态机和E40/E94任务调度,数据层对接E87/E90/E116对象。

SEMI标准分层协作关系 传输层 SEMI E4 (SECS-I) SEMI E37 (HSMS) 串口 / TCP-IP 报文传输 消息层 SEMI E5 (SECS-II) Stream/Function 消息语义与数据结构 行为层 SEMI E30 (GEM) 状态模型 / 事件 / 报警 / 变量 / 配方管理 任务层 SEMI E40 (PJM) SEMI E94 (CJM) Process Job / Control Job 管理 数据对象层 E87 载具管理 E90 基板追踪 E116 性能追踪

工程实践中的取舍

实际项目中,并非所有设备都完整支持上述标准。常见情况是:老设备只支持E4+E5+E30基础GEM,不支持E87/E90;新设备可能支持E37+E5+E30+E40+E94+E87+E90。EAP平台需要做能力协商:连接后先读设备GEM能力集,再决定启用哪些功能。例如,若设备不支持E87,载具信息只能通过E30的变量或事件间接获取;若支持E87,则可以直接用Carrier对象做槽位校验。

联调建议:先用E37建立HSMS连接,确认S1F13/S1F14通信建立;再用S1F1/S1F2验证在线;然后通过S2F33/S2F35定义报告,订阅S6F11事件;最后按E40/E94下发任务。每一步都用SECS报文日志确认Stream/Function和数据结构是否符合E5定义。

理解这些标准的分层关系后,EAP开发就不再是“面对一堆编号”,而是沿着传输→消息→行为→任务→数据对象的路径逐层实现。每层都有明确的输入输出和验证方法,联调时也能快速定位问题出在哪一层。