1. SECS/GEM 协议概述:半导体工厂自动化中的角色、HSMS 与 SECS-I 传输层对比
1.1 半导体工厂自动化中的核心角色
在半导体与 FPD(平板显示)制造中,工厂自动化(Factory Automation, FA)的核心目标是实现设备与上位主机(Host)之间的数据交换与远程控制。SECS/GEM(SEMI Equipment Communications Standard / Generic Equipment Model)正是这一生态中的“通用语言”。
SECS/GEM 协议栈在工厂自动化中扮演以下关键角色:
- 设备连接层: 定义物理连接与数据帧格式(SECS-I 或 HSMS),确保数据包能在 RS-232 或 TCP/IP 网络上可靠传输。
- 消息标准化层: 通过 SECS-II 消息格式(Stream & Function),将设备状态、报警、事件、数据变量等抽象为标准化报文,使不同厂商的设备能被同一套 MES/APC 系统管理。
- 设备行为模型层: GEM 标准定义了设备的状态模型(如 INIT、IDLE、PROCESSING)、报警模型、事件通知模型、远程命令模型等,让主机能够以统一方式控制设备。
- 数据采集与追溯层: 支持 Trace 数据流、变量订阅、报警触发记录,为良率分析、设备健康预测提供实时数据源。
关键认知: 没有 SECS/GEM,半导体工厂将陷入“设备孤岛”——每台设备都需要定制接口,MES 系统无法实现统一的调度、报警管理和数据采集。
1.2 SECS/GEM 协议栈分层结构
SECS/GEM 协议栈从下至上分为四个层次,每一层解决不同的问题:
| 层次 | 协议/标准 | 主要功能 | 典型应用场景 |
|---|---|---|---|
| 物理/传输层 | SECS-I / HSMS | 定义物理连接(RS-232 或 TCP/IP)、数据帧格式、超时重传机制 | 设备与主机之间的原始字节流传输 |
| 消息层 | SECS-II | 定义 Stream & Function 消息结构、Item 数据类型(如 ASCII、U4、F8、List) | 封装报警上报(S5F1)、事件通知(S6F11)、变量读取(S1F3)等具体消息 |
| 设备行为模型层 | GEM (E30/E5) | 定义设备状态机、报警模型、事件模型、远程命令、数据收集计划(DCP) | 主机通过 GEM 标准接口控制设备启停、订阅报警事件、启动 Trace 数据采集 |
| 应用层 | E39/E40/E87/E90 等 | 面向特定场景的扩展标准(如 Carrier 管理、Job 管理、Substrate 追踪) | 光刻机、刻蚀机、检测设备等复杂机台的物料流与工艺流管理 |
实战提示: 在排查报警事件联动问题时,最常接触的是 SECS-II 消息层(S5F1/S5F2 报警消息、S6F11/S6F12 事件消息)和 GEM 设备状态模型。传输层问题通常表现为“连接断开”或“超时”,而非报警内容错误。
1.3 HSMS 与 SECS-I 传输层对比
SECS-I 和 HSMS 是 SECS/GEM 协议栈中两个可选的传输层协议。虽然它们都承载相同的 SECS-II 消息,但在物理介质、连接方式、性能特征上存在显著差异。以下从多个维度进行对比:
| 对比维度 | SECS-I | HSMS |
|---|---|---|
| 物理介质 | RS-232 串口(通常 9600 bps ~ 19200 bps) | TCP/IP 以太网(10/100/1000 Mbps) |
| 连接方式 | 点对点(Point-to-Point),一对一线缆 | 网络连接,支持多设备共享同一网络 |
| 传输速率 | 低(典型 9.6 Kbps ~ 115.2 Kbps) | 高(可达 100 Mbps 以上) |
| 最大消息长度 | 受限于串口缓冲区,通常 ≤ 4 KB | 理论上无限制(实际受 TCP 缓冲区限制,可达 MB 级) |
| 连接管理 | 无显式连接握手,物理线缆接通即视为连接 | 使用 T3/T5/T6/T7/T8 超时定时器管理连接状态,支持主动断开与重连 |
| 多会话支持 | 不支持,单链路单会话 | 支持,同一 TCP 连接可承载多个逻辑会话(Session) |
| 可靠性机制 | 硬件流控(RTS/CTS)+ 软件 XON/XOFF + 块校验(CRC) | TCP 协议本身提供可靠传输 + 应用层超时重传(T3 超时) |
| 典型应用场景 | 老旧设备(1990s ~ 2000s 初期)、低速传感器、非关键数据采集 | 现代半导体设备(2000s 至今)、高速数据采集、实时报警联动 |
避坑指南: 在排查报警事件联动问题时,如果设备使用 SECS-I 传输层,要特别关注串口线缆质量、波特率匹配、流控设置。HSMS 环境则要重点检查 TCP 连接状态、T3 超时设置(默认 45 秒)以及防火墙规则。很多“报警不上报”的案例,根源是传输层连接已断开,而非 GEM 模型配置错误。
1.4 HSMS 与 SECS-I 协议栈架构对比图
下图直观展示了两种传输层在 SECS/GEM 协议栈中的位置差异:
1.5 传输层选择对报警事件排查的影响
传输层的差异直接影响报警事件排查时的关注点:
- SECS-I 环境排查要点:
- 检查串口线缆是否松动、屏蔽是否良好(电磁干扰会导致数据帧错误)。
- 确认波特率、数据位、停止位、校验位是否与设备配置一致。
- 关注硬件流控(RTS/CTS)是否启用,流控不匹配会导致数据丢失。
- SECS-I 没有显式的心跳机制,连接状态只能通过消息响应超时间接判断。
- HSMS 环境排查要点:
- 检查 TCP 连接状态(netstat 或设备日志查看是否处于 ESTABLISHED 状态)。
- 确认 T3 超时(消息响应超时)设置是否合理,默认 45 秒,过短会导致正常消息被误判为超时。
- 检查防火墙是否阻止了 HSMS 端口(通常为 5000、5001、9999 等)。
- HSMS 支持 Select/Deselect 会话管理,排查时需确认当前会话是否处于 Selected 状态。
实战建议: 在排查报警事件联动问题时,建议先通过设备日志或网络抓包确认传输层是否正常。对于 HSMS 环境,可以使用 Wireshark 抓取 HSMS 数据包,观察 T3 超时重传和 Select 响应;对于 SECS-I 环境,可以使用串口监听工具(如 AccessPort)查看原始字节流。
1.6 本章小结
SECS/GEM 协议是半导体工厂自动化的基石,它通过标准化的消息格式和设备行为模型,实现了主机与设备之间的无缝集成。传输层作为协议栈的最底层,决定了数据通信的物理方式和性能特征:
- SECS-I 适用于老旧设备和低速场景,排查重点在串口物理层和流控配置。
- HSMS 适用于现代高速网络环境,排查重点在 TCP 连接状态和超时参数。
- 无论使用哪种传输层,SECS-II 消息层和 GEM 设备行为模型是报警事件排查的核心内容,后续章节将深入讲解。