半导体设备软件(八):SECS/GEM 通信基础

SECS/GEM 经常被当作一个协议名,实际是分层标准体系。理解每层解决什么问题,比背诵消息编号更重要。标准正文持续修订,项目实现应以客户指定版本和正式授权文本为准。

1. 三个关键层次

  • SEMI E5(SECS-II) 定义消息内容、数据类型以及 Stream/Function 组织;
  • SEMI E37(HSMS) 定义通过 TCP/IP 传输 SECS-II 消息的方式;
  • SEMI E30(GEM) 在消息之上定义设备通信与控制行为模型。

因此,连接成功只证明传输层可用,不代表 GEM 行为符合约定;能解析 SxFy,也不代表状态模型、事件和报警已经正确实现。

2. Primary、Secondary 与事务

SECS-II 消息用 Stream 和 Function 标识。Primary 消息可要求 Secondary 回复,系统字用于关联事务。实现必须处理超时、重复、乱序和连接中断,并限制并发未完成事务数量。

设备主动上报与 Host 请求是两个方向。网络线程不应直接执行耗时物理动作,而应把远程命令交给设备状态机,再以明确结果回复。

3. GEM 把设备能力暴露给 Host

典型能力包括通信状态、在线/离线、远程/本地控制、状态变量、设备常量、数据采集事件、报警、远程命令和 Recipe 管理。事件报告通常由 CEID、报告和变量链接组成,Host 可配置需要的数据。

这些标识符是接口契约。修改 VID、CEID、ALID 或字段类型会影响工厂集成,需要版本与兼容性管理。

4. 状态一致性比消息成功更重要

Host 发出 Start 后,设备接受消息并不等于工艺已经开始。回复应区分协议接受、业务接受与后续执行事件。断线期间设备是否继续加工、恢复连接后怎样补报,也要在接口规格中定义。

心跳、重连和超时不能绕过本地联锁。SECS/GEM 是自动化接口,不是安全控制通道。

5. 文档和测试同样重要

设备应提供消息、变量、事件、报警和远程命令字典,并说明状态条件与示例时序。SEMI E172 定义了 SECS Equipment Data Dictionary 的机器可读描述方向,可用于提升接口文档一致性。

总结

SECS-II 解决消息内容,HSMS 解决网络传输,GEM 解决设备行为。把三层分开设计与测试,才能定位“连不上、消息不对、行为不符”分别属于哪类问题。

参考资料

Licensed under CC BY-NC-SA 4.0