跳到主要内容

SECS/GEM HSMS(半导体 / 显示)

SECS/GEM 是半导体 / 显示 fab 中设备(tool)与主机(MES / EAP)之间的标准通信。消息由 SECS-II 定义,在以太网上通过 HSMS(High-Speed SECS Message Services)TCP/IP 进行传输。

操作指南

网关的 SECS/GEM 驱动在 HSMS Select 握手 + 后台 Linktest + 异步回复匹配 + SECS-II item 编解码器(L / A / B / U1U8 / I1I8 / F4 / F8) 之上提供读取(S<n>F<m>)/ 写入(S2F41 host command,HCACK 校验)功能。 如果还需要设备特定的 GEM 序列——S1F13/F14 建立连接、S6 事件报告、S5 报警、控制状态模型、spool——请联系开发团队。


注册表单输入值​

输入项填写内容示例
IP 地址设备(tool)的 HSMS IP192.168.0.140
端口HSMS 端口5000(常用)
Device IDSECS 设备 ID0(常用)
Modepassive / activeactive(网关作为连接方)
T3 / T5 / T6 / T7 / T8HSMS 超时时间(ms)建议使用默认值
active vs passive

按照 SECS/GEM 标准,推荐主机(MES / 网关)以 passive 模式监听,由 tool 发起连接;但在实际现场环境中,网关以 active 模式发起连接的配置更为常见。请根据 tool 侧的设置进行调整。


标签的 PLC 地址表示​

在网关中,SECS-II 消息以 S<n>F<m> 格式输入。n=stream,m=function。

表示含义
S1F1Are You There — 通信存活 ping
S1F3Selected Equipment Status Request
S1F11Status Variable Namelist Request
S2F13Equipment Constant Request
S2F41Host Command Send(写入 — 启动/停止等)
S5F1Alarm Report
S6F11Event Report Send

读取消息(S1F3、S1F11 等)的响应即作为值。

从响应中提取特定值​

如果响应是 SECS-II list 形式,可以通过 S1F4[0]、S1F4[2].[1] 等索引进行提取。

表示含义
S1F4[0]S1F4 响应 list 的第 0 个
S6F12[1].[3]S6F12 嵌套 list 的 [1][3]

数据类型匹配​

与 SECS-II 的 item code 对应。

SECS-II 类型含义数据类型格式补充
LList(递归)(通过索引展开使用)—
AASCIIString(空)
BBinaryString(空)
BOOLEANBooleanBoolean(空)
U1/U2/U4无符号 1/2/4 字节IntegerUI/UDW
U8无符号 8 字节Long(空)
I1/I2/I4有符号 1/2/4 字节Integer(空)/DW
F4浮点数 32 位FloatREAL
F8浮点数 64 位DoubleLREAL

写入(Write)支持​

可以通过 S2F41(Host Command Send)向设备下达命令。

表示含义
S2F41Host Command Send(RCMD = "START" / "STOP" / "PP-SELECT" 等)
S2F49Enhanced Remote Command

值以 命令名称(RCMD)+ 参数 list 的形式发送。详细格式请参考设备手册中的 SEMI 标准规范。

对 fab 运营的影响

S2F41 的 START / STOP 会触发 实际设备操作。在运营中的 fab 使用前,务必与 EAP / MES 团队协商。


常见问题与解决方法​

症状可能原因解决方法
"Select.rsp not received"active/passive 不匹配检查 tool 侧 GEM 设置
"Linktest timeout"防火墙如果增大 T6(linktest)仍无效,请检查网络
"Communication not established (S1F13)"部分设备要求先进行 S1F13/F14 建立连接序列在设备 GEM 设置中启用自动建立选项,或通过 S1F1 / S1F3 等进行原始通信
响应解码失败嵌套 list 深度错误以原始响应接收,用 SECS-II 解码器单独解析

常用 SECS 消息详解​

S1F1 / S1F2 — Are You There(ping)​

消息方向含义
S1F1host → tool"还活着吗?" — 空消息
S1F2tool → host"MDLN, SOFTREV" 响应(设备型号 + 固件版本)

S1F3 / S1F4 — Selected Equipment Status Request(读取 SVID)​

S1F3 的消息体是 SVID 列表。响应 S1F4 是相同顺序的值列表。

表示含义
S1F3(body=L,1.<U4 100>)读取 SVID 100(如 CassetteCount 等)
S1F4[0]响应 list 的第 0 个(= SVID 100 的值)

S2F41 — Host Command Send(写入 — 设备操作)​

RCMD含义
START开始加工
STOP停止加工
ABORT立即中止
PP-SELECT选择工艺程序(CPNAME=PPID,CPVAL=程序名)
PAUSE / RESUME暂停 / 恢复

S6F11 / S6F12 — Event Report Send(按 CEID 分组)​

当设备自行触发事件时,推送给主机。按 CEID(Collection Event ID)分组传入。

字段含义
DATAID事件序列号
CEIDCollection Event ID(例如:21=ProcessStarted)
RPTID list按报告 ID 嵌套的数据

PlantPulse 直接接收原始响应,因此可以以 S6F11[0]、S6F11[1] 的形式索引提取,然后通过计算公式进行后处理。

S5F1 / S5F2 — Alarm Report​

字段含义
ALCDAlarm Code(1 字节:bit7=set/clear,bit0~6=category)
ALIDAlarm ID
ALTXAlert 文本(人类可读消息)

常用操作模式​

模式 1. fab tool 健康监控(ping + 状态)​

标签名称地址格式备注
PingS1F1(响应有无)采集周期 30s
型号S1F4[0]String(S1F3 SVID=MDLN)
加工状态S1F4[1]Integer(S1F3 SVID=ControlState)

模式 2. 结果数据采集(S6F11)​

在设备 GEM 设置中启用 "EventReport on PROCESSEND" → 通过 S6F11 推送。PlantPulse 以 active 模式连接后采集原始响应 → 在后处理管道中使用 SECS-II 解码器(例如:secsgem-py)进行解析。

模式 3. Pset / Recipe 切换(S2F41)​

S2F41 RCMD="PP-SELECT" CPNAME="PPID" CPVAL="RECIPE_AB100"
运营影响

在实际 fab 中,S2F41 会触发设备操作。务必与 EAP / MES 团队协商,并且仅在设备空闲状态下使用。


下一步​

  • 参考 SEMI E5 (SECS-II) / E37 (HSMS) / E30 (GEM) 标准文档。
  • 如果需要全面的 GEM 集成(事件报告、控制状态、Recipe),请联系开发团队。
  • 参考高级 — REST API 中的 SECS/GEM 示例。