1. Retainer说明文档

1.1. 文档说明

​retainer主要通过解析retainer脚本,来循环遍历事件表,进行事件提炼,生成实时挂板数据,写入到retainer表中。

1.2. 脚本格式

[ RVLabel_EnLabel_CnEventCode_StartEventCode_Stop ]

注释:

​RV为历程变量,代表一个报警,一个故障或者一个工艺流程

​Label_En为脚本的英文注释,Label_Cn为脚本的中文注释

​EventCode_Start为对应事件的开始码,EventCode_Stop 为对应事件的结束码

1.3. 表格式

1.3.1. Event表

对象标识 Code Value 英文标签 中文标签 日期时间
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:15:12
101 3013 50 Sensor Fault Stops 传感器故障消失 2020-11-11 08:16:12
101 4025 100 Hi Pressure Alert Starts 高压报警开始 2020-11-11 08:17:12
101 4026 50 Hi Pressure Alert Stops 高压报警结束 2020-11-11 08:18:12

1.3.2. Retainer表

对象标识 RV Value 英文标签 中文标签 起始时间 结束时间 持续时长
101 SF 0 Sensor Fault 传感器故障 2020-11-11 08:15:12 2020-11-11 08:16:12 1m
101 PA 0 Hi Pressure Alert 高压报警 2020-11-11 08:17:12 2020-11-11 08:18:12 1m

1.4. 数据提炼

1.4.1. 设计思路

  1. 从block_project_retainer表中script字段,获取到retainer脚本列表,然后进行遍历
  2. 遍历retainer脚本,通过retainer脚本中的EventCode_Start, 从admin_event表中,查询到EventCode_Start对应的object_id列表
  3. 遍历object_id列表,通过RV变量和object_id,查询admin_retainer表,确认是否有RV值为0的最新一条数据存在
  4. 若存在,则根据此条数据的结束时间,去amdin_event表,查询这个时间之后的最新一条EventCode_Start或EventCode_Stop数据,并写入或更新retainer表
  5. 若不存在,则直接查询admin_event表,查询最新一条EventCode_Start或EventCode_Stop数据,并写入到retainer表中,并写入或更新retainer表
  6. 周期性执行以上步骤

1.4.2. 提炼流程

  • 第一时间:2020-11-11 08:15:12

Event表:

对象标识 Code Value 英文标签 中文标签 日期时间
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:15:12

Retainer表:

对象标识 RV Value 英文标签 中文标签 起始时间 结束时间 持续时长
101 SF 1 Sensor Fault 传感器故障 2020-11-11 08:15:12 0s
  • 第二时间:2020-11-11 08:16:12

Event表:

对象标识 Code Value 英文标签 中文标签 日期时间
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:15:12
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:16:12

Retainer表:

对象标识 RV Value 英文标签 中文标签 起始时间 结束时间 持续时长
101 SF 1 Sensor Fault 传感器故障 2020-11-11 08:15:12 1m
  • 第三时间:2020-11-11 09:16:12

Event表:

对象标识 Code Value 英文标签 中文标签 日期时间
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:15:12
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:16:12
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 09:16:12

Retainer表:

对象标识 RV Value 英文标签 中文标签 起始时间 结束时间 持续时长
101 SF 1 Sensor Fault 传感器故障 2020-11-11 08:15:12 1h1m
  • 第四时间:2020-11-11 11:16:12

Event表:

对象标识 Code Value 英文标签 中文标签 日期时间
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:15:12
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 08:16:12
101 3012 100 Sensor Fault Starts 传感器故障出现 2020-11-11 09:16:12
101 3013 100 Sensor Fault Stops 传感器故障消失 2020-11-11 11:16:12

Retainer表:

对象标识 RV Value 英文标签 中文标签 起始时间 结束时间 持续时长
101 SF 0 Sensor Fault 传感器故障 2020-11-11 08:15:12 2020-11-11 11:16:12 3h1m

说明:

  • 第一时间产生的开始事件,写入retainer表,此时RV值为1,结束时间字段为空,持续时长为0s
  • 第二时间产生的开始事件,更新retainer表,此时RV值为1,结束时间字段为空,持续时长为1m
  • 第三时间产生的开始事件,更新retainer表,此时RV值为1,结束时间字段为空,持续时长为1h1m
  • 第四时间产生的结束事件,更新retainer表,此时RV值为0,结束时间字段有值,持续时长为3h1m,RV值为0代表此事件已结束,后续有相同事件产生,则重新插入一行数据,重复以上流程。
© Mixlinker all right reserved,powered by Gitbook文件修订时间: 2021-03-05 16:09:24

results matching ""

    No results matching ""