3. VID(变量ID)定义:VID在SECS-II消息中的位置、与SVID的区别与联系
在SECS/GEM协议体系中,VID(Variable ID,变量ID)是用于在SECS-II消息中唯一标识一个数据变量的关键字段。与SVID(Status Variable ID,状态变量ID)不同,VID的应用范围更广,它不仅可以标识设备状态,还可以标识设备参数、配方数据、报警文本等各类数据实体。本节将深入剖析VID的报文结构、编码规则,并系统对比VID与SVID的异同。
3.1 VID在SECS-II消息中的位置
VID通常出现在SECS-II消息的数据项(Data Item)中,作为变量标识符承载在特定的格式(Format)和长度(Length)之下。以最常见的S2F17(请求设备常量)和S2F13(请求设备常量列表)消息为例,VID作为请求参数的一部分,告知设备端需要返回哪个或哪些变量的当前值。
下表展示了VID在典型SECS-II消息流中的位置与编码示例:
| 消息方向 | 消息ID | 功能描述 | VID出现位置 | 典型格式 |
|---|---|---|---|---|
| Host → Equipment | S2F17 | 请求单个设备常量(EC) | 数据项(Data Item)第1个LIST元素 | U2 / U4 |
| Host → Equipment | S2F13 | 请求设备常量列表 | LIST中的多个VID元素 | U2 / U4 |
| Equipment → Host | S6F11 | 事件报告发送数据变量 | 报告数据中的VID-Value对 | U2 + 对应值 |
| Host → Equipment | S2F41 | 发送/请求配方数据 | 配方体中的VID标识 | U2 / ASCII |
3.2 VID的编码规则与报文结构
在SECS-II消息的二进制流中,VID的编码遵循标准的格式-长度-数据(Format-Length-Data)结构。以U2格式为例,VID的报文结构如下:
字节偏移 内容 说明
0 0xA9 格式字节:U2(无符号2字节整数)
1 0x02 长度字节:固定为2
2-3 0x00 0x64 VID值:例如100(十进制)
当VID出现在LIST(列表)结构中时,多个VID依次排列,每个VID都独立携带自己的格式和长度头。例如,S2F13请求三个设备常量的报文片段:
S2F13 W
<L [3]
<U2 101> <!-- VID 1: 设备常量ID 101 -->
<U2 205> <!-- VID 2: 设备常量ID 205 -->
<U2 310> <!-- VID 3: 设备常量ID 310 -->
>.
3.3 VID与SVID的区别与联系
SVID(Status Variable ID)是VID的一个子集,专门用于标识状态变量(Status Variable)。而VID是一个更广义的概念,涵盖了设备中所有可被SECS-II消息引用的数据变量。下表从多个维度对比两者的差异:
| 对比维度 | VID(变量ID) | SVID(状态变量ID) |
|---|---|---|
| 定义范围 | 广义变量标识符,涵盖所有数据变量 | 狭义标识符,仅用于状态变量 |
| 适用对象 | 设备常量(EC)、状态变量(SV)、配方参数、报警文本、报告数据等 | 仅状态变量(SV) |
| 消息类型 | S2F13/S2F17(EC)、S2F41(配方)、S6F11(报告)等 | S1F3/S1F4(请求SV)、S6F11(事件报告中的SV) |
| ID空间 | 全局ID空间,不同变量类型可能重叠 | 独立ID空间,通常与EC ID不重叠 |
| 可变性 | 部分VID(如EC)可在设备运行时修改 | SVID通常为只读,反映设备实时状态 |
| GEM标准定义 | GEM标准未强制VID的全局唯一性,但推荐厂商自行管理 | GEM标准明确要求SVID在设备内唯一 |
从联系的角度看,SVID本质上就是一种特殊用途的VID。在SECS-II消息的报文层面,SVID的编码方式与VID完全一致——都使用U2/U4格式,都遵循Format-Length-Data结构。当设备端收到一个SVID请求时,它实际上是在处理一个VID,只是这个VID被映射到了状态变量表中。
3.4 VID与SVID的映射关系图
下图展示了VID在SECS/GEM设备数据模型中的位置,以及SVID作为VID子集的关系:
3.5 VID与SVID的协同工作流程
在实际的SECS/GEM通信中,VID和SVID经常协同工作。以下是一个典型的事件报告流程,展示了VID(作为报告ID)和SVID(作为数据变量)如何配合:
- 定义报告(S2F33):Host发送S2F33消息,使用RPTID(报告ID,一种VID)定义报告结构,并在报告中引用多个SVID作为数据源。
- 使能事件(S2F35):Host发送S2F35消息,将CEID(收集事件ID,另一种VID)与之前定义的RPTID关联。
- 事件触发:设备端检测到事件发生(如晶圆到达),自动收集RPTID对应的SVID值。
- 报告发送(S6F11):设备端发送S6F11消息,消息体中同时包含CEID(VID)和SVID-Value对。
3.6 实际应用中的ID管理策略
在半导体设备开发中,合理的VID/SVID管理策略直接影响系统的可维护性和扩展性。以下是业界推荐的ID分配原则:
- ID空间分区:将VID空间划分为多个区间,例如:
- 1–1000:SVID(状态变量)
- 1001–2000:EC ID(设备常量)
- 2001–3000:ALID(报警ID)
- 3001–4000:RPTID(报告ID)
- 4001–5000:CEID(收集事件ID)
- 预留扩展区间:在每个区间末尾预留20%的ID空间,用于未来扩展。
- 文档化映射表:维护一份完整的VID映射表,记录每个VID对应的变量名称、数据类型、访问权限、单位等信息。
- 版本控制:当设备固件升级导致VID映射变化时,必须更新映射表版本号,并通过S1F13/S1F14消息告知Host。