news 2026/4/24 6:58:26

GEM 事件/报警系统的完整实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GEM 事件/报警系统的完整实现

——写给正在做国产半导体设备通信接口的研发工程师

系列文章目录

  1. 《SECS/GEM 协议介绍》

  2. 《HSMS(E37)通信层的正确实现方式》

  3. 《SECS-II 报文结构:工程师最容易犯的 10 个错误》

  4. 《GEM 事件/报警系统的完整实现》

  5. 《GEM300(E87/E90/E94)流程详解:Carrier → Job → Recipe》

  6. 《国产设备厂 SECS/GEM 接口常见问题与调试案例》

  7. 《如何设计一个可扩展的 SECS/GEM 驱动程序》

  8. 《如何用流程化工具做 Host/EAP 验收》


目录

系列文章目录

1.事件系统的核心结构(CEID → RPTID → VID)

2.事件触发流程

3. 报警系统的核心结构

Host 最容易拒绝你的 8 种错误

如何验证你的事件/报警系统是否正确?

成熟方案供应商选择

总结


在 GEM(E30)体系中,事件(Event)和报警(Alarm)是最容易出问题、也是最容易被 Host/EAP 重点检查的部分。(因为GEM300部分也会用到事件上报,不过300部分依赖的数据与200的数据路径不同)

在设备开发过程中需要良好的设计和整体测试,才能很好的交付这部分内容。大体上这部分的内容包含以下几点:

  • Host 收不到事件

  • 机台报警触发了但 Host 不认可(没有收到)

  • RPTID/VID 不一致

  • CEID 上报但 Host 不解析

  • 报警恢复(S5F2)漏发

  • 事件顺序错乱

  • 事件绑定的 VID 值不正确

这篇文章我会从工程角度讲清楚:

  • 事件系统应该如何设计

  • 报警系统应该如何实现

  • RPTID/VID 如何绑定

  • S6F11/S5F1/S5F2 如何构造

  • 如何保证 Host 100% 能解析

  • 如何避免国产设备厂最常见的坑

你看完这篇文章,就能实现一个可交付、可维护、可扩展的事件/报警系统。


1.事件系统的核心结构(CEID → RPTID → VID)

GEM 事件系统的本质是一个三层结构:

CEID(事件) └── RPTID(报告) └── VID(变量)

Host 订阅 CEID的行为,其实就是配置CEID的过程,而触发事件时的流程如下:

→ CEID 触发

→ 设备上报 S6F11

→ S6F11 中包含 RPTID

→ RPTID 中包含 VID

→ Host 根据 VID 解析事件内容

所以你必须实现:

  • CEID 注册表

  • RPTID 注册表

  • VID 注册表

  • CEID 与 RPTID 的绑定

  • RPTID 与 VID 的绑定

  • VID 的实时值获取

如果你缺任何一层,Host 都会报错。


2.事件触发流程

当设备内部发生某个事件(例如:Carrier Arrived、Door Open、Recipe Changed),你应该执行:

  1. 查找 CEID

  2. 找到所有 RPTID

  3. 找到 RPTID 对应的 VID 列表

  4. 获取每个 VID 的实时值

  5. 构造 S6F11 报文

  6. 发送 S6F11

具体如何使用,我会结合我们的团队的产品,单开一个系列介绍,请留意后续更新.


3. 报警系统的核心结构

报警系统比事件简单,但更容易出错。

报警有两个报文:

  • S5F1(ARS

  • S5F2(ARA

需要注意的是不管是触发报警还是清除报警,都是通过S5F1来实现的。

L,3 1.<ALCD> 2.<ALID> 3.<ALTX>

ALCD字段中按照bit位,既用来标记Alarm Set/Clear标记,也用来表达Alarm的报警等级(严重性)详细报警等级,读SEMI E5的ALCD字段解释。在下图的位置中

这里需要说明的是:

实现S5F1指令时,不要省略字段,尤其是ALTX,这是SEMI标准要求的字段,就算是空字符,也要强制占位。

还有一点需要说明的是,不能重复触发同一个报警,目前我们采取的方式是AlarmID 处于SET状态,上位机内部记录log,但不重复触发SxFy上报给HOST。


4.Host 最容易拒绝你的 8 种错误

错误影响
CEID 未使能EQP排查log发现CEID触发,但Host 无法收到
RPTID 未绑定Host 收到事件但内容为空
VID 类型错误Host 直接 S9F7
VID 顺序错误Host 解析错位
报警恢复漏发Host 认为设备一直报警
ALTX 为空Host 拒绝报警
CEID 多包一层 ListHost S9F7
VID 数量不一致Host 认为事件不完整

5.如何验证你的事件/报警系统是否正确?

结合调试排查经验,给出以下步骤:

✔ Host 是否能订阅事件(S2F33)

✔ Link RPTID 是否正确(S2F35)

✔ VID 是否存在

✔ Host 统一使能事件

✔ Host 是否能收到事件(S6F11)

关于报警的排查,

✔ 报警全局禁用(S5F3)

✔ 报警启用

✔ 报警触发是否正确(S5F1)

✔ 报警触发是否正确

✔ 是否存在重复报警

✔ 是否存在未恢复报警

在设计这部分时,可以由驱动程序提供对应的SV,让HOST可以直接通过S1F3就能了解当前机台处于Alarm Set状态的AlarmID。


6.成熟方案供应商选择

对于半导体设备的软件研发团队来说,如果希望将主要精力放在

  • 设备工艺逻辑

  • 上下位机控制

  • 核心算法上

那么 SECS/GEM 这一层完全具备外采的条件。

从工程角度看,SECS/GEM 本质上是“设备功能之上的调度层”,它需要稳定的协议栈、完整的状态机、规范的事件/报警系统以及 GEM300 的流程调度能力。这些内容既专业又繁琐,自己从零实现不仅周期长,还容易在验收阶段暴露兼容性问题。因此,选择成熟可靠的 SECS/GEM 组件,可以显著降低研发成本,加快设备上线节奏。

我们团队(ModuleMotion Systems)长期深耕这一领域,也有稳定落地的方案,如有需要可以私信交流。


总结

SECS/GEM中的 事件/报警系统的本质是“数据绑定 + 报文构造”

你只需要记住:

事件系统不是协议问题,而是数据结构问题。

报警系统不是逻辑问题,而是状态机问题。

只要你的数据结构设计正确,报文构造正确,Host 就一定能解析。(如果真的遇到Fab EAP不标准,毕竟系统都是国外的,并且很多年了。遇到这种情况那就只能厂商来适配,但这种场景不多。)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 6:56:07

Orange Pi R1 Plus开发板:高性能网络应用与嵌入式开发指南

1. Orange Pi R1 Plus 开发板概述Orange Pi R1 Plus 是深圳迅龙软件推出的一款高性能单板计算机&#xff0c;专为网络应用和嵌入式开发设计。作为Orange Pi系列的新成员&#xff0c;这款开发板在保持紧凑尺寸的同时&#xff0c;提供了出色的网络处理能力和丰富的软件支持。这款…

作者头像 李华
网站建设 2026/4/24 6:51:00

最简单的天气查询agent

使用ollama实现一个最简单的天气查询agent&#xff0c;使用了qwen3:0.6b模型&#xff0c;可以作为入门学习&#xff0c;所有代码由deepseek完成。案例在ubuntu完成。 一、安装ollama 参考菜鸟教程 https://www.runoob.com/ollama/ollama-install.html 安装完成后执行ollama …

作者头像 李华
网站建设 2026/4/24 6:50:57

MACKO-SpMV:低稀疏度下的GPU加速与存储优化

1. MACKO-SpMV&#xff1a;低稀疏度场景下的GPU加速革命稀疏矩阵向量乘法&#xff08;SpMV&#xff09;作为大型语言模型推理中的计算瓶颈&#xff0c;其性能直接影响着模型部署的可行性。传统方案在30%-90%的典型稀疏度区间表现不佳&#xff0c;而MACKO-SpMV通过存储格式与计算…

作者头像 李华
网站建设 2026/4/24 6:48:23

告别复杂配置!像素心智情绪解码器开箱即用体验分享

告别复杂配置&#xff01;像素心智情绪解码器开箱即用体验分享 1. 初见像素心智&#xff1a;当AI遇见16-bit像素风 第一次打开像素心智情绪解码器(Pixel Mind Decoder)时&#xff0c;我完全被它独特的视觉风格吸引了。这款基于M2LOrder核心引擎构建的工具&#xff0c;彻底颠覆…

作者头像 李华
网站建设 2026/4/24 6:43:52

【windows命令-网络命令、系统管理命令】

windows命令-网络命令、系统管理命令一、网络命令二、系统管理命令三、其他一、网络命令 1.ipconfig&#xff1a;查看本机IP信息&#xff08;ipconfig /all&#xff1a;完整信息&#xff08;MAC、DNS、DHCP等&#xff09;、ipconfig /release&#xff1a;释放当前IP、ipconfig…

作者头像 李华