4. CEID 生命周期:从定义、注册、激活到注销的完整流程

CEID(采集事件ID)的生命周期是 SECS/GEM 动态事件管理的核心脉络。一个 CEID 从诞生到消亡,需要经历 定义 → 注册 → 激活 → 注销 四个阶段。每个阶段都对应特定的 SxFy 报文交互和主机/设备端状态变更。理解这一完整流程,是掌握动态事件管理的基础。

核心要点: CEID 生命周期是“双向握手”的过程。主机(Host)发起请求,设备(Equipment)响应并维护状态。任何阶段的失败都会导致事件采集链路中断。
CEID 生命周期四阶段流程图 CEID 生命周期四阶段 ① 定义 S02F33/S02F34 ② 注册 S02F35/S02F36 ③ 激活 S02F37/S02F38 ④ 注销 S02F35(空)/S02F36 状态流转:未定义 → 已定义(未注册) → 已注册(未激活) → 已激活 → 已注销 每个阶段设备端都会更新 CEID 状态属性,主机可通过 S02F33 查询当前状态 时间轴 → 生命周期不可逆:定义 → 注册 → 激活 → 注销(注销后需重新定义)

4.1 阶段一:CEID 定义

CEID 定义是生命周期的起点。设备厂商在设备端预先定义好所有可能的事件 ID,包括事件名称、描述、关联的数据变量(VID)等元信息。主机通过 S02F33(报告请求) 查询设备支持的 CEID 列表,设备以 S02F34 响应。

报文 方向 功能 关键参数
S02F33 Host → Eqp 请求 CEID 列表 DATAID(通常为 0 表示查询全部)
S02F34 Eqp → Host 返回 CEID 定义 CEID、CE_NAME、变量列表(VIDs)
最佳实践: 设备上电或通信建立后,主机应首先执行 S02F33 查询,获取设备当前支持的 CEID 全集。这为后续的注册和激活提供“白名单”依据。

4.2 阶段二:CEID 注册

注册是将主机感兴趣的 CEID 告知设备的过程。主机发送 S02F35(链接事件报告) 报文,将 CEID 与 Report ID 绑定。设备收到后,在内部维护一张“CEID → Report”的映射表,并以 S02F36 确认。

// S02F35 报文示例(注册 CEID 100 和 101)
// 格式:L{ DATAID, L{ CEID, L{ REPORT_ID } } }
S02F35 W
<L [2]
  <U4 1>           // DATAID = 1
  <L [2]
    <L [2]
      <U4 100>     // CEID 100
      <L [1]
        <U4 10>    // 绑定 Report ID 10
      >
    >
    <L [2]
      <U4 101>     // CEID 101
      <L [1]
        <U4 11>    // 绑定 Report ID 11
      >
    >
  >
>
注意: 注册时 CEID 必须已经定义(即设备返回过 S02F34)。如果注册未定义的 CEID,设备将返回 S02F36 并携带错误码(如 CEID_NOT_DEFINED)。

4.3 阶段三:CEID 激活

激活是让 CEID 进入“可触发”状态的关键步骤。主机发送 S02F37(使能/禁用事件报告) 报文,将 CEID 的状态设置为“使能”。设备收到后,开始监控该 CEID 对应的设备状态变化,一旦条件满足即主动上报 S06F11(事件报告)。

报文 方向 功能 CEID 状态变化
S02F37 (ENABLE) Host → Eqp 激活指定 CEID 已注册 → 已激活
S02F37 (DISABLE) Host → Eqp 停用指定 CEID 已激活 → 已注册(未激活)
S02F38 Eqp → Host 确认状态变更 返回 HCACK
CEID 激活与事件上报流程 CEID 激活 → 事件上报流程 主机 (Host) 设备 (Eqp) S02F37 (ENABLE CEID=100) S02F38 (HCACK=0) CEID 100 状态:已激活 接收 S06F11 S06F11 (CEID=100, 数据)

4.4 阶段四:CEID 注销

注销是生命周期的终点。当主机不再需要某个 CEID 时,发送 S02F35 报文,但 不包含该 CEID(即从注册列表中移除)。设备收到后,解除 CEID 与 Report 的绑定,并停止事件监控。设备以 S02F36 确认注销成功。

注销 vs 停用: 停用(DISABLE)只是暂停事件上报,CEID 仍处于“已注册”状态;注销则是彻底删除注册关系,CEID 回到“已定义(未注册)”状态。下次使用需要重新注册。

4.5 生命周期状态机总览

下表总结了 CEID 在生命周期各阶段的状态转换及对应的报文操作:

当前状态 触发操作 报文 下一状态 设备行为
未定义 设备初始化 — 已定义 加载 CEID 配置表
已定义 注册 S02F35 已注册 建立 CEID→Report 映射
已注册 激活 S02F37 (ENABLE) 已激活 开始监控事件条件
已激活 停用 S02F37 (DISABLE) 已注册 停止监控,保留映射
已注册 注销 S02F35 (移除) 已定义 删除映射关系
实战建议: 在开发调试阶段,建议主机维护一个本地 CEID 状态缓存,与设备端状态定期同步(通过 S02F33 查询)。这可以避免因网络异常导致的状态不一致问题。