3. SECS/GEM协议族关系

很多初学者会把“SECS/GEM”当成一个单独协议来理解,实际上它是一组 SEMI 标准的集合。设备端要真正实现“可被工厂主机接入、可被远程监控、可被自动派工”,往往需要同时满足多个标准,每个标准负责通信链路、消息语义、状态模型或场景行为中的某一段。理解 E4、E5、E30、E37 等标准之间的层次关系,是拆解设备端通信功能的第一步。

核心结论:E4 解决“怎么连”,E5 解决“消息长什么样”,E30 解决“设备状态怎么表达”,E37 解决“异常和事件怎么上报”。它们不是互相替代,而是从下到上叠加成一套可互操作的设备通信能力。

一、协议族的层次模型:从链路到语义再到行为

可以把 SECS/GEM 协议族看成一个四层结构。最底层是物理与链路层,由 SEMI E4(SECS-I)和 SEMI E37(HSMS)承担;往上是消息编码与语义层,由 SEMI E5(SECS-II)定义;再往上是设备行为与状态模型层,由 SEMI E30(GEM)定义;最上层是特定场景的附加规范,例如 E37 的高性能传输、E5 的扩展消息、E30 的状态机与报警管理等。它们的关系不是并列,而是“下层提供通道,上层提供含义”。

SECS/GEM 协议族层次关系 下层提供通道与编码,上层提供语义与行为 场景附加规范层 E37 高速传输 · E5 扩展消息 · E30 报警/事件/远程命令 行为与场景 SEMI E30(GEM) 设备状态模型 · 数据采集 · 报警管理 · 远程命令 · 事件报告 设备行为 SEMI E5(SECS-II) 消息结构 · 数据项格式 · 流/功能码 · 事务语义 消息语义 SEMI E4(SECS-I) / SEMI E37(HSMS) 串行链路 · TCP/IP 链路 · 连接管理 · 超时与重试 物理与链路 抽象层级升高 依赖关系向下 E4/E37 负责“把字节送到” · E5 负责“字节代表什么” · E30 负责“设备该怎么做” 缺少任一层,主机都无法完成完整的设备接入与自动化控制

二、各标准的功能分工与关键参数

E4(SECS-I)是早期基于 RS-232 串行链路的传输标准,定义了波特率、字符格式、块传输、握手与重试机制。它的典型参数包括波特率 9600/19200/38400、块大小、T1 到 T4 超时等。E37(HSMS)则是为 TCP/IP 网络设计的传输标准,使用端口号(常见 5000)、连接模式(主动/被动)、心跳与选择超时。E5(SECS-II)定义了消息的流(Stream)和功能(Function),例如 S1F1 是“Are You There”,S1F13 是“Establish Communications”,S6F11 是“Event Report”。E30(GEM)则把这些消息组织成设备行为,例如状态机、报警、事件、变量采集和远程命令。

标准 层次 核心职责 典型对象/参数
SEMI E4 链路层 串行链路传输、块握手、超时重试 RS-232、波特率、T1~T4
SEMI E37 链路层 TCP/IP 传输、连接管理、心跳 端口 5000、Active/Passive、T5~T8
SEMI E5 消息层 消息结构、数据项、流/功能码 S1F1、S1F13、S6F11、L/A/B格式
SEMI E30 行为层 设备状态模型、报警、事件、远程命令 状态机、CEID、RPTID、VID

三、方法流程:设备端如何按层次实现

设备端实现时,通常按“自下而上”的顺序推进。第一步,选择链路:如果设备支持网口,优先用 E37/HSMS;如果是老设备串口,则用 E4/SECS-I。第二步,实现 E5 消息编解码:把主机发来的字节流解析成 Stream/Function 和数据项,并把设备回复编码成标准格式。第三步,实现 E30 行为:建立设备状态机,定义事件、报警、变量和报告,并处理远程命令。第四步,联调验证:用主机模拟器发送 S1F1、S1F13、S6F11 等消息,检查设备是否正确响应。

设备端实现顺序示例:
1. 链路层:HSMS 被动模式监听 5000 端口
2. 消息层:解析 S1F13 -> 回复 S1F14
3. 行为层:定义 CEID=1001(报警触发)
4. 上报:S6F11 携带 RPTID=2001,VID=3001
5. 验证:主机收到事件报告并确认 S6F12

四、案例场景:一条报警从设备到主机

假设设备发生“腔体温度过高”报警。设备端 E30 层检测到报警条件成立,生成 CEID=1001 的事件;E5 层把该事件编码为 S6F11 消息,携带报告 ID 和变量值;E37 层通过 TCP 连接把消息发送给主机;主机收到后回复 S6F12 确认。如果链路中断,E37 的心跳超时会触发重连,E4 场景下则由 T1~T4 超时控制重试。整个过程体现了“E30 决定发什么,E5 决定怎么编码,E37/E4 决定怎么送达”。

排障时先分层定位:主机收不到消息,先查 E37 连接是否建立;连接正常但消息解析失败,查 E5 格式;消息能解析但行为不对,查 E30 的 CEID/RPTID/VID 配置。

五、常见误区与复盘

  • 误区一:只实现 E5 就算支持 SECS/GEM。 实际上没有 E30 的状态模型和事件定义,主机无法做自动化控制。
  • 误区二:把 E37 当成 E30 的替代。 E37 只是传输方式,不定义设备行为。
  • 误区三:忽略 E4 与 E37 的共存。 部分设备同时支持串口和网口,需要明确主用链路和切换策略。
  • 复盘要点: 先画层次图,再逐层核对消息日志,能快速定位是链路、编码还是行为配置问题。