任正雄 韩华 崔晓钰 卿红 叶晖云
摘要:制冷系統作为建筑的主要能耗设备,其故障的及时诊断与纠正有助于提高能源利用率,减少对环境的影响。缺乏诊断平台是制约制冷系统故障智能诊断推广应用的重要因素之一。基于 MATLAB 软件强大的数据处理能力和LabVIEW 软件便捷的虚拟仪器开发功能,进行联合编程,实现优势互补,并将粒子群优化(PSO )算法引入最小二乘支持向量机(LSSVM ),作为故障诊断的内核,建立了制冷系统故障诊断平台。对离心式冷水机组七类典型故障的诊断实验结果表明:该联合编程方法可行,可以实现界面友好、功能丰富、方便快捷的制冷系统故障诊断;所建立的 PSO?LSSVM 模型总体诊断正确率高达99.70%,正常和每类故障的诊断正确率均在99%以上。该平台具有一定的开放性和扩展性,后续可以根据需要对诊断算法及其他功能模块进行更改或添加,也可增加不同算法之间的比较分析或集成诊断,改善其灵活性,推进其推广应用。 LabVIEW 软件的采用,也为故障检测与诊断嵌入系统控制提供了可能。
关键词:制冷系统;故障检测与诊断;最小二乘支持向量机;参数优化;软件编程
中图分类号: TB69 文献标志码: A
Application of LabVIEW and MATLAB hybrid programming to fault diagnosis of refrigeration system
REN Zhengxiong,HAN Hua ,CUI Xiaoyu,QING Hong,YE Huiyun
(School of Energy and Power Engineering/Shanghai Key Laboratory of Multiphase Flow and Heat Transfer in PowerEngineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
Abstract:Refrigeration system is the major energy consumption equipment in the building. Timely diagnosis and correction of faults is helpful to improve energy efficiency and reduce the environmental impact. The lack of fault diagnosis platform is one of the major factors that limited the popularization and application of intelligent fault diagnosis of refrigeration system. Hybridprogramming was adopted by combined MATLAB and LabVIEW with powerful data processing capability and convenient virtual instrument development capability, respectively. Besides, the introduction of particle swarm optimization (PSO) algorithm into the least squares support vector machine (LSSVM) was used as a fault diagnosis kernel to establish a refrigeration system fault diagnosis platform. Diagnostic experiments on seven types of typical faults in the centrifugal chiller showed that the hybrid programming method was feasible and could realize the fault diagnosis of refrigeration system with a friendly interface and abundant functions in a convenient manner. The diagnosis accuracy of PSO-LSSVM model was as high as 99.70%, and the accuracy of normal and each fault exceeded 99%. The platform is open and extensible for the modification and integrationof diagnostic algorithms and other functional modules as required. Comparative analysis or integrated diagnosis can be included as well. The adoption of LabVIEW also provides the possibility of embedding fault diagnosis into system control.
Keywords:refrigeration system; fault detection and diagnosis; least squares support vector machine; parameter optimization; software programming
故障检测和诊断(fault detection and diagnosis, FDD )技术在核反应堆、国防、化工、航空航天等多个领域得到了广泛应用,并取得良好的经济和社会效益[1?4]。但是该技术在制冷系统的实际应用还没有得到充分开发,目前大部分在制冷系统中应用的 FDD 功能依然采用低效能的专家系统进行经验诊断[5]。随着人工智能的发展,一些 FDD 研究通过采用机器学习或深度学习方法已经得到高精度、高性能的新模型,例如:神经网络[6]、最小二乘支持向量机[7]等,但是由于FDD 开发人员面临着多种技术和市场壁垒等问题,基本上没有出现适合这些模型的商业软件。
为了推进 FDD 技术在制冷系统中的实际应用,本文提出将粒子群优化( particle swarm optimization ,PSO )与最小二乘支持向量机(least squares support vector machine ,LSSVM )相结合的诊断策略[8],并基于 LabVIEW 与 MATLAB软件联合编程,初步开发一套制冷系统 FDD 平台。利用 LabVIEW 软件的可视化编程功能对主界面、图形显示和各种模块进行综合设计,并将 MATLAB 软件强大的数值运算能力用于 FDD 模型训练和故障诊断,通过联合编程实现高性能故障诊断模型的便捷应用[9?10]。采用离心式冷水机组的故障模拟数据进行实验验证,检测 PSO?LSSVM 模型的诊断性能,并评估联合编程的可行性及平台的各项功能。
1故障诊断模型
1.1最小二乘支持向量机
LSSVM 算法是支持向量机( support vectormachine, SVM )算法的改进[11],该算法在制冷系统故障诊断中表现优异。LSSVM 算法的简化逻辑如图1所示。该算法通过在低维特征空间中引入拉格朗日乘子,将约束优化问题转变成无约束优化问题,先在运算更简便的低维特征空间完成计算,然后通过核函数将输入空间映射到高维特征空间,最后在高维特征空间构造出最优分类超平面。
最小二乘支持向量机算法的分类优化问题表达式为
式中: w 为权向量;i为松弛因子,可以度量一个数据点对模式可分的理想条件下的偏离程度; b 为偏置值;yi为输出数据(制冷系统故障类别);xi 为输入数据(表征制冷系统故障状态的参数);牵(x)为非线性映射函数; n 为样本点数目;γ为正则化因子,属于可调参数,用于调节 LSSVM 置信范围和经验风险的比例,实现结构风险最小化。
当γ取值较小时,表示对超出误差范围的样本点的惩罚程度不足,模型的复杂性低而经验风险高,会造成机器的欠学习现象;反之,当γ取值较大时,对训练样本点误差的惩罚加大,则会出现过学习现象[12]。因此,γ过大或过小都会使模型的泛化性能变差。
引入拉格朗日乘子αi( i =1,2,3,···,n )进行无约束优化,进而提高运算速度。采用核函数进行高维映射,利用Karush?Kuhn?Tucker ( KKT )[13]优化条件及 Mercer 条件[14]求解,得出分类模型為
式中:sgn(u)为符号函数,当 u ≤0,则sgn(u)=?1,当 u >0,则sgn(u)=1;K (x, xi)为满足 Mercer 条件的核函数。
本文选取高斯径向基核函数( radial basis function,RBF )[15],即
K (x, xi)= exp (?)
式中:σ为核参数,它决定了数据映射到新的特征空间后的分布,σ越大,支持向量越少,σ越小,支持向量越多,支持向量的个数影响训练与预测的速度,从而影响模型的泛化性能。
1.2粒子群优化算法
PSO 是一种基于种群的搜索算法,每个个体在多维搜索空间中被视为无体积的粒子(一个点),粒子运动情况如图2所示。每个点都具有特定位置和速度,按照一定惯性运动。解空间中存在个体最优和种群最优,每个粒子都会受到自我认知和群体的影响,并根据式(4)、(5)更新速度和位置,不断改变运动方向并向最优位置运动,经过多次迭代后即可寻得最优解。
式中:i =1,2,…,N,N 为群体中粒子总数;下标“i”表示第i个粒子;下标“d ”表示粒子的第 d 维,即优化的第d 个参数; t 为迭代次数;pid (t)为第i个粒子在迭代到第 t 代前搜索到的最优位置;pgd(t)为整个群体搜索到的最优位置;c1、c2均为加速因子,分别代表粒子向自身学习的成分和向群体学习的成分,本文取c1=1.5, c2=2;r1(t)、r2(t)均为服从(0,1)区间上均匀分布的随机数;vid为速度,被限制在区间[ Vmin, Vmax]内( Vmin、 Vmax 分别为最小和最大速度),避免因粒子速度过大而跳过最优解或速度过小导致粒子的全局搜索能力降低;w 为惯性权重,用来平衡算法的局部搜索能力与全局搜索能力。
式中:tmax为最大迭代次数;wmax、wmin分别为 w 的最大值和最小值。
1.3 PSO?LSSVM 模型
LSSVM 的建模过程中需要设定两个关键参数的值:核参数σ和正则化因子γ,统称为超参数,它们直接影响 LSSVM 模型的泛化性能和鲁棒性。采用 PSO 算法进行超参数优化,通过迭代选择最优超参数,提高模型分类正确率和故障诊断性能。优化过程需要确定超参数的表示方法和粒子适应度函数。需要优化的超参数有两个,因而搜索空间的维数为2(d =2)。每个粒子表示为 Xi=(σ,γ),粒子群 p1优化参数σ,粒子群 p2优化参数γ[16]。适应度用于评价粒子所处位置的优劣。适应度函数f(x)越小,适应能力越强。本文采用训练样本的均方根误差( MSE )?e作为适应度函数,即
式中:yib为训练样本的真实标签;yb为训练样本的预测标签。
根据以上分析,可建立 PSO?LSSVM 模型。图3为基于 PSO?LSSVM 算法的制冷系统故障诊断框架。
PSO?LSSVM 模型故障诊断过程为:
(1)数据预处理。导入数据,将数据分为训练集和测试集两部分,实验数据之间可能存在数量级的差异,影响模型的诊断性能,需要对数据进行归一化处理。
(2)优化超参数。
步骤1:初始化群体大小,设置最大迭代次数和粒子的速度和位置;
步骤2:构建 LSSVM模型;
步骤3:根据式(7)计算每个粒子的适应度;
步骤4:更新个体极值和全局极值;
步骤5:根据式(4)、(5)更新每个粒子的速度和位置,根据式(6)更新惯性权重;
步骤6:重复步骤2~6,直到满足终止条件;
步骤7:终止算法,给出最优超参数。
(3)训练和测试。利用最终得到的超参数训练 LSSVM 模型,通过交叉验证进行评估。将测试集导入模型中,得到故障诊断结果,进而分析模型性能。
2联合编程与 FDD 平台设计
MATLAB 软件具有强大的科学计算功能和大量稳定,可靠的工具箱,其在故障诊断中应用较广,可有效实现各种数据挖掘及智能算法。但 MATLAB 环境界面不够友好、易用,因此,引入擅长虚拟仪器设计的 LabVIEW 以弥补其不足,并为 FDD技术与系统控制相结合提供可能。
LabVIEW 与 MATLAB 数据互通的方法有多种[17],本文采用 MATLAB Script 节点[18]进行联合编程。 LabVIEW 与 MATLAB 数据转换流程如图4所示。MATLAB Script 节点(以下称脚本节点)的作用是直接调用已安装的 MATLAB 程序,并在 LabVIEW 环境下运行已建立的 PSO?LSSVM 模型。该方法容易实现,打开脚本的速度快,能够满足多输入多输出,一次处理的信息量大,方便快捷。
在联合编程过程中,所有的数据交互均需通过脚本节点实现。图5以其中一个节点为例,阐释联合编程方法。主要步骤为:
(1)在 LabVIEW环境中找到脚本节点(图5中的 A 部分),并在框图中进行设置。算法可以从 MATLAB 中导入,也可以直接在节点中编写;
(2)设置节点的输入和输出。输入为模型训练数据(condata),输出为模型训练仿真后得到的结果;
(3)运行程序。脚本节点开始调用 MATLAB 程序,将输入数据分配给 PSO?LSSVM 模型,并运行程序。训练和仿真完成后,将结果传输并分配给节点的输出:混淆矩阵(ConfMat )和正确率(Accu );
(4)在 LabVIEW软件中,将脚本节点的输出可视化,根据用户需求进行进一步分析,如图5中的 B 部分所示。同时,设计多个子 VI(virtual instrument)以实现多种功能并简化程序框图。
基于此联合编程思想,初步搭建了一个制冷系统 FDD 平台。开发环境为:Windows 10操作系统, MATLAB 9.4( R2018a)、 LabVIEW2018。图6为该平台的工作流程。不同功能模块对应不同的界面窗口,包括登录模块 a、功能选择模块 b、模型训练模块 c 和故障诊断模块 d 和 e。平台整合了用户管理,并将 PSO?LSSVM 模型训练与故障诊断分开,用户可以根据不同需求进入不同模块。模型训练模块可以展示训练结果并保存模型;故障诊断模块根据数据量不同分为单组样本诊断与批量样本诊断,既保证功能完善,又实现可视化,提高效率。
3实验验证
将 PSO?LSSVM 模型嵌入 FDD 平台中进行实验,通过平台的分析运算功能评估模型的性能,同时采用该模型运行平台的各模块,进一步验证平台设计优劣以及通过联合编程思想推进制冷系统 FDD 技术实际应用的可行性。
首先,从美国采暖制冷与空调工程师学会( ASHRAE ) RP?1043离心式冷水机组故障模拟实验数据库[19]中,随机抽取8000个样本用于模
型训练,4000个样本用于模型测试,抽取1个样本和10个样本分别用于单组样本和批量样本故障诊断。数据共有八类,包含正常运行和七类典型故障,如表1所示。
在平台的模型训练模块(图6c)中训练 PSO?LSSVM 模型,运行结果如图7所示。界面上直观展示了模型的混淆矩阵、性能直方图、每类故障的诊断正确率、整体诊断正确率和耗时。可见,模型训练时间为2580 s,所有类别的总体诊断正确率达到99.70%,正常和每类故障的诊断正确率均在99%以上,而ConFoul和ReduCF的诊断正确率甚至高达100%。从图7中的性能直方图可看出,系统故障的诊断正确率较高,但都低于局部故障的,原因在于系统故障对制冷系统的参数影响范围较大且较为复杂,易与其他故障混淆,难以被正确检测和识别,从而影响整体诊断正确率。
依托较高性能的 PSO?LSSVM 模型对平台的故障诊断及其他模块进行测试。图8(a)为用于诊断单组样本的界面,上部是诊断数据信息,下部是诊断结果,以亮灯并发出报警铃的形式展示,并在右侧显示相应故障的征兆、带来的影响及可能的维修建议。图8(b)为批量样本故障诊断的结果,主要展示数据信息及相应的诊断结果,点击故障,同样可以展示该故障的相关信息。
此外,采用120?ton 螺杆冷水机组的故障模拟实验研究[20]的实际运行数据对该平台的诊断性能做进一步验证。由于條件限制,该研究只模拟了 Normal、RefLeak、RefOver三类,包括两类故障系统故障,运行结果分别如图9、10所示。 FDD 平台可以较好地处理实际数据,对于不同类型冷水机组的数据,PSO?LSSVM 模型依然有较好的诊断性能,总体诊断正确率为98.23%。从性能直方图中可以看出,RefOver的诊断正确率达到100%,平台各功能模块均可正常运行。
綜上所述,PSO?LSSVM 模型的诊断性能优良,依托 FDD 平台可以方便、快捷地实现各种功能,且直观易操作,达到了设计要求。如果模型预先进行线下训练,则可实现在线诊断,且准确、高效。
4结论
本文基于 LabVIEW 与 MATLAB 联合编程的 MATLAB Script 节点技术,开发了一套界面友好、体现人机交互的制冷系统 FDD 平台,可以方便、快捷地实现故障诊断,并在相对直观、美化的界面展示结果。充分利用并发挥了 MATLAB 软件强大的数据处理功能,以及 LabVIEW 软件的图形化编程特点和图像处理功能。该平台集成了用户权限管理、数据读取、模型训练及保存、多样化结果展示、故障诊断及报表存储等功能。
作为诊断内核的 PSO?LSSVM 模型,可在较短时间内完成训练,实现制冷系统七类典型故障的检测与诊断,总体诊断正确率高达99.70%,正常和每类故障的诊断正确率均在99%以上,性能优良。采用另一台不同类型冷水机组故障模拟实验数据再次进行验证的结果显示,平台各功能模块均可正常运行,诊断结果较佳。
另外,该平台亦具有一定的开放性和扩展性。在后续的开发中,可以根据需要对诊断算法及其他功能模块进行更改或添加,也可增加不同算法之间的比较分析或集成诊断,改善其灵活性,并实现操作界面及结果展示的中英文语言切换,推进其推广应用。 LabVIEW 软件的采用,为 FDD 技术嵌入系统控制提供了可能。
参考文献:
[1] 许明轩.飞机航电系统故障分析方法与故障诊断技术研究[J].中国设备工程, 2018(14):96-97.
[2] 许伟, 冯武卫, 袁跃峰, 等.船用机械设备故障诊断系统研究与开发[J].机电工程 , 2014, 31(10):1291-1295, 1323.
[3] 张霄,钱玉良, 邱正, 等.基于蜻蜓算法优化 BP 神经网络的燃气轮机故障诊断[J].热能动力工程, 2019, 34(3):26-32.
[4] 杜奕, 唐洪, 丁家满, 等.一种基于概率盒?PSO?SVM的滚动轴承故障诊断方法[J].上海理工大学学报 , 2018, 40(1):76-83.
[5] GRANDERSON J, SINGLA R, MAYHORN E, et al.Characterization and survey of automated fault detection and diagnostics tools[R]. Berkeley, CA: Lawrence Berkeley National Laboratory, 2017.
[6] LIANG Q Q, HAN H, CUI X Y, et al. Comparativestudy of probabilistic neural network and backpropagation network for fault diagnosis of refrigerationsystems[J]. Science and Technology for the Built Environment, 2018, 24(4):448-457.
[7] HAN H, CUI X Y, FAN Y Q, et al. Least squaressupportvector machine (LS-SVM)-based chiller fault diagnosis using fault indicative features[J]. Applied Thermal Engineering, 2019, 154:540-547.
[8] 赵莉华, 张亚超, 金阳, 等.基于 LabVIEW 和Matlab虚拟实验室的实现[J].实验室研究与探索 , 2014, 33(4):62-64,67.
[9] 裴锋 , 杨万生. LabVIEW 与 MATLAB 混合编程[J].电子技术应用, 2004, 30(3):4-6.
[10]李建强, 张莹莹, 牛成林.基于 PSO?LSSVM 模型的火电厂烟气含氧量预测[J].热能动力工程 , 2018,33(7):49-55.
[11] SUYKENS J A K, VANDEWALLE J. Least squaressupport vector machine classifiers[J]. Neural Processing Letters, 1999, 9(3):293-300.
[12] CHAMKALANI A, ZENDEHBOUDI S, BAHADORIA, et al. Integration of LSSVM technique with PSO to d etermine asphaltene deposition[J]. Journal of Petro- leum Science and Engineering, 2014, 124:243?253.
[13]吴崇明, 王晓丹, 白冬婴, 等.利用 KKT 条件与类边界包向量的 SVM 增量学习算法[J].计算机工程与设计, 2010, 31(8):1792-1794, 1798.
[14] FLETCHER R. Practical methods of optimization[M].Chichester: Wiley, 1987.
[15]顾燕萍, 赵文杰, 吴占松.最小二乘支持向量机鲁棒回归算法研究[J].清华大学学报:自然科学版 , 2015, 55(4):396-402.
[16]郑含博, 王伟, 李晓纲, 等.基于多分类最小二乘支持向量机和改进粒子群优化算法的电力变压器故障诊断方法[J].高电压技术, 2014, 40(11):3424-3429.
[17]黄世奎 , 彭宇宁 , 谢树平 , 等. LabVIEW 与Matlab/Simulink 混合编程方法及应用[J].实验室研究与探索, 2009, 28(7):67-71.
[18]王后能, 宋杰. LabVIEW 嵌入Matlab脚本节点的电机转速控制系统仿真[J].武汉工程大学学报, 2015, 37(8):69-74.
[19] COMSTOCK M C, BRAUN J E. Development ofanalysis tools for the evaluation of fault detection and diagnostics in chillers[R]. West Lafayette, IN: PurdueUniversity, 1999.
[20] FAN Y Q, CUI X Y, HAN H, et al.Chiller faultdetection anddiagnosis by knowledge transfer based on adaptive imbalanced processing[J]. Science and Technology for the Built Environment, 2020, 26(8):1082-1099.