唐 明
(齐鲁石化胜利炼油厂 自动化信息所,淄博 255434)
随着实时数据库广泛的应用,实时数据采集系统受到的关注度也在不断升高。数据采集接口能否正常运行将直接关系到实时数据的应用效果,如何高效地维护各数据采集接口正常运行尤为重要。实时数据采集接口平稳率以数字化的方式直接反应采集接口运行维护的质量与效率。如果每月要将接口平稳率维持在99%以上,需要提高实时接口的运行维护效率,发现问题能够及时判断出问题所在及原因,尽快处理,使实时接口平稳率能够始终运行在一个较高水平,以满足用户对实时数据关注及分析的需要。
实时数据采集接口平稳率采用的计算公式:
实时数据采集接口平稳率 =(接口实际正常运行时间 / 接口理论正常运行时间)* 100%
实时数据采集系统是一个复杂的网络在线运行系统,影响整个系统平稳率因素可能来自网络质量、采集程序自身、采集设备、集散控制系统(DCS)等。以上的任一方面出现故障,都会减少“接口实际正常运行时间”,从而直接影响最终的平稳率结果。
由于接口平稳率直接反应实时数据采集接口的运行状况,客观上也反应了维护工作的质量与效率。既然影响接口平稳率的因素众多,系统维护人员就会产生将故障类型与发生频率做相应的统计,分析故障高发环节和原因,及时处理,避免同类故障频繁发生的需求。相应的接口平稳率也应该细化,将故障类型、故障放生时间、故障持续时间、分类平稳率等分别记录并计算。
通常实时数据库除了记录数据的实际值与时间戳,还会记录该数据的数据质量信息,我们的研究就是基于数据质量信息结合实际情况中故障出现的现象,作为不同故障点的判断依据。
数据质量信息一般被划分为3个等级:Good、Suspect、Bad。我们常见的状态信息有以下9种:Unavai labl、Rep Fai ld、Good、Bad、No status、Bad tag、Initial、Suspect、Scan of f。
表1对9种状态,分别做了测试研究后总结出的故障点分布情况。
表1 故障点分布
通过对数据库中数据的不同质量信息,结合采集时间,综合判断出采集链路中的故障点,并对每个故障点做出平稳率分析。
图1 接口平稳率设计
数据质量分类判断,根据常见的9种数据质量,将故障点作5方面(网络、采集设备、采集程序、DCS系统、其它)判断分类。对于每种故障点进行故障状态赋值、故障发生时间记录、计算故障持续时间。根据理论正常运行时间与实际正常运行时间进行平稳率计算。
在表1中“No status”作为数据质量比较特殊,通常是因为采集程序与实时数据库不匹配,造成数据质量无法确认。此时单纯利用数据质量方式判断显然不够准确。所以这类接口判断需要开发程序,利用网络诊断方法和数据更新时间共同判断故障点。
数据库采用Infoplus.21实时数据库,利用数据库的存储和计算功能,分别建立能够反应各类故障的编码,设计如表2。
表2 各类故障的编码
根据以5种故障编码,分别建立相关的过程数据,如:采集状态、采集平稳率、故障发生时间、故障持续时间等;因数据采集的结果只有在装置处于连续运行状态下才有意义,所以在数据库设计时还要考虑到装置运行状态的信息存储,以便分析程序根据装置运行状态合理计算采集接口的平稳率。
表3 数据库设计
首先开发网络通讯诊断程序,用于判断服务器至采集站(历史站)网络通讯状况,程序每3 min扫描一次,将通讯状况,写入实时数据库
“GETSTATUS_NET”位号,以ON/OFF表示通/断状态。其他程序编写将在实时数据库内进行。
故障代码设计如下:
I f GETSTATUS_故障编码=“OFF”and GETOPR_DCS编码 = 1 then
//记录故障发生时间,累加故障次数
GETOFF_TM_故障编码=位号.IP_INPUT_TIME
GETOFF_TMS_故障编码= GETOFF_TMS_故障编码+ 1
End if
//故障持续时间为同一次故障中累计次数*3(程序每3 min扫描一次)
GETOFF_DURA_故障编码= GETOFF_故障编码* 3
月累计故障次数、时间:
GETOFF_TMS_M_故障编码=SUM(GETOFF_TMS_故障编码)
GETOFF_DURA_M_故障编码=SUM(GETOFF_DURA_故障编码)
接口平稳率:
GETPWL_故障编码=(1-(GETOFF_TMS_M_故障编码/ GETSUM))*100%
年累计故障次数、时间:
GETOFF_TMS_Y_DCS编码 = GETOFF_TMS_Y_DCS编码 + GETOFF_TMS_M_DCS编码
GETOFF_DURA_Y_DCS编码 = GETOFF_DURA_Y_DCS编码 + GETOFF_DURA_M_DCS编码
对实时数据采集接口平稳率进行细化分析,有利于系统管理员对故障进行分类统计,及时掌握系统中存在的薄弱环节,有的放矢提出各项事故处理预案,为提高系统的运维效率提供了帮助,也为基于实时数据库系统的各项应用提供了数据支持。