3. CEID 数据结构:组成要素、Report 关联与触发条件
CEID(Collection Event ID)是 SECS/GEM 协议中用于标识特定采集事件的唯一编号。一个完整的 CEID 数据结构由三部分构成:组成要素(定义事件的身份与属性)、与 Report 的关联关系(决定事件触发时采集哪些数据)、触发条件(决定事件何时被激活)。本章将逐一拆解这三个维度。
3.1 CEID 的组成要素
每个 CEID 在设备端(Equipment)和主机端(Host)之间通过一组固定字段定义。下表列出了 CEID 的核心组成要素及其说明:
| 要素名称 | 数据类型 | 说明 |
|---|---|---|
| CEID | U4 / I4 | 事件唯一标识符,范围通常为 0–65535,由设备厂商定义 |
| CE_NAME | ASCII | 事件名称,如 “MATERIAL_LOADED”、“PROCESS_START” |
| CE_STATE | Boolean | 事件启用/禁用状态(Enabled / Disabled) |
| CE_REPORT_COUNT | U4 | 关联的 Report 数量 |
| CE_REPORT_IDS | Array of U4 | 关联的 Report ID 列表 |
| CE_ALIAS | ASCII(可选) | 事件别名,用于主机侧友好显示 |
下图展示了 CEID 数据结构在设备内存中的逻辑组织方式:
3.2 CEID 与 Report 的关联关系
CEID 本身不携带数据,它只是一个“触发器”。当 CEID 被触发时,设备会查找与该 CEID 绑定的 Report,然后采集 Report 中定义的 VID(Variable ID) 对应的数据值,并组装成消息上报给主机。
关联关系通过 Link Event Report(S2F37 / S2F38)流程建立。一个 CEID 可以关联多个 Report,一个 Report 也可以被多个 CEID 引用,形成 多对多 关系。
| 关联模式 | 说明 | 典型场景 |
|---|---|---|
| 1 个 CEID → 1 个 Report | 最简单模式,事件触发后采集一组固定变量 | 单一状态变化事件 |
| 1 个 CEID → N 个 Report | 一个事件触发多组数据采集,每组 Report 包含不同类别的变量 | 工艺完成事件:同时采集工艺参数 Report 和良率 Report |
| N 个 CEID → 1 个 Report | 多个事件共享同一组数据采集逻辑,减少 Report 重复定义 | 多个报警事件共享设备状态 Report |
下图展示了 CEID 与 Report 之间的多对多关联关系:
3.3 CEID 的触发条件
CEID 的触发条件决定了事件在何时被激活。在 SECS/GEM 协议中,触发条件通常由设备内部的状态机、变量变化或外部信号驱动。常见的触发条件类型如下:
- 状态转换触发: 设备从一个状态切换到另一个状态时触发。例如:从 IDLE 切换到 PROCESSING 时触发
PROCESS_START事件。 - 变量阈值触发: 当某个设备变量(如温度、压力)超过或低于预设阈值时触发。例如:温度 > 100°C 触发
OVER_TEMP_ALARM事件。 - 定时器超时触发: 设备内部定时器到期时触发。例如:工艺时间到触发
PROCESS_COMPLETE事件。 - 操作完成信号触发: 某个机械动作或指令执行完成后触发。例如:机械手取片完成触发
PICK_COMPLETE事件。 - 主机命令触发: 主机通过 S2F41(Remote Command)发送指令后,设备执行并触发对应 CEID。
下图展示了 CEID 触发条件在设备状态机中的典型工作流程:
3.4 配置示例:CEID 与 Report 绑定
以下是一个典型的 CEID 配置流程,使用 SECS/GEM 标准消息 S2F37(Link Event Report)进行绑定:
# S2F37 消息示例:将 CEID 1001 关联到 Report 2001 和 2002
# 消息格式:S2F37 W <L [2]>
# <L [2]> -- 事件列表
# <L [2]> -- 第一个事件
# <U4 1001> -- CEID
# <L [2]> -- Report ID 列表
# <U4 2001>
# <U4 2002>
# <L [2]> -- 第二个事件
# <U4 1002> -- CEID
# <L [1]> -- Report ID 列表
# <U4 2003>
S2F37 W .
<L [2]>
<L [2]>
<U4 1001>
<L [2]>
<U4 2001>
<U4 2002>
<L [2]>
<U4 1002>
<L [1]>
<U4 2003>
.
3.5 本章小结
CEID 数据结构是 SECS/GEM 采集事件上报的核心骨架。理解其组成要素、与 Report 的关联关系以及触发条件,是正确配置事件上报的基础。在实际项目中,建议按照以下步骤操作:
- 定义 CEID 清单: 列出所有需要上报的事件,分配唯一 CEID 编号和名称。
- 设计 Report 结构: 根据数据采集需求,将相关变量分组到 Report 中。
- 建立关联: 使用 S2F37 将 CEID 与 Report 绑定,确保触发条件与数据采集匹配。
- 验证触发: 通过设备模拟或实际运行,验证 CEID 是否在预期条件下触发并上报正确数据。