3. SECS变量(SVID/ECID/VID)概念:变量类型、ID范围、数据格式
在SECS/GEM协议体系中,变量是连接设备状态与上位机(Host)的桥梁。根据用途和访问方式的不同,SECS定义了三种核心变量类型:SVID(状态变量ID)、ECID(设备常量ID)和VID(变量ID,用于数据收集与追溯)。理解这三类变量的定义、ID范围及数据格式,是进行DataItem映射设计的基础。
3.1 变量类型与核心差异
下表从用途、访问权限、更新机制三个维度对比三类变量:
| 变量类型 | 全称 | 用途 | 访问权限 | 典型更新方式 |
|---|---|---|---|---|
| SVID | Status Variable ID | 反映设备实时状态(温度、压力、速度等) | 只读(Host查询) | 设备主动上报或Host轮询 |
| ECID | Equipment Constant ID | 设备配置参数(超时时间、工艺配方号等) | 可读可写(Host可修改) | Host设置后设备确认 |
| VID | Variable ID | 数据收集(Trace/Report)中的变量标识 | 只读(按需采集) | Host订阅后周期性或事件触发上报 |
设计提示: 在映射DataItem时,SVID通常对应设备实时监控点,ECID对应可调参数,VID则用于构建数据收集计划(DCP)。三者ID空间独立,允许重复编号,但实际项目中建议统一规划以避免混淆。
3.2 ID范围与分配规则
SECS/GEM标准对ID范围给出了建议,但具体分配由设备厂商自行定义。以下是常见实践:
- SVID:通常使用 0–65535(U2/U4),0 保留,1–999 为系统预定义,1000+ 为厂商自定义。
- ECID:同样使用 0–65535,0 保留,1–99 为GEM标准常量,100+ 为厂商扩展。
- VID:范围 0–65535,用于Report和Trace中引用SVID或ECID。
避坑指南: 不同设备厂商可能使用相同的ID编号表示不同含义。在集成多厂商设备时,必须通过设备型号或版本号进行ID空间隔离,避免映射冲突。
3.3 数据格式(SML类型)
SECS变量支持多种数据格式,通过SML(SECS Message Language)类型标识。下表列出最常用的格式:
| SML类型 | 描述 | 字节长度 | 示例值 |
|---|---|---|---|
| U1/U2/U4/U8 | 无符号整数(1/2/4/8字节) | 1/2/4/8 | 100, 65535, 4000000000 |
| I1/I2/I4/I8 | 有符号整数(1/2/4/8字节) | 1/2/4/8 | -50, 32767, -2000000000 |
| F4/F8 | 浮点数(4/8字节) | 4/8 | 23.5, 3.1415926535 |
| BOOLEAN | 布尔值 | 1 | TRUE / FALSE |
| A | ASCII字符串 | 可变(最大255) | "CHAMBER_1" |
| B | 二进制数据 | 可变 | 0x1A2B |
3.4 变量定义与映射关系图
下图展示了SVID、ECID、VID在设备与Host之间的逻辑关系,以及它们如何通过SECS消息进行交互:
3.5 变量定义示例(SML格式)
在SECS通信中,变量定义通常以SML格式描述。以下是一个典型的变量定义片段:
-- SVID定义:腔体温度(只读)
SVID, 1001, F4, "Chamber Temperature",
"摄氏度", 0.0, 300.0
-- ECID定义:工艺超时时间(可读写)
ECID, 201, U2, "Process Timeout",
"秒", 10, 600
-- VID定义:用于Trace的变量引用
VID, 5001, SVID, 1001
VID, 5002, ECID, 201
关键点:
- 每个变量定义必须包含:ID、数据类型、名称、单位、有效范围。
- VID本身不存储数据,它只是一个引用指针,指向SVID或ECID。
- 数据格式的选择直接影响传输效率:U1/U2适合小范围整数,F4适合浮点测量值,A适合文本标识。
3.6 变量映射到DataItem的典型流程
在实际项目中,将SECS变量映射为DataItem通常遵循以下步骤:
- 识别数据源:确定设备中需要暴露给Host的物理量或参数。
- 分配变量ID:根据ID范围规则,为每个数据点分配唯一的SVID/ECID。
- 选择数据格式:根据数据特性(整数/浮点/字符串)和精度要求,选择最合适的SML类型。
- 定义VID引用:对于需要参与数据收集的变量,创建VID并指向对应的SVID或ECID。
- 生成映射表:将变量ID与DataItem名称、单位、转换公式等元数据关联,形成映射文档。
通过以上步骤,设备数据得以标准化、结构化的方式与上位机交互,为后续的自动化控制与数据分析奠定基础。