跳到主要内容

SECS/GEM (HSMS) — 半导体 / 显示面板 fab

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

运维指南

网关的 SECS/GEM 驱动基于 HSMS Select handshake + 后台 Linktest + 异步 reply 匹配 + SECS-II item codec (L / A / B / U1U8 / I1I8 / F4 / F8),提供 read (S<n>F<m>) / write (S2F41 host command,含 HCACK 校验) 功能。 如需针对具体设备的 GEM 时序 — S1F13/F14 establish、S6 event reports、S5 alarms、control state model、spool — 请联系开发团队


注册表单输入项

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

按 SECS/GEM 标准,推荐由 host (MES / 网关) 以 passive 方式 listen、由 tool 发起 connect;但根据现场实际情况,由网关以 active 方式 connect 的环境更为常见。请与 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 (write — start/stop 等)
S5F1Alarm Report
S6F11Event Report Send

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

从响应中提取特定值

若响应为 SECS-II list 形式,可通过 S1F4[0]S1F4[2].[1] 这样的索引取值。

表示法含义
S1F4[0]S1F4 响应 list 的第 0 项
S6F12[1].[3]S6F12 nested list 的 [1][3]

数据格式匹配

与 SECS-II 的 item code 对应。

SECS-II 类型含义数据格式格式辅助
LList (递归)(按索引展开使用)
AASCIIString(留空)
BBinaryString(留空)
BOOLEANBooleanBoolean(留空)
U1/U2/U4Unsigned 1/2/4 byteIntegerUI/UDW
U8Unsigned 8 byteLong(留空)
I1/I2/I4Signed 1/2/4 byteInteger(留空)/DW
F4Float 32-bitFloatREAL
F8Float 64-bitDoubleLREAL

写入 (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 establish sequence在设备侧 GEM 设置中启用自动 establish 选项,或使用 S1F1 / S1F3 等进行 raw 通信
响应解码失败nested list 层级错误以 raw 方式接收响应,再用 SECS-II 解码器单独解析

常用 SECS 消息详解

S1F1 / S1F2 — Are You There (ping)

消息方向含义
S1F1host → tool“是否在线?” — 空消息
S1F2tool → host返回 "MDLN, SOFTREV" (设备型号名 + 固件版本)

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

S1F3 的 body 为 SVID list,响应 S1F4 为同顺序的值 list。

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

S2F41 — Host Command Send (write — 设备动作)

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

S6F11 / S6F12 — Event Report Send (以 CEID 为单位)

设备在自身发生事件时主动 push 给 host,按 CEID (Collection Event ID) 分组上报。

字段含义
DATAID事件序列号
CEIDCollection Event ID (例:21=ProcessStarted)
RPTID list按报告 ID 组织的 nested data

PlantPulse 直接接收 raw 响应,因此可用 S6F11[0]S6F11[1] 的方式提取索引后,再通过计算公式进行后处理。

S5F1 / S5F2 — Alarm Report

字段含义
ALCDAlarm Code (1 byte:bit7=set/clear,bit0~6=category)
ALIDAlarm ID
ALTXAlarm text (供人阅读的消息)

常用运维模式

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

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

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

在设备侧 GEM 设置中启用 “EventReport on PROCESSEND” → 通过 S6F11 push。PlantPulse 以 active mode connect 后采集 raw 响应 → 在后处理管道中用 SECS-II 解码器 (如 secsgem-py) 解析。

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

S2F41 RCMD="PP-SELECT" CPNAME="PPID" CPVAL="RECIPE_AB100"
生产影响

在实际 fab 中,S2F41 会触发设备动作。务必与 EAP / MES 团队协商,并仅在设备处于 idle 状态时使用。


下一步

  • 参考 SEMI E5 (SECS-II) / E37 (HSMS) / E30 (GEM) 标准文档。
  • 如需完整的 GEM 集成 (event reporting、control state、recipe),请联系开发团队
  • 参考高级 — REST API 中的 SECS/GEM 示例。