可实时故障诊断工业循环水浓缩倍数测量仪
韩晖;罗益民
【摘 要】介绍一种可在线实时故障诊断的工业循环水浓缩倍数测量仪,浓缩倍数测量仪主芯片采用STM32F107VC,带Lunix操作系统,主要负责电导率、温度的测量,然后进行数据处理,得出并显示浓缩倍数,通过支持向量机对测量系统进行故障诊断。通讯方式采用基于MODBUS协议的RS485通讯。浓缩倍数测量仪首次实现对智能仪表进行实时故障诊断,具有很重要的工业价值。%A real time online troubleshooting industrial circulating water concentration ratio meter was described in this pa-per.Its main chip is STM32F107VC,with Lunix operating system.The concentration ratio meter is mainly for measuring conductiv-ity and temperature,then the data was processed.Finally,the concentration factor was obtained and displayed.The fault diagnosis of the measuring system was carried out by support vector machine. Communication method was based on Modbus protocol 485
communication.It is very important to realize the real-time fault diagnosis of intelligent instruments for the first time. 【期刊名称】《仪表技术与传感器》 【年(卷),期】2016(000)009 【总页数】4页(P26-28,93)
【关键词】浓缩倍数;故障诊断;电导率;支持向量;通讯 【作 者】韩晖;罗益民
【作者单位】南京工业大学电气工程与控制科学学院,江苏南京 211816;南京工业大学电气工程与控制科学学院,江苏南京 211816 【正文语种】中 文 【中图分类】TP216
对工业循环水浓缩倍数的控制,随着工业的发展显得越来越重要,而测量系统一旦发生故障,会对工业生产造成很大的影响,然而,目前还没有带智能故障诊断的浓缩倍数测量系统。国内的工业现场,基本都是采用人工判断工业仪表是否发生故障,根据经验判断发生了什么样的故障。
浓缩倍数测量仪处于不同运行状态时,它显示的浓缩倍数值、电导率值和温度值是不同的,对这三个值进行合理分析,即可得出浓缩倍数测量仪运行状态,这样就可以有效地对浓缩倍数测量仪进行故障诊断。
循环水系统日常运行时,浓缩倍数的检测一般是根据循环水和补偿水中某一种组分的浓度或某一性质之比来计算的[1]。
最准确的测量方法是通过检测循环水和补充水中的K+ 浓度的比值,但是测量K+浓度容易受环境因素的影响,所以浓缩倍数测量仪采用测量循环水和补充水的电导率的比值的方法。
1.1 浓缩倍数测量仪系统简介
系统框图如图1所示,在线故障诊断的工业循环水浓缩倍数采集系统,包括浓缩倍数测量单元和故障诊断单元,测量单元包括循环水温度和电导电极探头、主芯片和数据输出端,所述传感器包括温度传感器和电导电极。 1.2 硬件介绍
STM32F107是全新STM32互连型(Connectivity)系列微控制器中的一款性能较强产品,此芯片集成了各种高性能工业标准接口,标准外设包括10个定时器、2
个12位1-Msample/s A/D(模数转换器) (快速交替模式下2M sample/s)、2个12位D/A(数模转换器)、2个I2C接口、5个USART接口和3个SPI端口和高质量数字音频接口IIS,另外STM32F107拥有全速USB(OTG)接口,2路CAN2.0B接口,以及以太网10/100 MAC模块。
测量探头采用2821-1p,温度补偿单元为PT-1000, 电缆是三线箔屏蔽,最长可接至30 m。 1.3 软件介绍
从节约成本以及对系统的支持来看,Linux系统是最佳选择。Linux是源代码开放的操作系统,使用成本低廉,内核可裁减性强。Linux操作系统在嵌入式领域的应用主要分为嵌入式Linux和ucLinux两种类型。不同点在于Linux操作系统保留了 MMU,在有MMU单元的控制器上功能更为强大,不直接访问物理内存,支持虚拟内存访问,保证了内存不会因为程序的异常而导致系统的崩溃,支持动态、静态加载,所以移植Linnux的操作系统。
故障诊断单元所采用的算法是偏二叉树支持向量机。因为,相对来说仪表出现故障的情况比较少,所以故障数据提取困难,这就存在一个问题,那就是不能有大量的数据样本供参考,如果使用传统的神经网络等故障诊断方法,往往不能对故障进行准确的诊断。所以提出针对小样本的支持向量机,对系统进行故障诊断。 故障诊断是指在系统运行状态或者工作状态下,通过各种监测手段,判别其工作是否正常,如不正常,通过分析指出发生了什么故障,便于管理人员维修。故障诊断的方法一般可分为定性分析和定量分析两种,本文采用的支持向量机属于定量分析。 2.1 支持向量机分类原理
支持向量机是VAPNIK等人根据统计学习理论中结构风险最小化原则提出的。支持向量机能够有效地解决小样本、高维数、非线性等的学习问题。如图2所示,通过某种特殊的映射把低维的样本投射到高维空间,这样在低维空间上不是线性可
分的,在高维空间上就线性可分了。 2.2 支持向量机决策流程
故障诊断单元将训练的 3个分类器作为二叉树的节点,每个子类作1个二叉树的叶子,按父子关系构建二叉树。如图3,基本原理是首先将n类的训练样本集划分为2个子类,2个子类再通过分类器划分,依此下去,直至最后的1个子类里只包含1个样本。
但是BTSVM(二叉树)不能忽略“误差累积”问题,所以做改进为:先找1个最易分别的类,将此类和其他类组成的训练集作为2个子类,接着在包含多个子类的里面找出1个最易分别的子类,依次找下去,直到最后每个子类里只包含1个类为止。
因为探头污染容易受水质变换的干扰,所以4和5的诊断不能用向量机产生。通过如下方法实现,当系统诊断故障为探头污染时,通过主芯片输出信号控制继电器的吸合,再通过继电器的吸合控制电磁阀,电磁阀的切换如图4所示,如果循环水电导有问题,则让补充水流进循环水电导,让循环水的探头测补充水电导率,如果电导率值和补充水的电导率值在误差允许范围内近乎相等,那么判断为补排水系统故障,反之则判断为探头污染。
易分别的依据是类距离,类距离越大越好分别。类距离的计算公式为 式中:p≠q;分别为第p, q类中所有数据的平均值。
浓缩倍数测量仪的主要故障浓缩倍数测量仪的运行状态有几个:1—正常;2—开路;3—短路;4—探头污染;5—水质切换。正常运行的数据最多,判断准确率最高,所以把正常运行作为标号1;又因为开路和短路2个的类距离最大所以标号2和3,可以避免误差累积现象。
主要故障及各参数摘录如表1所示,数据来源为实验室MATLAB模拟采用LIBSVM工具箱模拟,它易于使用并且能够快速有效地进行模式识别,同时,
LIBSVM还提供源代码,方便改进、修改以及在其他操作系统上使用。故障诊断,首先是对故障数据进行故障特征值的提取。从表1看出,补充水的电导率都在允许的误差范围内波动,设备的运行状态和浓缩倍数以及循环水电导率有关。又由于浓缩倍数是由循环水电导率与补水电导率的比值得出的,所以运行状态只与循环水电导率有关,由此得出结论故障的特征向量是一维的。因此可以确定,通过普通的设置阈值就可以实现故障诊断。 程序如下: load nsbs;
traindata=normalization(nsbs_train,1); testdata=normalization(nsbs_test,1); testlabel=test_label; trainlabel=train_l abel;
model = svmtrain(trainlabel,traindata,'-s 1 -t 2 -c 1.2 -g 0.01');
[ptrain,acctrain]=svmpredict(trainlabel,traindata,model); [ptest,acctest]=svmpredict(testlabel,testdata,model);
NORMALIZATION为规范化函数,随机的把其中前100组数据作为训练集,另外100组作为测试集,未加规范化函数准确率在0.左右,加了规范化,准确率可以提高到0.97,从以上数据看出,当核函数为RBF准确率是能满足工业现场的需要。
通过VB开发出上位机应用程序,实现浓缩倍数、循环水和补充水电导率以及温度的实时显示。同时实现了浓缩倍数历史数据的存储以及趋势走向曲线显示,还可以实时故障诊断。避免了使用组态王、Wincc等上位机,减少了成本以及节约了PC的资源,上位机界面图如图5所示。
浓缩倍数测量仪的通讯方式采用的RS485通讯,采用MODBUS通讯协议。RS485通讯电路总体上可以分为隔离型与非隔离型。隔离型的电路抗干扰和系统稳定比较好,所以采用隔离型电路,选用了单电源隔离型的ADM2587E,隔离电压达到2 500 V,传输速率500 KB,能够很好地应用于工业场合。
浓缩倍数测量仪针对故障小样本的情况,采用支持向量机故障诊断,能够在现场显示出浓缩倍数,较以往需要上位机计算,方便了不少,节省了人力成本。
【相关文献】
[1] 鲍可进.C8051F 单片机原理及应用[M].北京:中国电力出版社,2006.
[2] 张培仁,孙力.基于C语言C8051F 单片机原理及应用[M].北京:清华大学出版社,2007. [3] 谭有广,刘峰.非接触测量液体电导率的仿真与实验分析[J].电工技术杂志,2004(7):69-71. [4] 林波,张效玮,贾科进,等.基于双极性脉冲电压的水电导率仪控制系统的设计[J].电子器件,2007,30(3):921-925.
[5] 顾亚祥,丁世飞,支持向量机研究进展[J].计算机科学,2011,38(2):14-17. [6] 祁亨年.支持向量机及其应用研究综述[J].计算机工程,2004,30(10):6-9.
[7] 关丽敏,李思慧,李伟刚.STM32F107VC的嵌入式远程监控终端设计[J].单片机与嵌入式系统应用,2014(6):72-75.
[8] 朱天一,罗益民.工业循环水用浓缩倍数测量仪[J].仪表技术与传感器,2015(10):22-24. [9] 谢芳芳,章兢,郑剑.基于支持向量机故障诊断方法[J].传感器世界,2006,12(4):42-44. [10] 王书根,王振松,刘晓云.Modbus协议的RS485总线通讯机的设计及应用[J].自动化与仪表,2011,26(5):25-28.