1. SECS/GEM 协议概述
SECS/GEM(SEMI Equipment Communications Standard / Generic Equipment Model)是半导体制造设备与工厂主机(Host)之间进行数据通信与状态管理的行业标准协议族。它定义了从物理层到应用层的完整通信栈,是半导体工厂自动化(EAP、MES)的基石。
1.1 协议栈结构:HSMS 与 SECS-I
SECS/GEM 协议栈分为物理层、传输层、消息层和应用层。根据物理介质的不同,传输层分为两种主流实现:HSMS(High-Speed SECS Message Services) 和 SECS-I(RS-232)。
| 层级 | SECS-I(传统串口) | HSMS(高速以太网) |
|---|---|---|
| 物理层 | RS-232 串口,波特率 9600 / 19200 bps | TCP/IP 以太网,100 Mbps / 1 Gbps |
| 传输层 | SECS-I 块传输协议(Block Protocol) | HSMS 会话管理 + TCP 流传输 |
| 消息层 | SECS-II 消息格式(Stream & Function) | |
| 应用层 | GEM 模型(状态机、变量、事件、报警) | |
关键区别:HSMS 基于 TCP/IP,支持多会话、高速传输和远程连接;SECS-I 基于 RS-232,适用于单点低速串口设备。现代 300mm 晶圆厂几乎全部采用 HSMS。
协议栈记忆口诀:“物理传消息,应用看 GEM”——物理层选串口或以太网,传输层负责拆包/组包,消息层定义业务指令,应用层规范设备行为。
1.2 消息类型:Primary 与 Secondary
SECS-II 消息以 Stream(流) 和 Function(功能) 编号唯一标识,例如 S1F13、S2F41。在通信交互中,消息分为两种角色:
- Primary Message(主消息):发起方主动发送的请求消息。例如 Equipment 发送
S1F13请求建立通信,或 Host 发送S2F41请求设备参数。 - Secondary Message(次消息):接收方对 Primary 的回复消息。消息编号为对应 Primary 的 Function 号 + 1。例如
S1F14是S1F13的回复,S2F42是S2F41的回复。
| 方向 | 消息类型 | 示例 | 说明 |
|---|---|---|---|
| Host → Equipment | Primary | S2F41 (Host Command) | Host 请求设备执行某个命令 |
| Equipment → Host | Secondary | S2F42 (Command Acknowledge) | 设备回复命令执行结果 |
| Equipment → Host | Primary | S6F11 (Event Report) | 设备主动上报事件数据 |
| Host → Equipment | Secondary | S6F12 (Event Acknowledge) | Host 确认收到事件报告 |
容错要点:Primary 消息必须等待对应的 Secondary 回复,超时未收到回复时应触发重传或会话重置。Secondary 消息不能独立存在,必须与 Primary 成对出现。
1.3 会话建立流程
HSMS 会话建立是设备与 Host 通信的第一步,分为 主动模式(Active) 和 被动模式(Passive)。以最常见的设备主动连接 Host 为例,完整流程如下:
- TCP 连接建立:设备(Active)向 Host(Passive)的指定端口(默认 5000)发起 TCP 三次握手。
- HSMS 会话请求:设备发送
Select.req消息,请求建立 HSMS 会话。 - HSMS 会话确认:Host 回复
Select.rsp,携带状态码0(成功)或非零(失败)。 - 通信测试(Link Test):双方定期发送
Linktest.req/Linktest.rsp检测连接活性。 - GEM 通信建立:设备发送
S1F13(Establish Communication Request),Host 回复S1F14确认,进入在线状态。
| 步骤 | 消息方向 | 消息内容 | 超时(典型值) |
|---|---|---|---|
| 1 | 设备 → Host | TCP SYN | 10 s |
| 2 | 设备 → Host | Select.req | 5 s |
| 3 | Host → 设备 | Select.rsp (Status=0) | — |
| 4 | 设备 → Host | S1F13 | 45 s |
| 5 | Host → 设备 | S1F14 | — |
容错关注点:步骤 2 和步骤 4 是常见超时故障点。Select.req 失败通常由端口未监听或防火墙导致;S1F13 超时可能由 GEM 配置不匹配引起。生产环境中建议将 Select.req 超时设为 5s,S1F13 超时设为 45s,并至少重试 3 次。
1.4 小结
本章介绍了 SECS/GEM 协议的核心概念:
- 协议栈结构:HSMS(以太网)与 SECS-I(串口)在传输层分叉,消息层和应用层统一。
- 消息类型:Primary 为主动请求,Secondary 为被动回复,两者成对出现,Function 号相差 1。
- 会话建立流程:TCP 连接 → Select.req/rsp → S1F13/S1F14,每一步都有明确的超时和重试策略。