1. SECS/GEM 协议概述

SECS/GEM 是半导体制造领域最核心的设备自动化通信标准族。它定义了制造执行系统(MES)与工艺设备之间的数据交换格式、通信协议和行为模型。理解 SECS/GEM 的协议栈结构,是掌握配方上传下载流程设计与异常恢复的基础。

1.1 协议栈三层架构

SECS/GEM 协议栈从下至上分为物理传输层、消息层和语义行为层,每一层解决不同粒度的通信问题。

层级协议/标准主要职责典型应用场景
物理传输层SECS-I / HSMS定义电气接口、连接建立、数据帧传输RS-232 串口(SECS-I)或 TCP/IP 网络(HSMS)
消息层SECS-II定义消息格式、数据类型、事务处理规则设备与主机之间的请求/响应消息编码
语义行为层GEM定义设备状态模型、事件报告、配方管理、报警处理等行为配方上传下载、设备状态采集、远程控制

关键理解: 配方上传下载流程跨越整个协议栈——GEM 定义“何时上传/下载”,SECS-II 定义“消息长什么样”,HSMS/SECS-I 定义“数据怎么传过去”。任何一层的异常都会导致配方传输失败。

1.2 SECS-I:串行通信基础

SECS-I 是早期半导体设备通信标准,基于 RS-232C 串行接口,采用半双工通信模式。虽然现在新建工厂已逐步转向 HSMS,但大量存量设备仍在使用 SECS-I。

  • 物理层: RS-232C,波特率 9600/19200 bps,数据位 7/8,停止位 1,奇偶校验可选。
  • 数据块(Block): 最大 254 字节,超过则分块传输。
  • 超时机制: T1(字符超时)、T2(协议超时)、T3(回复超时)等 7 个定时器。
  • 连接管理: 设备端主动建立连接,主机端监听。

工程提示: SECS-I 的 T3 超时(等待回复时间)在配方上传下载中至关重要。如果配方数据量大,设备处理时间长,T3 设置过短会导致主机误判为通信中断,触发不必要的异常恢复流程。

1.3 HSMS:高速以太网通信

HSMS(High-Speed SECS Message Services)将 SECS 通信迁移到 TCP/IP 网络,大幅提升传输速率和连接灵活性。HSMS 定义了两种连接模式:主动模式(Initiator)和被动模式(Responder)。

特性SECS-IHSMS
物理介质RS-232C 串口线以太网(TCP/IP)
最大传输速率19200 bps100 Mbps 及以上
最大消息长度254 字节/块无限制(分帧传输)
连接管理硬件信号线控制TCP 连接 + 心跳检测
超时模型T1~T7 定时器T3、T5、T6、T7、T8
适用场景老旧设备、低速数据新建设备、大数据量配方

异常恢复关注点: HSMS 的 T6 超时(连接超时)和 T8 超时(帧传输超时)在配方上传下载过程中需要特别监控。网络抖动可能导致 T8 超时,触发连接断开,此时需要设计重连和断点续传机制。

1.4 SECS-II:消息编码与事务

SECS-II 定义了设备与主机之间交换消息的格式。每个消息由 流(Stream) 和 功能(Function) 唯一标识,例如 S7F3 表示“配方列表请求”。

  • 消息结构: 消息头(10 字节)+ 消息体(数据项列表)。
  • 数据类型: 布尔(Boolean)、整数(U1/U2/U4/I1/I2/I4)、浮点(F4/F8)、字符串(ASCII/UTF-8)、列表(List)等。
  • 事务规则: 主设备发送请求(Primary Message),从设备回复响应(Secondary Message),事务 ID(W_BIT)保证一一对应。
  • 配方相关流: S7(配方管理)、S14(配方上传下载)、S16(配方数据块传输)。
// SECS-II 消息示例:S7F3(配方列表请求)
// 消息头
Stream = 7, Function = 3, W_BIT = 1
// 消息体(空列表,表示请求所有配方)
<L>
</L>

// 响应 S7F4(配方列表数据)
// 消息体
<L>
  <A>RECIPE_A</A>
  <A>RECIPE_B</A>
  <A>RECIPE_C</A>
</L>

1.5 GEM 标准:设备行为模型

GEM(Generic Equipment Model)是 SEMI E30 标准,定义了设备在半导体制造中的通用行为模型。GEM 将设备抽象为有限状态机,并规定了状态转换、事件报告、配方管理、报警处理等核心功能。

GEM 的核心价值: 它让不同厂商的设备以统一的方式与 MES 交互。无论设备是刻蚀机、光刻机还是检测设备,配方上传下载的流程框架在 GEM 层面是一致的。

GEM 设备状态模型

设备状态模型是 GEM 的基石,定义了设备从初始化到生产、再到空闲的完整状态转换路径。

GEM 设备状态模型 GEM 设备状态模型(简化) INIT(初始化) EQUIPMENT_OFF ATTEMPT_ONLINE HOST_CONNECTED ONLINE(在线) 配方上传下载只能在 ONLINE 状态下进行,异常恢复需先回到 HOST_CONNECTED 或 ONLINE

GEM 在配方管理中的关键功能

GEM 标准为配方上传下载提供了完整的行为框架,主要包括以下功能点:

  • 配方管理(Recipe Management): 定义配方列表查询、配方上传(设备→主机)、配方下载(主机→设备)、配方删除、配方验证等操作。
  • 配方数据块传输(Large Data Transfer): 针对大配方,GEM 支持分块传输(S16 流),避免单次消息超长导致超时。
  • 事件报告(Event Notification): 配方传输完成、失败、中断时,设备主动上报事件给主机。
  • 异常恢复(Exception Recovery): 定义通信中断、传输超时、数据校验失败等场景下的恢复流程。
  • 配方校验(Recipe Verification): 下载完成后,设备可对配方进行 CRC 校验或格式校验,确保数据完整性。

配方上传下载流程设计要点: 在 GEM 框架下,配方上传下载不是简单的文件传输,而是一个包含状态检查、权限验证、数据分块、校验确认、异常回滚的完整事务。设计时需充分考虑每一步的异常分支。

1.6 协议栈整体架构

下图展示了 SECS/GEM 协议栈的完整分层架构,以及各层在配方上传下载流程中的角色。

SECS/GEM 协议栈架构 SECS/GEM 协议栈架构与配方上传下载 应用层:MES / 主机系统 配方管理界面、生产调度、数据采集 GEM 语义层(SEMI E30) 状态模型 | 配方管理 | 事件报告 | 报警处理 | 异常恢复 SECS-II 消息层(SEMI E5) 消息编码 | 数据类型 | 事务管理 | S7/S14/S16 流 传输层:HSMS(SEMI E37) / SECS-I(SEMI E4) TCP/IP 连接 | 串口通信 | 超时控制 | 数据帧传输 配方数据流:MES → GEM(配方命令)→ SECS-II(消息编码)→ HSMS/SECS-I(数据帧)→ 设备

1.7 GEM 在半导体制造中的核心作用

GEM 标准是半导体制造自动化的“通用语言”,其核心作用体现在以下四个方面:

作用维度具体说明对配方上传下载的影响
设备互操作性不同厂商设备使用统一的行为模型和消息接口配方上传下载流程可跨设备复用,降低集成成本
状态一致性设备与主机共享同一状态模型,避免状态不同步配方传输前检查设备状态,防止在非就绪状态下操作
异常可追溯定义标准事件和报警,异常时可精确定位配方传输失败时,主机可获取具体错误码和原因
流程标准化配方上传下载的步骤、消息序列、超时处理均有标准定义减少定制开发,提高系统稳定性和可维护性