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

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

——写给正在做国产半导体设备通信接口的研发工程师系列文章目录《SECS/GEM 协议介绍》《HSMSE37通信层的正确实现方式》《SECS-II 报文结构工程师最容易犯的 10 个错误》《GEM 事件/报警系统的完整实现》《GEM300E87/E90/E94流程详解Carrier → Job → Recipe》《国产设备厂 SECS/GEM 接口常见问题与调试案例》《如何设计一个可扩展的 SECS/GEM 驱动程序》《如何用流程化工具做 Host/EAP 验收》目录系列文章目录1.事件系统的核心结构CEID → RPTID → VID2.事件触发流程3. 报警系统的核心结构Host 最容易拒绝你的 8 种错误如何验证你的事件/报警系统是否正确成熟方案供应商选择总结在 GEME30体系中事件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 → VIDGEM 事件系统的本质是一个三层结构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你应该执行查找 CEID找到所有 RPTID找到 RPTID 对应的 VID 列表获取每个 VID 的实时值构造 S6F11 报文发送 S6F11具体如何使用我会结合我们的团队的产品单开一个系列介绍请留意后续更新.3. 报警系统的核心结构报警系统比事件简单但更容易出错。报警有两个报文S5F1ARSS5F2ARA需要注意的是不管是触发报警还是清除报警都是通过S5F1来实现的。L,3 1.ALCD 2.ALID 3.ALTXALCD字段中按照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 直接 S9F7VID 顺序错误Host 解析错位报警恢复漏发Host 认为设备一直报警ALTX 为空Host 拒绝报警CEID 多包一层 ListHost S9F7VID 数量不一致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不标准毕竟系统都是国外的并且很多年了。遇到这种情况那就只能厂商来适配但这种场景不多。

相关文章:

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

——写给正在做国产半导体设备通信接口的研发工程师 系列文章目录 《SECS/GEM 协议介绍》 《HSMS(E37)通信层的正确实现方式》 《SECS-II 报文结构:工程师最容易犯的 10 个错误》 《GEM 事件/报警系统的完整实现》 《GEM300(…...

Windows下ESP32开发环境搭建:Clion 2024.x + ESP-IDF v5.x 最新版配置指南

Windows下ESP32开发环境搭建:Clion 2024.x ESP-IDF v5.x 最新版配置指南 在物联网开发领域,ESP32凭借其出色的性价比和丰富的功能接口,已经成为众多硬件开发者的首选平台。随着ESP-IDF框架的不断迭代,最新发布的v5.x版本带来了诸…...

终极指南:3个核心模块掌握京东抢购助手自动化

终极指南:3个核心模块掌握京东抢购助手自动化 【免费下载链接】jd-assistant 京东抢购助手:包含登录,查询商品库存/价格,添加/清空购物车,抢购商品(下单),查询订单等功能 项目地址: https://gitcode.com/…...

别再手动跑代码了!用这个在线工具5分钟搞定DESeq2差异分析(附完整流程)

零代码时代:5分钟完成DESeq2差异分析的在线工具全攻略 生物信息学分析的门槛正在被新技术不断降低。还记得十年前,要完成一次RNA-seq差异表达分析,研究者必须掌握R语言基础、理解Bioconductor生态系统、能调试各种报错信息——这往往需要数周…...

跟北航何静学AI科研,科研小白也能弯道超车

北京航空航天大学90后副教授何静全程讲授,北京大学出版社主办,“从AIGC到OpenClaw:赋能论文撰写、课题申报和智能体构建工作坊(第1期)”。本课程将于2026年5月16日至17日举办,采用边讲边操作的方式&#xf…...

从FFmpeg命令到ZLM API:如何用addFFmpegSource和openRtpServer接口优雅地‘喂流’给ZLMediaKit

从FFmpeg命令到ZLM API:流媒体注入的工程化实践 在流媒体服务架构中,如何将外部视频源稳定注入到媒体服务器是个经典问题。传统做法是直接用FFmpeg命令行推流到RTMP端口,这种方式简单直接但缺乏弹性——当需要管理数十个输入流时,…...

别被代理忽悠了!程序员写给程序员的专利技术交底书避坑指南

技术交底书撰写实战:程序员如何与专利代理高效协作 在科技公司里,专利工程师和研发人员经常陷入一种微妙的博弈——技术专家抱怨代理机构"根本不懂我的创新",而专利律师则苦恼于收到的技术文档"像天书一样难懂"。这种沟通…...

清华PPT模板:3分钟打造专业学术汇报的终极方案

清华PPT模板:3分钟打造专业学术汇报的终极方案 【免费下载链接】THU-PPT-Theme 清华主题PPT模板 项目地址: https://gitcode.com/gh_mirrors/th/THU-PPT-Theme 还在为学术汇报的视觉呈现而烦恼吗?每次答辩或演讲前,你是否花费大量时间…...

时间序列预测模型开发全流程指南

1. 时间序列预测模型开发流程概述开发一个高效的时间序列预测模型需要系统化的方法论。与常规的机器学习任务不同,时间序列数据具有时间依赖性、季节性和趋势性等独特特征,这要求我们采用专门的处理流程。本文将详细介绍从问题定义到模型部署的完整开发周…...

工业相机图像传输卡顿?手把手教你为Ubuntu 20.04的RTL8156网卡开启9000字节巨型帧

工业相机图像传输卡顿?手把手教你为Ubuntu 20.04的RTL8156网卡开启9000字节巨型帧 在工业视觉和高带宽数据传输场景中,稳定的图像传输是保证系统可靠性的关键。许多工程师在使用USB转以太网适配器连接工业相机时,常常遇到传输卡顿、丢包等问题…...

别再只信后缀名了!用Java代码教你识别文件的‘身份证’(文件头魔数校验实战)

别再只信后缀名了!用Java代码教你识别文件的‘身份证’(文件头魔数校验实战) 你是否曾经遇到过这样的情况:下载了一个看似无害的.jpg图片,打开后却发现电脑中毒了?或者在上传文件到网站时,系统明…...

损失函数大全:从 MSE 到 Focal Loss,到底该用哪个?

💻 完整代码 对比实验: GitHub 仓库 📖 配套教程: CSDN 专栏 如果觉得有用,欢迎 ⭐ Star 支持! 🎯 为什么损失函数这么重要? 大白话: 损失函数就是告诉模型"你错得…...

基于AWS Lex的云端智能客服系统设计与优化

1. 项目背景与核心价值去年接手公司客户服务系统升级时,我发现传统工单系统的响应延迟和人力成本问题日益突出。当时市面上成熟的SaaS客服工具要么功能过剩,要么定制性不足,于是萌生了自建云端智能客服的想法。这个项目从零开始完全基于云服务…...

java:访问限定修饰符

1.private关键字在同一包的同一类简单来说就是的一个类中才可以使用。代码示例:这里是在不同类中,在测试类中发生报错。这里在同一个类中就不会报错了。2.default关键字default关键字是没有写关键字且没有默认关键字,就是default关键字。下面…...

[x-cmd] 即将在 v0.8.15 发布的 x free 内存专家模式

即将在 v0.8.15 发布的 x free 内存专家模式 如果你想持续获取更多相关资讯,欢迎关注 x-cmd 博客。 在实现 linux 的 x free 时 , 发现 linux 有很多内存管理细节,这些细节基本描绘了 linux 内存的运作模式。 Linux 版的 x free 反向驱动我思…...

别再死记硬背Ceph架构图了!从PG、Pool到CRUSH,用大白话讲清数据到底怎么存的

从快递分拣系统理解Ceph存储:PG、Pool与CRUSH的实战逻辑 当你第一次看到Ceph架构图中那些密密麻麻的PG、Pool、OSD和CRUSH规则时,是否感觉像在解读天书?别担心,这就像让一个从没见过快递分拣中心的人直接看自动化物流系统的电路图…...

别再死记硬背遗传算法了!用Python实战POX/JBX交叉,搞定流水车间调度

用Python实战遗传算法:POX/JBX交叉算子解决流水车间调度问题 每次看到遗传算法的理论推导都头大?论文里的数学公式让人望而生畏?今天我们就用Python代码,手把手带你实现POX和JBX这两种经典交叉算子,解决实际的流水车间…...

企业财务数字化转型:从RPA到AI Agent的落地路径

在企业数字化转型中,财务一直是最优先落地的场景之一。原因很现实:流程标准、数据集中、效果可量化。但也正因为“好做”,很多企业对财务自动化的理解,长期停留在一个比较初级的阶段,随着AI能力的引入,财务…...

乳腺癌生存预测模型开发与实践指南

1. 乳腺癌患者生存概率模型开发指南在临床医学研究中,预测患者生存概率一直是肿瘤学领域的核心课题。乳腺癌作为全球女性最常见的恶性肿瘤,其生存率预测对治疗方案选择、预后评估和医疗资源分配都具有重要意义。本文将系统介绍如何构建一个科学可靠的乳腺…...

从ZBrush高模到游戏引擎:3dMax UV展开全流程避坑指南(含Headus UVLayout实战)

从ZBrush高模到游戏引擎:3dMax UV展开全流程避坑指南(含Headus UVLayout实战) 在次世代游戏角色与道具制作中,UV展开往往是决定贴图质量的关键环节。当艺术家们花费数十小时在ZBrush中雕琢出高精度模型后,如何将这些细…...

别再傻傻重编译了!Vivado 2023.2 与 ModelSim 10.7c 联合仿真报错 vsim-19 的快速定位与修复

从根源解决Vivado与ModelSim联合仿真中的vsim-19报错 遇到vsim-19报错时,很多工程师的第一反应是重新编译整个库——这就像发现电脑卡顿就立刻重装系统一样,虽然可能解决问题,但效率极低。本文将带你深入理解Vivado与ModelSim联合仿真的工作机…...

WarcraftHelper终极指南:让魔兽争霸3在Win10/Win11上完美运行的完整方案

WarcraftHelper终极指南:让魔兽争霸3在Win10/Win11上完美运行的完整方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在…...

别再死记硬背Apriori了!用Python手把手带你跑通超市购物篮分析(附完整代码和数据集)

从超市购物篮到商业洞察:Python实战Apriori算法全流程解析 走进任何一家现代超市,货架上的商品摆放绝非随意为之。当你在购买啤酒时顺手拿了一袋薯片,或是选购婴儿奶粉时带上了尿不湿,这些看似偶然的消费行为背后,隐藏…...

Qwen3-4B-Instruct部署案例:混合精度推理(AMP)开启与吞吐量提升实测

Qwen3-4B-Instruct部署案例:混合精度推理(AMP)开启与吞吐量提升实测 1. 模型概述 Qwen3-4B-Instruct-2507是Qwen3系列的端侧/轻量旗舰模型,专为高效推理和实际应用场景优化。该模型原生支持256K token(约50万字&…...

python代码:基于DDPG(深度确定性梯度策略)算法的售电公司竞价策略研究

python代码:基于DDPG(深度确定性梯度策略)算法的售电公司竞价策略研究 关键词:DDPG 算法 深度强化学习 电力市场 发电商 竞价 说明文档:完美复现英文文档,可找我看文档 主要内容: 代码主要…...

SCons构建MDK工程翻车实录:从‘No module named building’到完美运行的踩坑全指南

SCons构建MDK工程实战:从报错排查到工程定制的完整指南 第一次接触SCons构建MDK工程时,那种从满屏红色报错到最终看到"Build Complete"的成就感,至今记忆犹新。作为替代传统IDE手动配置的自动化方案,SCons确实能显著提升…...

Jetson Nano新手必看:jtop命令报错‘jetson_stats.service not active’的完整解决流程

Jetson Nano新手必看:jtop命令报错‘jetson_stats.service not active’的完整解决流程 刚拿到Jetson Nano的开发者,往往迫不及待想体验这款强大边缘计算设备的性能监控功能。作为官方推荐的系统监控工具,jtop以其直观的界面和丰富的参数展示…...

避坑指南:GD32F470的SPI FIFO与DMA刷屏时,为何屏幕会闪烁或花屏?

GD32F470 SPI DMA刷屏异常全解析:从FIFO机制到数据对齐的深度避坑指南 当你在GD32F470上实现SPI DMA刷屏时,是否遇到过屏幕闪烁、花屏或数据错位的诡异现象?这背后往往隐藏着SPI FIFO机制、DMA传输边界、数据宽度匹配等关键技术细节。本文将带…...

Windows服务器修改默认远程端口3389

修改默认远程访问端口(如Windows的RDP,默认端口3389 )可以增强系统安全性,通过避免自动化攻击和恶意扫描针对常用端口的攻击,从而保护服务器或服务免受未授权访问的风险服务器系统:Windows Server 2022 修改…...

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

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