2026年03月14日

开源SECS/GEM Python驱动:3行代码连接半导体设备

在半导体制造中,SECS/GEM协议(SEMI E4/E5/E30/E37)是设备与主机系统通信的标准接口。无论是Applied Materials、Lam Research还是TEL的设备,都通过HSMS/SECS-II协议与MES、FDC、R2R等上层系统交换数据。

然而,现有的SECS/GEM通信方案要么是昂贵的商业软件(Brooks、Cimetrix),要么是过时的C/C++库。Python生态中一直缺少一个生产可用、配置驱动的SECS/GEM驱动。

今天,我们开源了 secsgem-driver — 一个基于Python asyncio的SECS/GEM设备通信驱动,已在NeuroBox产品线的实际产线中验证。

为什么我们选择开源

SECS/GEM协议本身是公开的SEMI标准,通信层不应该成为行业的技术壁垒。我们的核心价值在于上层的AI算法(虚拟量测、R2R调机、设备诊断),而非底层协议实现。开源通信驱动能让更多工程师快速接入设备数据,加速整个行业的AI化进程。

3行代码连接设备

from secsgem import SecsGemDriver

driver = SecsGemDriver("configs/amat_centura.yaml")
await driver.connect()
response = await driver.send("S1F1")  # Are You There

不需要手写任何消息结构体。设备的所有消息定义、变量、事件都在YAML配置文件中描述:

equipment:
  id: "CENTURA_001"
  type: "AMAT_CENTURA"
  vendor: "Applied Materials"

connection:
  mode: "active"
  ip_address: "192.168.10.101"
  port: 5000

messages:
  S1F1:
    stream: 1
    function: 1
    wait_bit: true
    description: "Are You There Request"

commands:
  START:
    description: "Start process"
    parameters:
      - name: "RECIPE_ID"
        type: "ASCII"
        required: true

换一台设备?换一个YAML文件就行,代码不用改。

核心特性

  • HSMS协议(SEMI E37)— 完整实现 Active/Passive 模式、Select/Deselect/Linktest、心跳检测
  • SECS-II编解码器(SEMI E5)— 支持所有数据类型:List、ASCII、Binary、Boolean、整数、浮点数
  • 配置驱动 — YAML设备配置文件,换设备不改代码
  • 异步架构 — 基于Python asyncio,非阻塞I/O
  • 自动重连 — 可配置的断线重连策略
  • 事件系统 — 装饰器订阅设备事件(S6F11)和报警(S5F1)
  • 类型安全 — Pydantic验证的配置,类型化API

适用场景

secsgem-driver 是一个纯协议层实现,可以作为以下系统的通信基础:

  • MES(制造执行系统)设备集成
  • 设备数据采集与监控
  • Run-to-Run(R2R)工艺控制
  • 虚拟量测(VM)系统
  • 故障检测与分类(FDC)
  • 设备健康管理(PHM)

与NeuroBox的关系

secsgem-driver 是 NeuroBox E系列 边缘AI平台的通信层。NeuroBox在此基础上增加了:

  • 物理信息神经网络(PINN)虚拟量测引擎
  • Trust-Region约束优化的R2R调机算法
  • 基于不确定性量化的故障诊断系统
  • TensorRT加速推理(<50ms延迟)

通信层开源,AI层商业化 — 这是我们认为对行业最健康的模式。

开始使用

pip install secsgem-driver

GitHub仓库:github.com/shensi8312/secsgem-driver

欢迎 Star、提 Issue、贡献代码。如果你在半导体设备通信方面有需求或问题,也欢迎 联系我们 交流。

💬 在线客服 📅 预约演示 📞 021-58717229 contact@ai-mst.com
📱 微信扫码
企业微信客服

扫码添加客服