1. 课程导入与EAP通信全景
在半导体与泛半导体制造中,设备不是孤立运转的机器,而是产线数据链路的起点。EAP(Equipment Automation Program,设备自动化程序)位于设备与上层制造执行系统之间,负责把设备的运行状态、工艺参数、批次信息、报警事件翻译成可被MES、SPC、RMS、AMHS等系统消费的数据,同时把上层下发的配方、派工、控制指令可靠地送进设备。没有EAP,设备就是信息孤岛;EAP不稳定,整条产线的自动化就会在设备侧断裂。
本课程关注的不是单个EAP客户端,而是支撑成百上千台设备并发接入的设备通信中间件。它的职责边界可以概括为四件事:协议适配、连接与状态管理、消息路由与转换、可靠性与可观测性。协议适配解决“设备说什么语言”;连接与状态管理解决“设备现在是否在线、是否可通信”;消息路由与转换解决“这条数据该给谁、以什么格式给”;可靠性与可观测性解决“断线后能否恢复、问题能否定位”。
协议生态:SECS/GEM、EDA与OPC UA
半导体设备通信最经典的是SECS/GEM体系。SECS-II定义消息语义,HSMS定义基于TCP/IP的会话与连接管理,GEM定义设备应具备的标准行为模型,包括状态模型、报警、事件、变量、配方、数据采集等。EAP与设备之间通常建立HSMS连接,通过S1F13/S1F14建立通信,通过S1F1/S1F2做在线确认,通过S6F11事件报告上报状态变化,通过S2F33/S2F35配置报告与链接,通过S1F3/S1F4按需读取状态变量。这些消息不是“随便发”,而是受GEM状态模型和报告机制约束。
EDA(Equipment Data Acquisition)面向更高频、更结构化的数据采集,典型基于SEMI E132、E134、E164等标准,强调客户端订阅、数据收集计划、元数据描述和高效传输。它适合先进制程中对设备参数、传感器数据、腔体状态的高密度采集。OPC UA则更多出现在泛半导体、光伏、锂电、面板等场景,提供信息模型、地址空间、订阅发布和安全通道,适合设备类型多样、数据模型需要统一表达的产线。三者并非互斥:一台设备可能同时提供SECS/GEM接口和OPC UA接口,中间件需要按设备能力选择接入方式。
中间件的职责边界与高并发目标
很多团队一开始会把EAP写成“每台设备一个进程、每个进程一个Socket”的脚本集合。设备少时可行,设备上到几百台后,问题会集中爆发:连接数暴涨、线程切换开销大、断线重连风暴、消息积压、状态不一致、故障无法定位。中间件要解决的不是“能不能连”,而是“在大量设备同时在线、同时上报、同时下发时,仍然稳定、可观测、可恢复”。
本课程最终要交付的高并发接入中间件,目标可以量化为几个可验证指标:单节点支撑不少于2000台设备并发连接;消息端到端延迟P99不超过200毫秒;设备断线后5秒内完成重连并恢复订阅;关键事件与命令消息不丢失、可追溯;单设备故障不影响其他设备;支持水平扩展,通过增加节点线性提升接入能力。这些指标不是口号,而是后续架构设计、线程模型、序列化、背压、限流、熔断、监控等所有技术选择的判断依据。
| 能力维度 | 典型问题 | 中间件应对方式 |
|---|---|---|
| 协议适配 | 设备协议多样,SECS-II、EDA、OPC UA混用 | 插件化协议栈,统一内部消息模型 |
| 连接管理 | 断线、半开连接、重连风暴 | 连接池、心跳检测、指数退避重连 |
| 消息路由 | 事件、命令、数据点混杂,消费者不同 | 主题路由、优先级队列、背压控制 |
| 可靠性 | 消息丢失、重复、顺序错乱 | 持久化、幂等键、确认与重试机制 |
| 可观测性 | 故障定位慢,缺少设备级指标 | 结构化日志、指标、链路追踪 |