4. DataItem 概念:在设备模型中的角色与 SECS 变量关系
DataItem(数据项)是半导体设备建模中的核心抽象单元,它代表设备内部一个可观测、可控制或可配置的最小数据粒度。在 SECS/GEM 协议体系中,DataItem 是连接物理设备状态与上层自动化系统的桥梁。
4.1 DataItem 在设备模型中的角色
在设备模型中,DataItem 扮演以下三个关键角色:
- 状态观测器:实时反映设备内部传感器读数、工艺参数、报警状态等动态数据。
- 控制接口:允许上位系统通过写入 DataItem 来改变设备行为(如设定温度、启动流程)。
- 配置存储:保存设备标识、版本号、工艺配方等静态或半静态信息。
核心原则:一个 DataItem 对应设备模型中的一个唯一语义的数据点,不重复、不交叉。
4.2 DataItem 与 SECS 变量的关系
SECS/GEM 协议定义了多种变量类型,用于在主机(Host)和设备(Equipment)之间交换数据。DataItem 与这些变量之间存在一对一或多对一的映射关系。
| SECS 变量类型 | 缩写 | 与 DataItem 的关系 | 典型用途 |
|---|---|---|---|
| 状态变量 | SV | 一个 DataItem 映射为一个 SV | 温度、压力、速度等连续监测值 |
| 设备常量 | EC | 一个 DataItem 映射为一个 EC | 设备序列号、最大晶圆尺寸、版本号 |
| 数据变量 | DV | 一个 DataItem 映射为一个 DV | 工艺步骤中的临时计算结果 |
| 集合事件 | CE | 多个 DataItem 组合为一个 CE 报告 | 工艺完成时上报一组相关数据 |
| 跟踪数据 | Trace | 多个 DataItem 按周期采样上报 | 温度曲线、压力趋势记录 |
映射原则:每个 DataItem 在设备模型中只定义一次,但可以被多个 SECS 变量引用。例如,一个“腔室温度”DataItem 可以同时作为 SV(实时查询)和 Trace 数据(周期记录)的源。
4.3 DataItem 的典型属性结构
一个完整的 DataItem 定义通常包含以下属性,这些属性决定了它如何与 SECS 变量交互:
| 属性 | 说明 | 示例值 | 与 SECS 映射的关系 |
|---|---|---|---|
| ID | 全局唯一标识符 | DI_Temp_Chamber1 | 用于在映射表中引用 |
| 数据类型 | 数据格式(I2, F8, A40 等) | F8(双精度浮点) | 决定 SECS 消息中的编码格式 |
| 访问权限 | 读/写/只读 | 只读 | 对应 SECS 的 S2F17/S2F18 访问控制 |
| 单位 | 物理单位 | °C | 用于 SECS 变量描述 |
| 取值范围 | 最小/最大值 | 0.0 ~ 500.0 | 用于 SECS 变量校验 |
| 更新频率 | 数据刷新周期 | 100 ms | 影响 Trace 采样周期设置 |
常见错误:在设备模型中直接使用 SECS 变量 ID(如 SVID=101)作为 DataItem 的唯一标识,而不是使用语义化的名称。这会导致模型难以维护,当 SECS 变量 ID 重新分配时,整个映射关系需要重做。
4.4 DataItem 与 SECS 变量的映射生命周期
从设备模型设计到实际运行,DataItem 与 SECS 变量的映射经历以下阶段:
- 模型定义阶段:在设备模型中声明所有 DataItem,定义其属性。
- 映射设计阶段:为每个需要暴露给主机的 DataItem 分配对应的 SECS 变量(SV/EC/DV)。
- 实现阶段:在设备软件中编写代码,将 DataItem 的读写操作绑定到 SECS 消息处理函数。
- 验证阶段:通过 SECS 模拟器或主机系统,验证每个 DataItem 的值是否正确映射到对应的 SECS 变量。
- 运行阶段:设备正常生产,DataItem 持续更新,SECS 变量实时反映设备状态。
4.5 映射设计的最佳实践
关键原则:DataItem 是设备模型的“数据本体”,SECS 变量是“通信视图”。两者之间的映射应当清晰、可追溯、可维护。
- 语义优先:DataItem 命名使用业务语义(如
Chamber1_Temperature),而非 SECS 变量 ID。 - 映射表独立:将映射关系维护在独立的配置文件或数据库中,便于修改和版本管理。
- 类型一致:DataItem 的数据类型必须与 SECS 变量的 SECS-II 数据类型兼容(如 F8 ↔ I8/F8)。
- 访问控制对齐:DataItem 的读写权限必须与 SECS 变量的访问控制一致,避免主机写入只读 DataItem。
- 文档化:每个映射关系都应有明确的文档记录,包括映射理由、单位、取值范围和更新频率。
// 映射表示例(JSON 格式)
{
"mappings": [
{
"dataItemId": "DI_Temp_Chamber1",
"secsVariableType": "SV",
"secsVariableId": 101,
"accessType": "readOnly",
"dataType": "F8",
"unit": "°C",
"description": "腔室1当前温度"
},
{
"dataItemId": "DI_Pressure_Chamber1",
"secsVariableType": "SV",
"secsVariableId": 102,
"accessType": "readOnly",
"dataType": "F8",
"unit": "Torr",
"description": "腔室1当前压力"
}
]
}
实践建议:在设备软件开发初期,先完成 DataItem 的完整定义,再进行 SECS 变量映射设计。这可以避免后期因数据点遗漏而导致的通信接口返工。