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 数据、报警、状态变量变更等。
设备端与主机端通信模型 主机端 (Host) MES / EAP 应用层 SECS-II 消息解析 HSMS 通信层 TCP/IP 网络层 HSMS 连接 设备端 (Equipment) GEM 状态机 / 应用 SECS-II 消息解析 HSMS 通信层 TCP/IP 网络层 主机端主动发起控制指令(如 S2F41),设备端主动上报事件(如 S6F11)

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 断开 主动或被动终止会话
会话与连接生命周期管理 NOT CONNECTED CONNECTED SELECTED TCP 连接 S1F13/S1F14 Link Test 通信中 超时/断开 NOT CONNECTED 会话建立后,双方通过 Link Test 心跳维持连接;任何一方检测到超时都会强制断开 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 典型消息流示例

以下是一个典型的 设备端主动上报报警 的消息流:

  1. 设备端 发送 S5F1 (Alarm Report Send) 给主机端(Primary)。
  2. 主机端 收到后,回复 S5F2 (Alarm Report Acknowledge)(Secondary)。
  3. 如果主机端需要确认报警详情,可以发送 S5F3 (Enable/Disable Alarm) 给设备端。
  4. 设备端回复 S5F4 确认。
常见问题: 如果主机端未能在超时时间内回复 Secondary Message,设备端会重发 Primary Message 或触发通信超时错误。日志中表现为 T3 Timeout 或 Message Retry。
SECS/GEM 消息流模型示例 设备端 主机端 S5F1 (Alarm Report) W=1 Primary Message S5F2 (Ack) W=0 Secondary Message S5F3 (Enable Alarm) W=1 Primary Message S5F4 (Ack) W=0 Secondary Message 每条 Primary Message 必须对应一条 Secondary Message,否则触发 T3 超时 消息头中的 System Bytes 用于匹配请求与响应

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 超时记录,这些通常是问题定位的突破口。