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 的编号规则通常遵循设备功能模块划分。例如:1–100 用于材料搬运事件,101–200 用于工艺事件,201–300 用于报警事件。建议在项目初期建立 CEID 分配表,避免冲突。

下图展示了 CEID 数据结构在设备内存中的逻辑组织方式:

CEID 数据结构组成要素 CEID 数据结构组成要素 CEID 主记录 标识属性 • CEID (U4): 事件编号 • CE_NAME (ASCII): 事件名称 • CE_ALIAS (ASCII): 事件别名 • CE_STATE (Boolean): 启用状态 关联属性 • CE_REPORT_COUNT (U4) • CE_REPORT_IDS (Array) • 关联 Report 列表 • 动态绑定关系 触发条件 • 状态机转换 • 变量阈值 • 定时器超时 • 操作完成信号

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 关联时,建议遵循“高内聚、低耦合”原则。将频繁一起使用的变量归入同一个 Report,避免一个 Report 包含过多无关变量,导致网络带宽浪费。

下图展示了 CEID 与 Report 之间的多对多关联关系:

CEID 与 Report 关联关系 CEID ↔ Report 多对多关联关系 CEID 1001 CEID 1002 CEID 1003 Report 2001 Report 2002 Report 2003 多对多关联,灵活组合

3.3 CEID 的触发条件

CEID 的触发条件决定了事件在何时被激活。在 SECS/GEM 协议中,触发条件通常由设备内部的状态机、变量变化或外部信号驱动。常见的触发条件类型如下:

  • 状态转换触发: 设备从一个状态切换到另一个状态时触发。例如:从 IDLE 切换到 PROCESSING 时触发 PROCESS_START 事件。
  • 变量阈值触发: 当某个设备变量(如温度、压力)超过或低于预设阈值时触发。例如:温度 > 100°C 触发 OVER_TEMP_ALARM 事件。
  • 定时器超时触发: 设备内部定时器到期时触发。例如:工艺时间到触发 PROCESS_COMPLETE 事件。
  • 操作完成信号触发: 某个机械动作或指令执行完成后触发。例如:机械手取片完成触发 PICK_COMPLETE 事件。
  • 主机命令触发: 主机通过 S2F41(Remote Command)发送指令后,设备执行并触发对应 CEID。
注意: 触发条件必须在设备固件中预先定义。主机无法动态创建新的触发条件,只能通过 S2F37 配置 CEID 与 Report 的关联关系。如果设备固件不支持某个触发条件,即使配置了 CEID 也无法生效。

下图展示了 CEID 触发条件在设备状态机中的典型工作流程:

CEID 触发条件工作流程 CEID 触发条件工作流程 IDLE PROCESSING COMPLETE 触发条件: 启动按钮按下 触发条件: 工艺定时器超时 触发 CEID → 上报 Report

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>
.
配置建议: 在批量配置 CEID 时,建议先通过 S2F35(Request Event Report Link)查询当前绑定关系,避免重复绑定或冲突。配置完成后,使用 S2F37 的确认消息(S2F38)检查是否配置成功。

3.5 本章小结

CEID 数据结构是 SECS/GEM 采集事件上报的核心骨架。理解其组成要素、与 Report 的关联关系以及触发条件,是正确配置事件上报的基础。在实际项目中,建议按照以下步骤操作:

  1. 定义 CEID 清单: 列出所有需要上报的事件,分配唯一 CEID 编号和名称。
  2. 设计 Report 结构: 根据数据采集需求,将相关变量分组到 Report 中。
  3. 建立关联: 使用 S2F37 将 CEID 与 Report 绑定,确保触发条件与数据采集匹配。
  4. 验证触发: 通过设备模拟或实际运行,验证 CEID 是否在预期条件下触发并上报正确数据。