当前位置: 首页 > news >正文

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不标准,毕竟系统都是国外的,并且很多年了。遇到这种情况那就只能厂商来适配,但这种场景不多。)

http://www.jsqmd.com/news/691368/

相关文章:

  • 2026年论文结论和参考文献AI率偏高攻略:尾部内容降AI完整处理方案
  • S5 Trekker户外Mesh通信设备解析与优化
  • GhostTrack -- IP/phone/username查询工具
  • 别再死记硬背Ceph架构图了!从PG、Pool到CRUSH,用大白话讲清数据到底怎么存的
  • 不只是投屏:用Scrcpy深度玩转坚果手机TNT,实现Win10下的键鼠无缝控制
  • 工业机器人装配仿真到现实的挑战与NVIDIA Isaac Lab解决方案
  • 在Pytest测试接口中设置全局请求头信息的最佳实践
  • Linux文件系统的类型和结构
  • 睿云联(Akuvox)联系方式查询:关于智能对讲与门禁解决方案的通用联系指引与背景了解 - 品牌推荐
  • [x-cmd] 即将在 v0.8.15 发布的 x free 内存专家模式
  • 2026年Q2宁国现代简约装修技术实操与本地参考:宁国别墅整装、宁国别墅装饰、宁国别墅设计、宁国别墅软装设计、宁国大平层选择指南 - 优质品牌商家
  • WarcraftHelper终极指南:让魔兽争霸3在Win10/Win11上完美运行的完整方案
  • 离散数学核心三剑客:命题逻辑、谓词逻辑与集合关系的实战精解
  • 网络补缺不缺
  • AI三重劫:影子AI、深度伪造与供应链投毒如何瓦解金融业信任基石
  • Claude浏览器:注入漏洞技术分析与XSS底层机制复现
  • 2026年互联网运营转行数据分析可行吗?需要哪些条件?
  • 2026年通辽装修名气TOP5推荐:通辽自建房装修/通辽装修工作室/通辽装修设计师/通辽装饰/通辽专业的装修/选择指南 - 优质品牌商家
  • java:访问限定修饰符
  • 别再只会测距了!用STM32+HC-SR04做个智能防撞小车(附完整代码)
  • 用ChatGPT+HTML/JS,10分钟生成你的专属文字冒险游戏(附完整代码)
  • 视频片段AI匹配原片 视频画面匹配软件 无忧省力 速橙软件-相同视频片段匹配系统
  • 工程师的隐形数字资产:如何让 AI 与跨国 Tech 巨头精准收录你的技术实力
  • WarcraftHelper终极指南:让魔兽争霸3在现代Windows系统上完美运行的免费方案
  • 如何选择郑州考研机构?2026年4月推荐评测口碑对比五家服务知名跨专业择校迷茫 - 品牌推荐
  • 紫光同创PGL50H开发板初体验:手把手教你用PDS 2022.1点亮第一个流水灯
  • Windows服务器修改默认远程端口3389
  • 小红书数据采集实战:xhs库架构解析与高级应用指南
  • 基于AWS Lex的云端智能客服系统设计与优化
  • 从FFmpeg命令到ZLM API:如何用addFFmpegSource和openRtpServer接口优雅地‘喂流’给ZLMediaKit