陶 雯,朱 月,李荣雨
(1.江苏第二师范学院数学与信息技术学院,江苏 南京 210013;2.南京工业大学计算机科学与技术学院,江苏 南京 211816)
故障诊断系统是企业设备安全运行的重要保障[1]。自从故障诊断技术[2]出现之后,经过几十年的发展,故障诊断系统日趋完善,对诊断的实时性、可靠性、网络化和集成化等性能提出了更高的要求。
信息时代,由于因特网的迅速发展,通过现代通信技术能够实现故障诊断的网络化服务。企业将实时采集的数据存入数据库服务器中,由相关专家提供强大的故障诊断技术支持,通过网络的及时传输,实现了对故障的提前预测和及时维护。
故障诊断系统是基于浏览器/服务器(browser/server,B/S)模式的跨平台应用。B/S模式便于系统的管理、维护和扩展,只需在客户端运行浏览器就可以访问服务器端数据,极大地提高了故障诊断的效率。
故障诊断系统具有如下特点。
①基于Web的分布式应用,可有效实现用户异地诊断维护。
②应用环境为标准的浏览器,简化了图形用户界面(graphical user interface,GUI)的开发,方便了跨平台的应用,降低了开发成本。
③便于用户扩展以及其他应用集成。
本文介绍了故障诊断系统的概况,提出了基于聚类神经网络(fuzzy C-means combined with artificial neural network,FCM-ANN)算法的故障诊断方法。首先,对故障诊断系统进行了详细的需求分析,并对系统进行概要设计,介绍了各个功能模块。然后,阐述了采集数据、采集设备、数据存储等相关技术,介绍了数据预处理方法。最后,阐述了在系统中的故障诊断方法,并对运行结果进行了解释和说明。
传统的基于模糊C均值(fuzzy C-means,FCM) 算法[3]或基于人工神经网络(artificial neural network,ANN)算法[4-5]的异常检测方法,检测效率低下、误报率较高,浪费大量人力、财力。FCM-ANN算法[6]的故障诊断三层架构模型如图1所示。
图1 故障诊断三层架构模型图
故障诊断三层架构的功能分别如下。
①FCM层。
该层依据指定的相似度标准,对数据集进行划分,使正常数据和故障数据归属不同的类簇。每个簇内部具有高度相似性,簇之间高度分离,大大降低了后续ANN训练数据的复杂度。
②ANN层。
该层针对上层得到的多个簇,利用ANN分别对每个簇和离线历史故障数据进行网络训练。经过该层ANN训练网络,故障诊断准确率得到提高。
③ANN集成层[7-8]。
理论研究发现,各子ANN差异性越大,集成效果越好。本层针对差异性大的各个ANN进行集成,能显著提高ANN的泛化能力。
相比较传统的神经网络[9-10]故障诊断方法,将FCM-ANN算法应用到故障诊断方法中,能显著降低数据集的复杂度,在一定程度上减轻了神经网络学习的压力。在不影响样本多样性和全面性的前提下,该方法特别适用于大型企业的大数据平台分析。
相比传统的神经网络方法,基于FCM-ANN的故障诊断方法在诊断率上有较大提高,相应的误报率和漏报率也较低,诊断效果较为显著。
故障诊断系统在我国工业自动化领域发挥着重要作用,研究并开发设备故障诊断系统有助于提高设备的可靠性和安全性,将故障的损失降低到最低点,在一定程度上降低了企业的成本。
①技术可行性。
随着计算机和网络技术的发展,除了硬件的更新换代,软件技术也得到了长足发展,数据库存储海量化,计算模式向并行化、异步化发展,计算速度不断加快。目前,系统开发由传统的桌面开发向基于客户/服务器模式(client/server,C/S)模式、B/S模式过渡,面向对象的开发技术和多种系统开发架构的支持,使得现代Web服务应用越来越灵活。
②经济可行性。
计算机的出现极大地解放了人力、财力,节约了企业的成本。计算机的成本相比人工来说,价格低廉,处理效率高。因此,现代企业的信息化生产和管理是当代社会发展的不二选择。
③操作可行性。
计算机查询速度快,使用方便,只要对使用用户进行简单培训,就可以操作和使用。系统基于B/S结构模型,无需在本机上安装程序,只需要通过浏览器就可以轻松访问。
④功能需求。
从系统使用者的角度出发,故障诊断系统首先要对设备进行实时监视,发生异常或者故障预兆要及时进行警报,通知相关技术人员进行维修;然后,通过对用户输入的故障信息进行分析和诊断,判断故障的类型并进行相应维护;最后,对设备未来状况进行预测,分析设备的使用年限。根据以上分析,系统功能需求总结如下。
数据库存储设备运行的状态数据,为设备状态检测、故障诊断、寿命预测提供大量研究样本。
①对数据库进行备份。
②对异常状态进行报警,提醒相关人员。
③对设备进行故障诊断。
④提供故障设备的解决方案。
⑤提供人员维护和专家技术支持。
⑥对系统进行权限设置,防止无关人员的误操作。
通过对以上需求的分析,总结该故障诊断系统所要达到的目标如下。
①在线监测仪诊断功能。
②高可靠性和可维护性。
③对多种设备的适应性,
④对大量数据的存储和管理。
⑤实时性和快速性。
南京某企业多条生产线使用的设备故障诊断方法基于传统的分布式传感器和报警装置,有些设备的故障征兆还要靠人工观察,具有随机性和主观性。此外,通过人工观察不能检查出所有的故障;而且传统装置的检测存在诊断率低、误报率高的现象。
随着通信技术、无线传感器技术的发展,建立反应设备实时监控系统并对采集的海量状态数据建立智能故障诊断系统,是企业发展的内在要求。大数据、云计算的发展为智能故障诊断系统提供了必要的技术支持。
本系统采用三层架构,基于.NET Framework 3.5开发环境以及ASP.NET开发平台,以Visual Studio 2008为开发工具,使用SQL Server 2008建立后台数据库。系统界面简洁、美观,用户操作简单方便、功能完备适用。
故障诊断系统组成部分主要包括:人机交互界面、解释模块、神经网络学习模块、动态综合数据库、知识数据库管理模块等。故障管理系统结构如图2所示。
图2 故障管理系统结构图
①人机交互界面。
用户、领域专家和技术工程师通过人机界面与系统进行交互。工程师和领域专家通过人机交互界面,对神经网络学习模块、动态数据库、知识库、样本知识库等进行管理、更新和维护。用户通过人机交互界面提出故障特征问题,并最终得到故障解决方案。
②解释模块。
解释模块是系统与所有用户之间交互的基础。它的作用是将用户输入的故障特征及其他故障信息转换为系统能理解的数据,并将系统最后的输出结果(如故障产生原因和故障解决措施)转换为用户能够理解的信息。
③神经网络学习模块。
神经网络学习模块提出需要的网络结构,训练的数据样本以及使用的神经网络算法等。本系统针对化工设备进行故障诊断,采用模糊聚类与三层结构神经网络相结合的故障诊断算法,实现对故障的诊断。
④知识库。
知识库用于存放相应的知识,包括训练样本知识库、网络结构知识库、故障描述知识库、故障原因知识库、故障解决方案知识库、历史记录知识库等。在本系统中,知识库中存放的是化工设备常见的故障征兆、产生的原因和解决方案。在此基础上,确定神经网络的学习样本。
⑤知识数据库管理模块。
知识库通过数据库进行存储和管理,工程师或者领域专家通过数据库能够实现对知识库的更新、管理和维护,实现系统的知识库动态变化,增强了系统的扩展性。
⑥数据采集模块。
数据采集模块是指从传感器或其他检测设备中获取电量、非电量信号和少部分人工采集的数据,并将其传到上位机中进行分析处理。
⑦动态综合数据库。
动态综合数据库中存储的是与化工设备相关的故障信息和设备正常运行时的状态信息。这些信息往往是用户对设备信息的语义描述,通过解释模块转换为更规则的数据描述。
在工业生产时,需要实时监控现场各种反应容器和储罐的状态,主要包括温度、液位、压力、容积等数据。企业传统的方法是通过人工采集或者单片机读取温度计、压强表的值。这些方式效率和实时性低,采集精度有限,不利于企业的发展。该企业主要采用PLC控制系统,直接通过用户数据报协议(user datagram protocol,UDP)通信就可以将数据传输到上位机,完成数据采集。其他测量仪器有AWG系列型号光电智能液位仪、铂电阻传感器、热电偶传感器、压力传感器、雷达液位仪、若干指示仪和传感器。
由于直接获取到的数据含有噪声数据,如果没有经过数据预处理,故障诊断就没有高质量的数据来源。故障诊断系统依赖高质量的数据作为分析支撑。数据预处理包括数据清洗、数据集成、数据变换和数据规约[11]。由于是对设备故障的诊断,异常数据不能随意去除,一般只去除无关数据。数据的处理涉及模拟、数字信号的转换;将每隔特定时间的瞬时幅值作为采样值,即对模拟量进行离散化处理。
采集并处理后的数据需要及时存储。SQL Server是Microsoft公司研发的、基于C/S模式的关系型数据库,安全性、可靠性和扩展性较高。本文使用SQL Server 2008数据库进行数据处理,实现对设备、仪表各种状态的记录,便于后期查询与分析。数据库的数据处理流程如图3所示。
图3 数据处理流程图
数据经过采集和预处理之后存入数据库,随后进入神经网络学习模块进行训练和预测。该模块使用的算法为基于FCM-ANN的故障诊断方法。首先对大型数据集进行模糊聚类预分析;然后通过多网络并行学习;最后对多个结果进行神经网络集成,并输出故障诊断结果。故障诊断模块结构图、FCM-ANN算法流程分别如图4和图5所示。
算法单元是故障诊断系统的“大脑”,用来对数据作出处理和决策,具有自主决策的能力,包括故障识别和定位、故障报警和决策、故障修复和维护。
图4 故障诊断模块结构图
图5 FCM-ANN算法流程图
知识库存放已知故障诊断信息的分析知识。知识库中的指定规则来源分为两部分:一是专家的理论知识,二是在实际运作中产生的历史数据。知识的表示方式有语义网络、产生规则、谓词逻辑表示等。目前,知识、数据库技术相结合形成的知识库系统,使得计算机在推理、决策方面越来越智能。
知识的表示就是将故障诊断领域内的相关知识以适当的形式存储到数据库中。对于具有因果关系的故障原因知识库,采用产生规则作为知识库的表示模式。其规则形式为:RULE 规则编号 IF〈前提〉THEN〈行为〉。RULE规则表示方法如图6所示。
图6 RULE规则表示法
对于事实和概念类型的知识,需要知识的结构化处理。采用数据库存储技术,建立知识库的管理系统,以保证知识库的独立性和完整性。
利用既存的知识库,可以进行一些故障的诊断;通过对规则的推理,可以推理出相关问题的结果。规则推理存在推理脆弱和知识获取困难等缺点,因此除了具备足够的知识以外,仅依靠这些知识库无法满足智能诊断的要求。
本文是以基于FCM-ANN算法的故障诊断方法为主、知识库规则推理为辅,形成的智能故障诊断系统。故障诊断模块流程如图7所示。
图7 故障诊断模块流程图
由于知识库的局限性,许多未知故障仅由规则推理是无法准确诊断的,因此需要通过智能诊断为知识库提供丰富的规则表示。知识库是故障诊断的基础,是算法决策的支撑。算法的样本来源于样本知识库,算法对故障诊断的结果及产生的原因构成故障原因知识库,故障的解决措施构成解决方案知识库。这些大量存储的知识库还有利于对类似故障的诊断,即通过对知识的调用和检索,提升了故障诊断的速度和效率。
知识库需要实时或定期更新,神经网络学习模块针对FCM-ANN算法学习产生的新知识,如样本知识、故障描述知识、解决方案知识等,扩充知识库的内容。这个过程可以称为知识的获取。智能故障诊断系统的知识获取过程应在减少人工干预的前提下,实现知识的自动获取,因此常需要知识库管理系统实现知识库的自我完善。
本系统针对某工业企业的众多生产线的部分设备进行故障诊断。数据采集界面主要对部分反应气体(如氧气、氮气、乙烯等)的罐前压力和罐后压力、部分反应容器的温度、液位和容量进行采集。
图8为氮气和氢气的压力图,图9为氧气的流量图。通过对比分析,大部分数据显示正常,部分数据由于设备故障导致其异常,在诊断时能快速诊断出故障设备。系统测试时较为稳定,能检测出大部分故障预兆,降低了企业风险。
图8 氮气和氢气压力图
图9 氧气流量图
本文首先将模糊C均值算法与神经网络相结合,提出了基于FCM-ANN算法的故障诊断方法。该方法极大地提高了诊断率,误报率和漏报率也较低,诊断效果较为显著。对该故障诊断方法的有效性和实用性进行了验证,即在某化工企业故障诊断系统平台上进行了测试和使用。最后将该故障诊断方法运用到该企业的故障诊断系统中,从数据采集、数据处理出发,对如何在系统中使用FCM-ANN算法进行了阐述。系统运
行结果表明,该研究提高了系统准确率,增强了系统实用性。