3. SECS标准体系概览

在半导体与泛半导体工厂自动化中,SECS/GEM 并不是一个单一协议,而是一整套由 SEMI 组织定义的标准族。很多初学者会把 SECS-I、SECS-II、HSMS、GEM 混为一谈,导致在设备联机、选型、排障时抓不住重点。理解这套标准体系的关键,是先分清“传输层、消息层、行为层、场景层”四个层次,再理解每个标准解决什么问题、不解决什么问题。

核心记忆法:SECS-I / HSMS 负责“怎么把字节送过去”,SECS-II 负责“消息长什么样”,GEM 负责“设备应该怎么表现”,E30/E37/E5/E4 负责“在具体场景中怎么用”。

一、标准层次关系:从线缆到行为

SECS 标准族可以按 OSI 模型类比理解。最底层是物理与链路传输,中间是消息语义,最上层是设备行为与场景应用。它们之间是依赖关系,而不是替代关系。

  • SECS-I(E4):基于 RS-232 串行链路的传输标准,定义了点对点、半双工、块传输、超时与重试机制。它解决的是“在串口上如何可靠地传 SECS 消息”。
  • HSMS(E37):High-Speed SECS Message Services,基于 TCP/IP 的高速传输标准,支持一个设备与多个主机连接、异步通信、心跳与选择状态。它是现代工厂自动化的主流传输方式。
  • SECS-II(E5):定义消息内容的标准,包括消息结构、数据项格式、流(Stream)与功能(Function)编号,例如 S1F1、S2F41。它不关心底层是串口还是 TCP。
  • GEM(E30):Generic Equipment Model,定义设备在 SECS-II 之上应具备的通用行为,包括状态模型、事件报告、报警、配方管理、远程命令、数据采集等。它回答“设备应该怎么配合主机”。
  • E4 / E5 / E30 / E37:分别对应 SECS-I、SECS-II、GEM、HSMS 的标准编号,是同一体系的不同编号表达。

二、各标准的作用与适用边界

理解边界比记住编号更重要。SECS-I 和 HSMS 是“二选一”的传输方式,SECS-II 是两者共用的消息语言,GEM 是建立在 SECS-II 之上的行为规范。E30 不规定传输方式,E37 也不规定消息语义,E5 不规定设备行为。它们各司其职,组合使用。

标准 层次 核心作用 适用边界
SECS-I(E4) 传输层 RS-232 串行传输、块传输、超时重试 老设备、低速点对点场景;不适用于多主机并发
HSMS(E37) 传输层 TCP/IP 高速传输、多连接、心跳、选择状态 现代工厂主流;需要网络与端口配置
SECS-II(E5) 消息层 定义消息结构、数据项、Stream/Function 只定义消息格式,不定义设备行为
GEM(E30) 行为层 状态模型、事件、报警、配方、远程命令 依赖 SECS-II;不规定底层传输
E30 / E37 / E5 / E4 编号体系 SEMI 标准编号,分别对应 GEM、HSMS、SECS-II、SECS-I 编号用于文档与合规声明,不是独立协议

三、方法流程:从设备联机到场景落地

实际项目中,标准体系的落地通常遵循“先传输、再消息、后行为、最后场景”的顺序。以下是一个典型的设备联机流程:

  1. 确定传输方式:新设备优先选 HSMS(E37),老设备若只有串口则用 SECS-I(E4)。
  2. 建立连接:HSMS 下设备与主机通过 TCP 端口建立连接,进入选择状态(Select)后才能收发消息。
  3. 验证消息层:用 S1F1 在线确认、S1F13 建立通信,确认 SECS-II 消息能正常解析。
  4. 启用 GEM 行为:配置状态模型、事件报告、报警、配方管理等,使设备符合 E30 要求。
  5. 场景化应用:根据工厂需求,叠加 E30 之外的场景标准,如 E5 消息扩展、E37 多连接、E4 兼容等。
典型 HSMS 连接建立过程:
1. 设备监听 TCP 5000 端口
2. 主机发起 TCP 连接
3. 主机发送 Select.req
4. 设备回复 Select.rsp
5. 双方进入 Selected 状态
6. 主机发送 S1F13(Establish Communications Request)
7. 设备回复 S1F14,通信建立完成

四、案例与场景:为什么不能只讲 SECS-II

某封装厂在导入一台新划片机时,设备厂商声称“支持 SECS-II”,但联机后主机无法获取设备状态。排查发现:设备只实现了 SECS-II 消息收发,没有实现 GEM 的状态模型和事件报告。主机发送 S1F3 查询状态,设备能回复,但设备不会主动上报状态变化,也不会在报警时发送 S5F1。这就是典型的“有消息层、缺行为层”。

另一个案例是某老厂设备只有 SECS-I 串口,主机却按 HSMS 配置,导致连接始终失败。问题不在 SECS-II,而在传输层不匹配。此时需要增加协议转换网关,或改用 SECS-I 驱动。

选型建议:新项目优先要求设备支持 HSMS + SECS-II + GEM;老设备改造时,先确认传输层是 SECS-I 还是 HSMS,再确认是否具备 GEM 行为。只写“支持 SECS”而不写具体标准编号的规格书,必须追问清楚。

五、常见误区与复盘

  • 误区一:SECS-II 等于 GEM。 SECS-II 只是消息格式,GEM 才是设备行为规范。没有 GEM,主机很难做自动化调度。
  • 误区二:HSMS 可以替代 SECS-II。 HSMS 只负责传输,消息内容仍由 SECS-II 定义,两者是互补关系。
  • 误区三:E30 包含 E37。 E30 是 GEM 行为标准,E37 是 HSMS 传输标准,编号不同、层次不同,不能互相包含。
  • 误区四:所有设备都必须支持全部标准。 实际项目中,设备可能只支持部分 GEM 功能,需在规格书中明确功能清单。
排障顺序建议:先查物理层与传输层(SECS-I 线缆 / HSMS 端口与 Select 状态),再查消息层(SECS-II 的 Stream/Function 与数据格式),最后查行为层(GEM 状态模型、事件、报警)。顺序颠倒会浪费大量时间。
SECS 标准体系层次关系 传输层 → 消息层 → 行为层 → 场景应用层 场景应用层 E30 GEM 行为规范 · 状态模型 · 事件报告 · 报警 · 配方管理 · 远程命令 · 数据采集 适用边界:依赖 SECS-II,不规定底层传输方式 消息层 E5 SECS-II · Stream/Function · 数据项格式 · 消息结构 · S1F1/S1F13/S2F41/S5F1 适用边界:只定义消息格式,不定义设备行为 传输层 E37 HSMS · TCP/IP · 多连接 · 心跳 · Select 状态 E4 SECS-I · RS-232 · 点对点 · 块传输 · 超时重试 适用边界:二选一,不定义消息语义 物理与链路层 RS-232 串口 · RJ45 以太网 · TCP 端口 · 线缆与连接器 行为规范 消息语义 字节传输 物理连接 SECS-I 与 HSMS 二选一;SECS-II 为共用消息层;GEM 为设备行为层

总结来看,SECS 标准体系是一个分层协作的整体。SECS-I 和 HSMS 解决传输,SECS-II 解决消息,GEM 解决行为,E30/E37/E5/E4 是它们的标准编号。只有把层次关系、作用与边界同时看清,才能在设备联机、选型、排障和验收中做出正确判断。