李书剑,庞天枫,杨泰波,刘才学
(中国核动力研究设计院,成都 610213)
故障诊断是保障核电站安全、稳定性运行的重要环节。在反应堆关键设备故障诊断专业领域,中国核动力研究设计院自主设计、研发的相关产品种类丰富,并在核电市场具有较广的覆盖面,主要产品包括:1)松脱部件监测系统(LPMS,loose part monitoring system),主要用于反应堆一回路内可能出现的松动件、脱落件和遗留的金属零件等的在线监测[1];2)堆内构件振动监测系统(VMS,vibration monitoring system,),主要用于周期性监测堆内构件的振动,防止堆芯吊篮压紧弹簧过度松弛和支撑严重劣化[2];3)主管道和波动管LBB(leak before break)泄漏监测系统,简称“LBB”,主要用于监测反应堆一回路主管道和波动管早期破前泄漏[3];4)反应堆冷却剂泵监测系统(CPMS,coolant pump monitoring system),主要用于主泵等旋转机械状态监测与分析[4]。上述产品主要采集振动、运行工况等状态数据,采集到的数据统称为 “反应堆关键设备状态数据”。目前,上述产品已应用于国内46台、海外4台核电机组,并且建立了基于大数据和互联网的反应堆远程智能诊断平台(PRID,platform of reactor remote intelligent diagnosis),每月收集超过10万条监测系统数据,而PRID依靠这些数据进行反应堆关键设备的状态分析、故障诊断及预警,已成功进行了60余次故障告警[5]。
由于不同核电机组的设备型号及结构,以及核电业主的实际需求存在较大差异,再加上软硬件版本提升和技术更新换代,上述产品应用在不同核电机组的版本不尽相同,甚至同一机组在不同运行周期的产品版本也可能存在差异,这直接导致了不同产品所产生的数据偏离了预先制定的统一标准规范,数据资源出现 “熵增”现象。另外,随着数据的积累量越来越大,数据的利用和管理效率也逐渐降低。而在数据使用后端,依赖于数据驱动的机器学习、深度学习等技术在设备故障诊断领域的深入应用也对数据质量提出了更高的要求[6-7]。
通过对核电故障诊断产品所采集的状态数据资源进行全面梳理和细致分析,总结得到了目前的资源现状,主要包括:
1)文件格式多样:包括“.dat”、“.tdms”、“.csv”等7种文件格式;
2)解析规则众多:海内外50个核电机组产品所产生的数据对应了20种不同的解析规则;
3)数据解析复杂:数据没有统一的解析规范,且编码方式、数据类型等存在差异。
上述现状导致了PRID在进行数据解析时耗时较长以及数据解析容易出错,十分不利于数据的统一管理和后续产品的开发与迭代。
本文将首先对核电故障诊断产品所采集的状态数据资源现状进行全面梳理和细致分析,然后基于数据标准化的相关概念,提出反应堆关键设备状态数据标准化的思路与方法;在此基础上,结合实际数据情况,进行工程应用实践,并评估数据标准化的效果,最后进行总结并提出思考,为未来核电市场产品供货、远程智能诊断平台拓展、健康管理平台开发等提供数据侧相关参考。
核电故障诊断产品所采集的状态数据资源主要来源于四大类:LPMS产品应用于50个核电机组,VMS产品应用于26个核电机组,CPMS产品应用于5个机组,而LBB产品应用于2个机组。在产品前端,数据采集主要通过基于LabVIEW 软件的程序实现,LabVIEW 是一款图形化的软件开发工具[8],在数据采集、硬件控制、数据交互等方面具有很大的优势[9]。通过LabVIEW 采集得到的数据文件定期传递至PRID,存储在专门的数据服务器中,并进行后续的处理与分析工作。
通过对数据资源进行全面梳理和细致分析,发现目前在数据的采集、读取、存储、使用等方面存在较多不统一、不规范等问题,具体表现在文件格式、文件命名、文件编码方式、文件数据类型以及文件解析规则等方面,本节将依次进行分析。
文件格式是指数据在计算机中存储而使用的对信息的特殊编码方式,每一类信息都可以有一种或多种文件格式保存在电脑存储中,每一种文件格式通常会有一种或多种扩展名(文件后缀)用于识别,不同的扩展名对应不同的打开和使用方式。
根据梳理,目前反应堆关键设备状态数据资源文件格式种类多样,具体如表1所示,其中,产品数据包括7种格式,其中大部分为 “.dat”格式,“.dat”格式文件通过二进制进行读写,具有较快的读写速度和较小的文件体积,适合高频数据采集以及大批量数据存储[10]。另外少量其他格式也为二进制文件(如 “.cbv”、“.DAN”等),“.tdms”与“.csv”格式需要辅助软件进行读取。
表1 数据文件格式
多文件格式存在的数据管理问题主要包括:1)文件格式种类较多,若进行统一管理,则需要对多种格式进行适配,增加了软件的复杂程度;2)数据隔离程度高,不同类型格式文件较难互相转化。
文件名是数据文件的标识符,在同一个地址下具有唯一性。目前故障诊断产品数据文件命名方式种类多样,具体情况如表2所示。由表可知,大部分文件的文件名只包含采集日期、时间信息,部分文件将传感器采集通道名作为文件名(如 “VRA01”),部分文件名中存在空格,容易影响文件名读取。
表2 数据文件命名方式
随着数据积累,为便于规范化管理和查询,应当具备通过文件名初步识别该数据文件所属电站、机组、类型、采集数据时间等关键信息,其中福清3号机组CPMS数据文件名较为规范(FQ03ZB20210820161117000.dat),能够有效通过文件名识别关键信息,但是该文件名分隔较少,难以阅读。
编码是信息从一种形式或格式转换为另一种形式的过程,使用预先规定的方法将汉字、数字或其他对象编成数码,计算机在处理文件时,将可以正常阅读或使用的十进制数字、英文字母、汉字等转化为二进制编码。对故障诊断产品的数据文件进行读取分析时发现,数据文件存在编、解码方式的不统一。
二进制数据文件在计算机中进行编码存储时分为大端编码(big-endian,亦称高尾端)和小端编码(little-endian,亦称低尾端)两种模式,大端编码将低位数据存放在高位地址,小端编码将低位数据存放在低位地址[12]。使用大端解码的方式读取小端编码的数据文件,将会出现解析错误。在现有的数据文件中,大部分数据文件都采用大端编码的模式,少部分采用小端编码的模式。除大、小端编码方式以外,数据文件中还存在字符的编码问题。目前数据资源中存在数字字符(如 “05”)、英文字符(如机组简标“HYH”)、特殊字符(如 “/”)和中文字符(如 “正常”),其中,数字、英文、特殊字符采用ASCII编码方式[13],中文字符采用GBK 规范[14]。
文件编码方式的不统一导致在文件读取时必须事先确定文件编码规则,否则将导致数据解析出错。
数据类型涉及到数据文件所存储的具体内容,根据针对上述所有类型数据文件的分析,可以总结得到目前数据资源所包含的12种数据类型,如表3所示。在目前已有的数据资源中,使用最多的数据类型是单精度浮点型(single)、短整型(short)和整型(int8),另外,“结构型”数据仅存在于“.tdms”格式文件中。
表3 数据类型
由于在产品研发阶段考虑到数据文件的高速采集和大量存储等情况,大部分产品的数采系统将数据以二进制形式存储,这就导致了数据文件不便于直接阅读,必须通过数据解析的方式将二进制数据转换成十进制数据。
数据解析规则是将二进制数据转化为可供正常阅读的十进制数据的关键,缺少数据规则将只能通过按位尝试等“硬破解”方法进行数据读取(如早年国外产品服务机构提供的数据),当遇到数据存在加密等情况时,没有解析规则将永远无法提取出有效数据。目前,数据解析规则复杂是反应堆关键设备状态数据资源中最为突出的问题,通过梳理,故障诊断产品数据资源目前具有20余项解析规则,如表4所示。
表4 数据解析规则
为解决数据资源现状中存在的问题,考虑应用数据标准化的相关方法,数据标准化用于解决数据不规范、不统一等问题,也称为标准化数据治理,包括标准定义、标准发布、标准维护等功能。数据标准化的目的在于尽可能对处于相对混乱状态的数据资源实现规范化管理,最大程度提升数据的使用便利程度和使用效率,为后续挖掘数据价值奠定基础[15]。针对核电故障诊断产品所采集的状态数据,数据标准化应当按照数据类型统一、解析规则少、解析快速方便、参数标准化度高、文件空间利用率高、容错性强、可移植性强、可扩展性强等原则进行设计,但在实际执行过程中会遇到较多问题,需要根据实际情况进行调整,数据标准化一旦执行将禁止轻易更改,因此需要对数据标准化方法进行充分测试[16]。对反应堆关键设备状态数据进行数据标准化将有助于:
1)针对存量数据:对当前存量的数据资源,进行规范化整理,使数据便于调取和使用;
2)针对增量数据:对未来增量的数据资源,数据产生和存储按照标准化执行,使数据统一。
本文提出的数据标准化思路如图1所示,主要流程即对照数据资源现状中存在的问题,进行标准化规范的定义与发布,通过标准化规范的约束,对原始较为混乱的数据资源进行强制化、规范化管理,最后形成完整的数据标准化流程体系。本文主要根据上述思路,从文件格式、文件命名、文件编码方式、文件数据类型、文件解析规则、数据存储与读取等方面入手开展数据标准化的实践。
图1 数据标准化的流程
经过对现有数据资源的梳理,以及查阅相关资料,包括对特殊格式数据(如 “.tdms”)进行调研,结合目前状态数据文件的实际情况(以 “.dat”数据格式为主),拟采用“.dat”文件格式作为数据存储文件格式。
使用“.dat”格式的主要优点包括:
1)使用便利度高:与现有数据、各类系统软件适配,现有的LabVIEW 数据读取、分析软件可以照常使用,使用方便简单,非标准化“.dat”数据文件格式可以较为简单地转化为标准化“.dat”数据;
2)软件适配度高:“.dat”文件格式采用二进制方式存储数据,占用内存小,编码方式简单,可以使用任何软件进行读取,适用于LabVIEW、C、Java、Python、MATLAB等众多编程语言,不存在知识产权限制;
3)数据安全性高:可以通过适当的加密方式对 “.dat”中的二进制数据进行加密,提高数据的安全性[17]。
目前,使用“.dat”格式存在以下问题:
(1)高度依赖于解析规则的准确性:解析规则出现错漏将直接导致数据解析出错,另外,数据规则过多也容易导致数据解析出现混乱,因此需要优化解析规则,确定较优的数据存储方式;
(2)数据所包含的信息不够全面:文件中仅包含数据内容,不包含对数据的解释信息,必须依赖解析规则中的解释字段才能识别解析数据的意义,因此,需要尽可能地将解释字段也包含在数据文件中。
3.2.1 机组简标规范
现有的数据文件中,部分文件存在 “核电机组简标”这一字段,根据解析出来的数据,该数据长度不固定,如“TW05”、“HYH05”,在字符前还有部分非打印ASCII码字符,如文件结束传递标识等。为进行统一,现对核电机组简标做如下标准化规定:
核电机组简标统一由5位字符组成,通用格式可以表示为:“XXXYY”,其中,“XXX”表示电站简标,为三位大写英文字母,“YY”为两位数字,代表机组编号。
核电机组简标的命名方式借鉴了国际航空运输协会制定的全球机场代码命名规则,电站简标由三位字母组成,为核电基地拼音首字母大写,当核电基地为三字时,取每个字的拼音首字母,当核电基地为二字时,取第一字拼音首字母和第二字拼音前两位,如红沿河(HYH)和海阳(HYA),当出现冲突时,新机组名称应当更换为其他字母。新命名规则的优点是能快速识别当前电站和机组,且可使用的字母范围较广。由此对全国所有在运行及规划机组进行命名,制定机组简标标准规范,如表5所示。
表5 机组简标标准规范(节选)
3.2.2 文件命名规范
统一机组简标后,可以对文件命名格式进行规范,文件命名格式可以表示为:XXXYY_TTTT_YYYYMMDDhhmmss_AA.xxx,具体表示方法为“机组简标_类型_日期时间_编码.后缀名”,其中,各字段对应含义如表6所示。值得注意的是,文件命名规范规定了每个字段的长度,所以在 “类型”字段中,所有的产品均采用了四位字母的编码方式,并以产品英文缩写为主,若字符不够四位(如“VMS”),则使用第一个实词的非元音字母进行补位(如“VBMS”)[18]。
表6 文件命名格式规范
各个字段以下划线 “_”分隔,便于阅读,文件名长度固定,包含电站机组、数据类型、日期时间等关键信息。
1)数据编码规范:统一使用低位有效、大端编码方式进行数据存储,即将二进制数据的高位存放在内存的低地址中,将二进制数据的低位存放在内存的高地址中,同时在每个内存空间中先存放字节的低位数据。对于目前采用小端编码方式存储的数据,采用交换字节顺序等方式将其转化为大端编码模式。在后续数据读取时,同样按照低位有效、大端编码的方式进行读取。
2)字符编码规范:目前数据资源中存在英文字母字符、数字字符、特殊符号字符和汉字字符,其中前三种字符属于ASCII编码,汉字属于GBK 编码规范,在数据标准化中,将统一使用UTF-8的编码方式。UTF-8编码是一种使用广泛、包含字符数量极多的一种编码规范,使用UTF-8编码可以将所有语言体系下各种类型的字符都涵盖[19]。
3)字节对齐规范:统一使用1字节对齐模式,需要在编译、解析软件中进行说明。当使用其他字节对齐方式时,可能会出现空字节等情况[20]。
数据是数据文件最重要的内容,数据类型标准化对已有的数据类型进行统一编码,规定对应的字节数、位数和计算规则,在后续数据的存储和读取中都统一使用该标准规则,将数据资源中的12种类型缩减到7种,并给每一种数据类型赋予固定的“编码”,制定的数据类型标准规范如表7所示。
表7 数据类型规范
为了将解析规则标准化,首先制定标准化通用解析规则,当前阶段,准化通用解析规则(包括各类标准化规范)都使用Excel表格形式建立,后续逐步在数据库中建立。标准化通用解析规则如表8所示,其中,“循环采集次数”指某些产品会进行特定次数的平滑计算,该次数为前期指定。
表8 通用解析规则表
将VMS某产品的数据解析规则转化成通用解析规则,如表9所示。
表9 解析规则标准化后的VMS某产品数据解析规则(节选)
通用解析规则的优点在于:
1)规则表形式结构标准固定:规则表的结构一经确定就不需更改,只需要往里面填入对应字段,且填写内容除属性、通道、单位外,全部为数字,便于软件进行识别;
2)规则表适配度高,解析规则得到优化:根据目前的实践情况,通用解析规则表适配于松脱、振动、主泵的所有“.dat”文件格式,也适配于 “.sig”、“.cbv”等非标准格式;
3)阅读简单,数据清晰:通用解析规则表在填入内容以后,内容非常清晰,因为较多需要重复填写的内容都可以赋空值,由程序自行运算,因而相较于原始解析规则,可阅读性得到了较大提升。
3.6.1 “八字节法”标准化数据存储方法
数据存储使用“八字节法(8-Byte,B8)”标准化数据存储方法,对应“八字节法(B8)”标准化读取方法。“八字节法(B8)”标准化数据存储方法是一种为故障诊断产品数据定制的数据存储方法,规定数据文件由以下三部分内容构成:1)头文件;2)头文件结束标志;3)数据。
1)头文件:头文件部分按照每八字节存储一个 “属性”下的一个 “通道”的 “单位”和 “数据”相关信息,故称为“八字节法”。“八字节法”头文件定义规则如表10所示。
表10 “八字节法”头文件定义规则
“八字节法”限制每个 “属性”、“通道”以及 “单位”的字符串长度为127个字节,一般情况下字符长度满足要求;数据类型小于127 种,根据数据类型标准表的定义,当前只定义了7种数据类型;数据数量为32位整型,数据范围非常大,各种类型数据均满足要求。
2)头文件结束标志:头文件所有数据存储完毕以后,存储一个全部为1(0xFF)的八字节数据作为头文件结束标志。
3)数据:在头文件结束标志以后,按照头文件的规定顺序存放数据。
3.6.2 数据的读取方法
当数据文件按照 “八字节法”进行存储时,数据的读取将变得非常简单,读取八字节格式的文件不需要任何的解析规则,仅需要八字节格式编码的逆算法——解码算法即可。
八字节格式文件的读取方式如下:
1)以流式数据方式打开 “.dat”文件,每次将八个字节的内容读入内存,其中,第一个字节内容为 “属性”字段字节长度,第二个字节内容为 “通道”字段字节长度,第三个字节内容为 “单位”字段字节长度,第四个字节内容为数据类型,第五至八字节内容为数据数量,解析规则和表完全一致,将读取并解析后的数据存放进内存中;
2)当读取到八个全为1(0xFF)的字节时,头文件读取结束,此时内存中的头文件解析数据即为该文件的“目录”;
3)在头文件结束标志后,按照 “目录”中的 “属性”字符长度、“通道”字符长度、“单位”字符长度、数据类型和数据数量,依次读取对应的数据并解析。数据读取完成后,同样存储在标准化数据结构体中。
3.6.3 “八字节法”的优点
“八字节法”标准化数据存储方法具有如下优点:
1)数据文件完全脱离于解析规则:按照 “八字节法”存储的数据文件不再依赖于复杂的解析规则,通过算法解码可以直接读取文件的全部内容;
2)数据解码方法简单:通过简单的解码算法即可将文件内容解析出来,算法简单,易于理解,通过编写简单的程序模块即可实现数据解析;
3)数据文件结构固定:所有的八字节文件格式固定包括“头文件”、“头文件结束标志”、“数据”三部分内容,使文件各部分易于识别,各部分内容长度根据需要动态变化;
4)文件标准化程度高:数据文件经过文件格式标准化(均采用“.dat”存储格式)、文件命名标准化、数据类型标准化和编码方式标准化(大端编码),标准化程度高;
5)易于错误排查:根据八字节编码特性和头文件结束标志,容易排查“.dat”文件是否存在字节错位、漏字节等情况。
针对反应堆关键设备状态数据现有资源,通过文件格式标准化、文件命名标准化、文件编码方式标准化、文件数据类型标准化、解析规则标准化以及数据存储与读取标准化等手段,初步实现了数据标准化,部分经标准化后的数据资源如图2 所示。可以看出,所有的数据文件都是“.dat”格式,并且严格按照前述机组简标规范和文件命名规范进行命名,所有的数据文件统一采用大端编码、字符采用UTF-8编码、1字节对齐方式,并且所有文件都按照“八字节法”标准化方法进行存储。
图2 经过标准化处理后的数据文件(部分)
通过数据标准化,故障诊断产品所采集的反应堆关键设备状态数据资源在统一性、标准性和规范性上得到了极大提升,数据标准化的效果如表11所示。
表11 数据标准化前后的效果对比
数据标准化主要聚焦于缺乏规范性、统一性的数据资源。本文首先梳理了反应堆关键设备状态数据的数据资源现状,整理了当前数据资源存在的问题;然后提出了数据标准化的思路和方法,从文件格式、文件命名、文件编码方式、文件数据类型、解析规则、数据读取、数据存储等方面进行数据标准化实践,定义了机组简标规范、文件命名规范、数据编码规范、字符编码规范等标准化规范用以对数据资源进行约束。通过数据标准化实践,反应堆关键设备状态数据资源的统一性、规范性和标准性得到了极大提升,充分提高了数据质量和管理的效率。
随着“数字化反应堆”建设的推进和数字化转型的迫切需求,数据资源将迎来新一轮的使用和研究热潮,为了提升数据资源的使用效率、增强数据质量,确保最大限度挖掘数据资源的内在价值,数据标准化应该作为一种重要的数据管理手段贯穿数据使用的全流程,避免由于数据资源混乱而造成的数据浪费。除数据标准化以外,数据管理中还包含了数据安全管理、数据质量管理、数据资产管理、数据生命周期管理等多方面,后续可以根据需要在核电故障诊断产品数据资源中进行进一步探索和实践。