基于SCADA系统预警报警系统研究应用

2024-05-13 14:40张青锋刘祥马小琴付兵
信息系统工程 2024年4期

张青锋?刘祥?马小琴?付兵

摘要:提出采用人工智能方法,开展基于SCADA系统预警报警开展预警报警模块深度研究应用,建立适用于长庆油田采油厂的各类复杂、通用类预警报警模型,并进行编码开发和嵌入式应用。相较传统SCADA系统具备有效降低误报率、提高报警可用性、开展多设备联动等功能,通过结合智能化预警报警功能的应用,加强预警报警数据的统一规范管理、数据复用、预警流程管理,并通过应用报警系统开展生产优化与精细化管理,真正将智能化应用落实到岗位。

关键词:SCADA;油田智能化;报警优化

一、前言

随着智能化建设规模的不断扩大,数据采集量急剧增加,目前采油厂所应用SCADA系统存在报警次数多,误报、漏报频率高等问题。同时,报警规则限于单点、局部报警,缺乏一体化联动报警分析,无法严密监控生产运行情况,一体化指挥调度未能充分发挥其效能。因此,通过开发并替代SCADA系统中预警报警应用模块,实现对中心站、无人值守站生产运行报警事件、指标、参数进行梳理,按照生产工艺流程预警报警一体化运行思路,明确不同工艺设备相互之间关联关系,构建出结合各生产管理岗位的预警报警应用体系,实现预警报警功能真正指导日常生产管理。

二、生产需求和需要解决的关键技术问题

(一)生产需求

结合现有SCADA系统将物联网数据与生产、工艺相融合,通过研究油气生产、工艺标准化报警流程,从“报警产生、报警规则、报警联动建模、报警处置、报警优化”的生产运行一体化预警报警管理机制入手,在现有SCADA系统应用的基础上,通过人工智能、大数据的应用,形成采油厂智能预警报警应用系统,全面完善生产预警报警功能,为提高生产分析与决策效率提供技术支撑。

(二)需要解决的关键技术问题

结合现有SCADA系统数据,构建生产业务模型,对采集的数据进一步挖掘分析,借助大数据和人工智能方法开展相关性分析、多参数辨别、多参数预测建模、多源报警管理、高并发处理技术研究,实现生产现场预警报警的精准、高效、闭环管理[1],包含了以下技术。

多参数辨别技术:完成模型的相关性分析,提高预警报警模型适应性和可靠性。

多参数建模技术:抑制可测干扰影响,多目标协调优化。

多源报警管理技术:根据警报信息影响权重解决报警之间不确定关系。

高并发处理技术:实现油气生产数据高粒度采集下的并发处理。

微服务架构嵌入式软件开发:采用最新的VUE+Spring Cloud微服务开发模式完成基于SCADA系统数据的嵌入式应用开发,实现报警信息的展示、应用等。

三、智能预警报警系统实现

(一)系统框架整体设计

系统整体采用最新的VUE+Spring Cloud微服务开发模式完成,共分为三个模块(见图1)。其中,数据处理模块通过调用提取SCADA系统实时库,按照站内生产工艺流程,梳理出预警报警应用系统的标准数据库。后端处理模块采用Spring Cloud微服务架构,以容器的方式包含了coding算法、特征提取算法进行预警报警模型建立。通过编码数据流根据输入的数据进行处理后输出至相应的前端模块。前端模块采用VUE框架进行设计,最终采用嵌入式方式集成至SCADA系统中“预警报警”模块[2]。

(二)智能阈值算法设计

按照生产工艺流程进行数据收集、分析报警成因后,开展压力、温度、流量、液位、瞬时流量、总产量等数据分析。结合收集的数据,对阈值智能计算进行算法设计,针对不同的阈值智能设定应用不同的算法。

1.瞬时液位、瞬时溫度、瞬时流量可根据数据采集粒度采用取N点值法,把数值从高到低降序,取高值的第N个值为基值,通过管理经验加权后设置值为高高报、高报;低限阈值按从小到大升序排序,取低值的第N个值为基值,减去管理经验值设置低报、低低报阈值。

2.平均压力、平均温度采用取第10点值法,方法同上。

3.压力、温度、流量等异常波动较大的点位采用去除4取10平均值法,降序后按照排序去除前4个值,然后取前10个高值进行平均数计算后作为基值,加权管理经验值后设置为高高报,高报阈值;低限阈算法相反。

4.液位、累计流量采用取10平均值法,把选取的参数数值从大到小降序排序,取前10个高值求平均值后作为高值基值,加权管理经验值后设置为高高报,高报阈值;低限阈值算法相反。

5.针对个别参数报警值为固定的值,具体要根据经验值设置固定算法。

(三)预警报警联动模型设计

1.多参数、多设备联动预警报警模型设计

结合站内各类工艺设备,对各类工艺设备的压力、温度、流量、液位、瞬时流量等参数相关性进行分析,并进行多参数、多设备联动预警报警模型设计,具备高度关联性。

各类设备联动规则如下:

(1)总机关压力联动高报时,联动场景为总机关压力升高,收球桶压力高,缓冲罐压力升高,提示“是否进缓冲罐扫线,关注站内系统压力”;总机关压力升高,收球桶压力低,提示“总机关至收球桶结垢或总机关卡球需扫线”;低报时,总机关压力升高,收球桶压力低,提示“总机关至收球桶结垢或总机关卡球需扫线”。

(2)收球筒压力联动高报时,联动场景为收球桶压力升高,缓冲罐或加热炉压力无变化或降低,提示“收球桶阻塞”;低报时,收球桶压力降至0,进行收球作业,延时监测。

(3)加热炉压力联动高报时,联动场景为加热炉压力和收球桶压力高于缓冲罐压力,提示“加热炉至缓冲罐管线堵塞或结垢”;低报时,连续取值判断加热炉压力短时间内快速下降,提示“站内管线破漏”。

(4)加热炉进口压力联动高报时,联动场景为加热炉进口压力升高,收球桶压力升高,加热炉出口压力不变或者降低,提示“加热炉盘管堵塞或结垢”;低报时,加热炉进口压力降低,收球桶压力降低,加热炉液位不变,提示“站内管线破漏”或加热炉进口压力降低,收球桶压力降低,加热炉液位快速升高,提示“加热炉内油盘管破”。

(5)加热炉出口压力联动高报时,联动场景为加热炉进口压力升高,收球桶压力升高,缓冲罐压力不变或降低,提示“加热炉至缓冲罐管线堵塞或结垢”;低报时,加热炉进口压力降低,收球桶压力降低,加热炉液位快速升高,缓冲罐液位比正常上涨缓慢,提示“加热炉内油盘管破”。

(6)加热炉液位联动高报时,联动场景为加热炉液位快速升高,加热炉压力或者加热炉进出口压力快速下降,缓冲罐液位上涨缓慢,提示“加热炉内油盘管破漏”;低报时,加热炉液位快速降低,水循环压力降低,缓冲罐液位快速升高,提示“缓冲罐水盘管破漏”;当加热炉液位快速降低,加热炉温度快速升高,提示“加热炉水箱破漏”。

(7)缓冲罐压力联动高报时,联动场景为缓冲罐压力、加热炉压力、收球桶压力、气液分离器压力升高,泵进口压力不变或者降低,提示“缓冲罐至泵管线堵塞”;低报时,缓冲罐压力低,外输泵运行时液位下降速度高于外输时下降速度,外输泵停时,液位上升速度低于正常进液时的液位上升速度,提示“缓冲罐存在破漏可能”。

(8)缓冲罐液位联动高报时,联动场景为缓冲罐液位快速升高,水循环压力降低,提示“缓冲罐水盘管破漏”;低报时,缓冲罐液位快速升高,事故罐液位快速下降,不报警;同时,当外输泵进口压力低,缓冲罐压力降低,缓冲罐液位下降速度快,外输瞬时低,提示“缓冲罐至外输泵管线破漏”。

(9)事故罐、应急罐液位联动高报时,联动场景为事故罐液位快速升高,缓冲罐液位稳定上升,水循环压力降低,提示“事故罐水盘管破漏”;低报时,事故罐液位下降,外输泵未运行,缓冲罐液位上升速度无变化,外输泵运行时,缓冲罐液位下降速度与正常外输时基本一致,提示“事故罐破漏”或事故罐液位快速下降,缓冲罐液位快速升高,进行倒罐作业,不报警。

(10)输油泵出口压力联动高报时,联动场景为外输泵压力高,外输泵运行,外输瞬时低或者为0,提示“外输阀门未打开或闸板脱落”或外输泵压力高,外输泵运行,外输瞬时降低,外输温度降低,提示“外输有凝管风险”;低报时,外输泵出口压力低于正常外输压力,高于0,且数据不稳定,外输瞬时低或者为0,提示“外输泵不上量”或者外输泵出口压力为0或外输压力低,外输瞬时为0,外输压力低,提示“外输泵至流量计管线破漏”。

(11)输油泵外输汇管压力联动高报时,联动场景为外输压力升高,外输温度低,提示“外输温度低有凝管风险”或者外输压力升高,外输温度不变,外输瞬时为0,提示“流量计出口阀门未打开,或阀门闸板脱落”;若外输压力升高,外输温度不变,首端外输瞬时刚开始有流量,随后逐步降低至0,下游流量计瞬时一直为0,且压力不变,提示“末端外输流程阀门未打开,或阀门闸板脱落”;低报时,外输压力降低,外输瞬时升高,末端外输压力降低或不变,末端流量计瞬时下降或为0,提示“存在外输管线破漏风险”。

(12)外输瞬时压力联动高报时,联动场景为外输瞬时升高,外输压力降低,外输泵频率不变,末端来油压力降低或不变,末端来油瞬时下降或为0,提示“存在外输管线破漏风险”。

2.特殊特定条件下定制类算法模型设计

考虑现场实际工艺情况,对液位计卡死、插输工艺、偶然波动等特殊特定情况进行定制类算法模型(见表1)设计[3]。

(四)实时镜像数据设计开发

本系统基于SCADA数据,由于SCADA报警数据的强耦合性,因此需要设计实时镜像数据。

首先,针对实时数据进行存储,仅存储变动瞬时值,两次变动值的时间区间为上次瞬时值的时间权重,为高维分析提供数据基础,如计算突变渐变等特征,特征计算完按时间向前淘汰实时数据。其次,根据报警规则产生的记录,支持有限时间内回溯。最后,系统配置包含点位数据信息、人工录入数据信息、特征提取信息、组织单元信息,设备管理单元信息等[4]。

(五)预警报警数据取流及嵌入式开发

完成镜像数据获取后,按照数据流程图绘制出整体数据结构图,并建立了各数据表中规范性设计,确保预警报警整体数据调用的合理性[5]。

在报警数据流转过程中,出于运行性能的考虑,采用层层递进式的运行方式:

1.使用SCADA系统提供的JavaSDK方式从SCADA系统中获取实时数据。

2.判断不参与报警联动的点位,过滤正常的实时数据,通过编码实现现场实际要求的特殊报警场景。

3.判断报警场景,并通过多个设备的联动报警进行精准定位。

4.为了处理事故发生时多点位同时报警的报警合并问题,单独设定复杂的报警场景。

5.执行过滤规则,例如重复报警的合并,报警处置期不再报警的逻辑执行。

整体预警报警按照图2开展完成嵌入式开发。

四、实验

(一)报警数量消除对比实验

對SCADA系统中某中心站历史报警数据库进行了导出筛选后,其平均日报警数量为8000余条,在智能预警报警系统中进行报警数量统计后,日平均为15条,并且直观明确了报警限值和报警原因,现场核查后均为真实有效报警。报警数量由8000条/天降低至15条/天,平均日报警数量降低了99.8%。

(二)报警准确率对比实验

在总计8149条报警中,对SCADA系统中报警信息进行分类检索,其中,可燃气体浓度低限值报警为4467条,占比54.8%(均为无效报警),井组汇管压力报警3306条,占比40.56%,均为正常波动误报,因此SCADA系统中误报率达到95.36%。在智能系统中同条件检索后报警数量为237条,占SCADA系统报警数量的2.9%,误报条数为71条(人工智能训练波动因素暂未消除),因此,综合误报率对比仅为0.87%,误报率降低94.49%。

(三)报警时效与规则有效性对比实验

SCADA系统中,报警触发时间正态分布如右图,平均触发时长为474ms,预警系统中平均报警触发时间为331ms,且平均查询时长为2秒左右,因此,报警时效与SCADA相比符合99%时效率。报警规则均按照现场工艺流程,逐站进行规则添加,并和现场工艺设备联动,规则符合率达90%以上。

五、结语

在现有SCADA系统数据基础上,应用人工智能技术手段实现整体报警模型的建立,改变了采用脚本模式进行单一数据报警模式,解决了误报率高、报警信息无法有效结合工艺联动的问题,为实现集中管理提供了有力技术支持,误报率可消除90%以上。同时,通过人工智能方法和算法的应用,对数据充分分析,可有效实现报警智能设置、报警联动设置、针对性报警模型设置等功能,实现报警信息准确分类,从而建立包含生产、工艺业务的报警应用优化。依托微服务方式调取SCADA实时数据,通过基于SCADA系统的嵌入式开发和微服务开发技术的有机融合,有效提升系统的易用性、维护性、可扩展性,解决现有SCADA系统报警功能过度依赖脚本编写,逻辑复杂等问题。因此,依托智能预警报警系统的应用,可有效建立“从报警概念、报警规则及建模方法、报警处置流程到报警优化”的生产运行预警一体化管理方法及流程规范,形成适合长庆油田采油厂的生产监控报警管理流程和规则,指导后续油气生产报警系统进一步建设完善,为现场生产分析和决策提供依据。

参考文献

[1]王芳.提高SCADA系统预警报警准确率方法研究[J].中国新通信,2020,22(08):69.

[2]鲁晓斌,王迪,刘宇闲,等.油田SCADA系统预警报警功能优化[J].云南化工,2018,45(03):137.

[3]刘婷,郭宝灵,张建军.复杂报警机制在石西油田中的应用[J].中国管理信息化,2022,25(04):105-107.

[4]仲海梅,王海涛.双机热备环境下数据同步的研究[J].电子技术,2013,42(07):37-39.

[5]李文华,杨奔全.数据表结构的动态创建与动态更新[J].中国科技信息,2005(05):22-15.

责任编辑:张津平