2. SECS/GEM 核心概念:设备端与主机端模型、会话与连接管理、消息流模型
SECS/GEM 协议的核心在于定义了半导体制造设备(Equipment)与工厂主机(Host)之间的通信规范。理解设备端与主机端的角色模型、会话与连接的生命周期管理,以及消息的流转模型,是进行日志分析与问题定位的基础。本章将深入剖析这三个核心概念,并辅以图表和实例,帮助您建立清晰的协议认知框架。
2.1 设备端(Equipment)与主机端(Host)模型
在 SECS/GEM 体系中,通信双方的角色是明确且不对称的。设备端通常指代生产设备(如光刻机、刻蚀机、沉积设备),而主机端则代表工厂的自动化控制系统(如 MES、EAP)。
| 角色 | 典型代表 | 主要职责 | 通信主动性 |
|---|---|---|---|
| 设备端 (Equipment) | 工艺设备、测量设备、搬运系统 | 执行工艺、上报状态、响应主机指令、管理本地数据 | 被动响应 + 主动上报(事件) |
| 主机端 (Host) | MES、EAP、RMS、调度系统 | 下发配方、收集数据、监控状态、控制生产流程 | 主动发起控制 + 被动接收数据 |
日志分析要点: 在日志中,通常使用
EQ 或 Equipment 标识设备端消息,使用 Host 标识主机端消息。消息方向决定了谁在发起请求(Primary Message),谁在响应(Secondary Message)。
设备端模型内部通常包含以下逻辑组件:
- 通信接口层: 负责 HSMS 或 RS-232 的物理连接与数据收发。
- SECS-II 消息处理器: 解析和组装 SECS-II 数据项(SML 格式)。
- GEM 状态机: 管理设备状态(如 INIT、COMM、WAIT)和通信状态。
- 数据收集与事件管理: 处理 Trace 数据、报警、状态变量变更等。
2.2 会话(Session)与连接(Link)管理
在 HSMS 协议中,连接(Link) 指的是 TCP/IP 层面的物理或逻辑链路,而 会话(Session) 则是在连接之上建立的、用于区分不同通信逻辑单元的抽象概念。一个物理连接上可以承载多个会话。
2.2.1 连接(Link)状态机
HSMS 定义了明确的连接状态机,用于管理 TCP 连接的建立、维持和断开。常见的状态包括:
- NOT CONNECTED: 未建立 TCP 连接。
- CONNECTED: TCP 连接已建立,但尚未进行 HSMS 握手。
- NOT SELECTED: TCP 连接已建立,但未分配会话 ID。
- SELECTED: 会话已建立,可以传输 SECS-II 消息。
日志定位技巧: 当发现通信中断时,首先检查日志中是否出现
Link Test 超时或 Connection Rejected 记录。频繁的 Link Test 失败通常指示网络不稳定或设备负载过高。
2.2.2 会话(Session)管理
会话通过 S1F13 / S1F14 或 S1F1 / S1F2 等握手消息建立。每个会话都有一个唯一的 Session ID,用于在消息头中标识消息所属的会话。
| 管理阶段 | 典型消息 | 说明 |
|---|---|---|
| 建立连接 | TCP 三次握手 | 底层网络连接建立 |
| 选择会话 | S1F13 (Establish Communication Request) | 设备端或主机端发起会话建立请求 |
| 会话确认 | S1F14 (Establish Communication Acknowledge) | 对方确认会话建立,返回设备信息 |
| 维持连接 | Link Test (S9F9 / S9F10) | 周期性心跳检测,确保连接存活 |
| 断开会话 | S1F15 / S1F16 或 TCP 断开 | 主动或被动终止会话 |
2.3 消息流模型
SECS/GEM 的消息流遵循严格的 请求-响应 模式。每条消息都有一个唯一的 Stream 和 Function 编号(如 S1F13),以及一个 W-Bit 标记,用于指示是否需要对方响应。
2.3.1 消息类型
- Primary Message(主消息): 发起方发送的请求消息,W-Bit 通常设置为 1,表示需要响应。
- Secondary Message(次消息): 接收方回复的响应消息,W-Bit 通常为 0。
- Reply Message(回复消息): 对 Primary Message 的确认或数据回复。
2.3.2 典型消息流示例
以下是一个典型的 设备端主动上报报警 的消息流:
- 设备端 发送
S5F1 (Alarm Report Send)给主机端(Primary)。 - 主机端 收到后,回复
S5F2 (Alarm Report Acknowledge)(Secondary)。 - 如果主机端需要确认报警详情,可以发送
S5F3 (Enable/Disable Alarm)给设备端。 - 设备端回复
S5F4确认。
常见问题: 如果主机端未能在超时时间内回复 Secondary Message,设备端会重发 Primary Message 或触发通信超时错误。日志中表现为
T3 Timeout 或 Message Retry。
2.4 核心概念总结
| 概念 | 关键点 | 日志分析关注点 |
|---|---|---|
| 设备端 vs 主机端 | 角色不对称,设备端主动上报事件,主机端主动下发指令 | 消息方向(EQ→Host 或 Host→EQ) |
| 连接管理 | TCP 连接 + HSMS 握手 + Link Test 心跳 | 连接状态变化、Link Test 超时、重连次数 |
| 会话管理 | 通过 S1F13/S1F14 建立,Session ID 唯一标识 | 会话建立失败、Session ID 冲突 |
| 消息流模型 | Primary/Secondary 配对,W-Bit 控制响应需求 | 未匹配的 Primary、T3 超时、消息重试 |
实战建议: 在分析通信日志时,建议先过滤出
Link Test 和 S1F13 / S1F14 消息,确认会话是否正常建立。然后检查是否存在 T3 或 T5 超时记录,这些通常是问题定位的突破口。