马 波 王 星 邢 述
(1.北京化工大学 机电工程学院 北京 100029)(2.中国特种设备检测研究院 北京 100029)
基于风险的检测(RBI)技术是目前在船舶、化工领域应用较为前沿的技术[1-2],设备的检验维修从传统定期检验方式发展为基于设备风险等级的检验方式,不仅能及时的发现设备潜在的破坏可能,避免恶性事故的发生,而且极大的优化检验资源,延长设备使用年限,提升了企业效益。RBI技术的重点包括设备风险等级评价和检验策略制定,需要对设备的损伤模式和损伤机理进行识别和确定,由于不同的损伤机理所对应的损伤因子计算方法不同,而损伤因子又直接影响风险等级的结果,此外检验策略制定需要根据损伤模式和损伤机理“对症下药”。但是由于设备服役环境复杂、产品介质成分多,要准确判断属于哪类损伤模式需要相关人员具备材料学、腐蚀与防护、化工工艺、力学、无损检测等相关专业知识,并且需要对相应设备有足够的了解。目前对于损伤模式识别方法主要参考GB/T 30579[3]和GB/T 22610.4[4],由具备专业资质的风险评估人员进行判断和确定,人力资源消耗大,工作效率低下。
本文针对承压设备损伤模式识别目前存在的问题进行研究,以相关标准为依据,结合专家经验提出了新型损伤模式识别方法,分析得出识别损伤模式的关键特征指标,找出特征指标与损伤模式的对应关系,并基于规则推理引擎建立损伤模式识别规则库,构建了承压设备损伤模式识别系统,解决了以往单纯依赖专业人员的识别方法,同时也提高了损伤模式识别的效率和准确性,具有不错的工程应用前景。
损伤模式指设备的失效模式,不同的损伤模式均会导致承压设备破损、效率降低,严重时会引发重大安全事故[5]。因此如果能在承压设备使用早期就识别出设备的损伤模式,进而根据损伤模式的特点制定合理的维护措施,就能延长设备使用寿命,减少安全事故的发生。
承压设备的损伤模式主要包括腐蚀减薄、应力腐蚀开裂、外部损伤和脆性断裂,每种损伤模式又分为若干种损伤机理[5],见表1。
表1 承压设备常见的损伤模式和对应损伤机理
损伤模式的识别主要依据相关标准的规定和专家经验,在GB/T 22610.4中提供了通过条件匹配的方式进行损伤模式识别的方法。表2中,左侧是条件,右侧是结果,根据设备的相关信息,满足相应的筛选条件,则表明设备具有相应的损伤模式。这种判断方法相当烦琐,需要回答所有的问题才能给出结果,另外由于问题不够规范,容易引起歧义导致错误的结果。
表2 损伤机理识别方法
通过对损伤机理对应的筛选条件分析和研究,并参考了专家在解决此类问题时的经验,选取最能反映设备损伤模式的特征参数。找出特征参数与损伤机理之间的关联,建立损伤模式识别规则库,通过特征参数的状态就可以推断出设备存在的损伤模式和其对应的损伤机理。
对于损伤模式的识别判断是从表征推断本征,在承压设备和其服役环境相互作用下,主要考虑材料和环境的作用,综合考虑状态参数对损伤模式识别的影响权重,从设备基本信息、运行环境以及日常维护三个方面得出了最具代表性的7个特征参数作为规则的前提条件,给每个特征参数分配唯一的特征编码,依次为“Q1、Q2、Q3、…”,并且规定了每个特征参数的数据类型,包括数值型、布尔型和枚举型,见表3。
表3 损伤机理判断特征参数
通过搜集300多个承压设备评估报告,根据特征参数与损伤模式之间的关系,并参考行业内权威专家的经验建立知识规则表,见表4,“A01、A02、B01、…”代表规则编号,每条规则对应不同的数据输入组合,如果事实符合则根据推理得出对应的损伤机理。
知识库中的每条规则解释一个用于判断识别的知识框架。规则使用IF-THEN表达,其中IF部分叫作前提,THEN叫推理。使用规则引擎的优点在于规则库可以动态扩充,新的判断条件也可以添加到规则库中,保证规则库的准确、全面和高效[6]。此外,还需要建立常压设备材料库和介质产品数据库,尽可能多的覆盖所有的涉及的相关材料和介质,在进行推理判断时,选择相应的材料或者介质,可以直接在数据库中调用相关参数,可以极大提升判断识别的效率。
表4 损伤模式规则表
本文基于Drools规则引擎建立了损伤模式的识别系统,Drools(又称JBoss Rules)是用JAVA语言编写的规则引擎,是Drools开源社区的项目,该引擎采用了Rete算法,并提供了自己的规则语言[7]。主要由三部分组成:事实库、规则库和推理机,工作执行流程如图1所示。
图1 规则引擎工作流程
1)事实库中的事实对象加载进入Drools工作内存,利用模式匹配器与规则库中的产生式规则进行匹配,满足匹配的规则会被激活并放入议程中。
2)匹配的过程中可能同时激活多个相互冲突的规则,议程会根据相应的冲突决策方法进行内部分规则排序。
3)依次执行议程中的规则,有些规则的执行会导致其他规则被激活,重复执行上述步骤,直到所有的规则执行结束。
使用Drools规则引擎的优点在于实现业务规则和系统框架的分离,更专注于业务逻辑开发和应用,有效降低应用程序的复杂性,减少维护成本。
根据Drools规则引擎和损伤模式识别方法的特点,建立损伤模式推理识别系统,主要包括三个模块:推理引擎模块、业务逻辑实现模块和页面交互模块。如图2所示,核心推理部分由推理引擎实现,业务逻辑部分由业务逻辑组件处理,业务逻辑将给定的事实条件交给规则引擎,Drools规则引擎在给定的事实基础上进行规则的匹配和推理,将推理结果返回给用户,同时从用户处获取输入事实。
图2 系统架构
使用JAVA语言进行系统的开发,具体实现步骤如下:
步骤1:创建Drools项目工程。
步骤2:根据编写好的规则表,编写规则文件。
步骤3:编写业务逻辑层和处理事实对象的Java Bean类,可以在规则中对这些对象进行任何读写操作。
步骤4:设计用户交互界面。
步骤5:创建测试文件,对规则文件进行测试。
其中,在Drools中规定了规则文件的编写形式和特点,同时也规定了规则文件的调用和执行,可以使用后缀为.DRL的文件,也可以使用XML和EXCEL表格文件来储存规则。如果使用其他的规则引擎则需要遵循其对应的编写规定。
本文所提出的基于规则引擎的损伤机理识别系统在某燃料油厂储罐完整性管理系统中应用,该系统采用B/S架构。损伤机理识别相关的特征参数可以直接从管理系统的基本数据库中调用,缺失的数据项通过辅助判断,就可以迅速得出设备存在的所有相关损伤机理,为设备风险评估计算和检验维修策略的制定提供参考。
图3 损伤模式推理识别输入界面
图4 损伤机理推理识别结果
表5 损伤模式识别判断结果
通过对该厂的249台储罐壁板和底板损伤模式进行分析,发现储罐的损伤模式以腐蚀减薄为主,如果安装了保温层则要考虑保温层下的腐蚀(CUI),脆性断裂和腐蚀开裂很少出现,分析结果与实际情况相符,除一些生产环境复杂、运行条件特殊的情况需要专家辅助判断外,本系统都能够快速、准确地实现储罐损伤模式识别判断,从工程应用方面是不错的尝试。
本文针对以往承压设备损伤模式识别判断时存在的问题,对传统的识别判断方法进行分析和探讨,结合行业内专家经验,提出了新的解决思路,主要做了以下两方面工作:
1)从损伤模式本质出发, 考虑材料和环境的影响,得出损伤模式识别判断影响权重最高的7种表征参数,并建立了表征参数与损伤模式之间的关联,极大地简化了损伤模式识别判断复杂度。
2)结合上述方法的特点,提出了基于规则引擎的损伤模式识别方法,并构建了损伤模式识别判断的知识规则库。并结合实际项目,开发了基于Drools规则引擎的损伤模式识别判断系统,具有很好的应用前景。
[1]陈学东,杨铁成,艾志斌,等. 基于风险的检测(RBI)在实践中若干问题讨论[J]. 压力容器,2005, 22(07):36-44.
[2]Dou Z, Jiang J C, Wang Z R, et al. Applications of RBI on leakage risk assessment of direct coal liquefaction process[J]. 2017, 45: 194-202.
[3]GB/T 26610.4—2014 承压设备系统基于风险的检验实施导则 第4部分:失效可能性定量分析方法[S].
[4]GB/T 30578—2014 常压储罐基于风险的检验及评价[S].
[5]杨剑锋,雍莎. 基于风险的检验(RBI)技术在常减压装置中的应用[J]. 中国特种设备安全,2012,29(09):43-45.
[6]GB/T 30579—2014 承压设备损伤模式识别[S].
[7]张渊,夏清国. 基于Rete算法的JAVA规则引擎[J].科学技术与工程,2006,6(11):1548-1550.
[8]李青义. Drools规则引擎在钣金检验特征识别中的应用[J]. 成组技术与生产现代化,2013,30(04):14-17.