能源研究与信息  2021, Vol. 37 Issue (4): 193-200   PDF    
LabVIEW与MATLAB联合编程在制冷系统故障诊断中的应用
任正雄, 韩华, 崔晓钰, 卿红, 叶晖云     
上海理工大学 能源与动力工程学院/上海市动力工程多相流动与传热重点实验室,上海 200093
摘要:制冷系统作为建筑的主要能耗设备,其故障的及时诊断与纠正有助于提高能源利用率,减少对环境的影响。缺乏诊断平台是制约制冷系统故障智能诊断推广应用的重要因素之一。基于MATLAB软件强大的数据处理能力和LabVIEW软件便捷的虚拟仪器开发功能,进行联合编程,实现优势互补,并将粒子群优化(PSO)算法引入最小二乘支持向量机(LSSVM),作为故障诊断的内核,建立了制冷系统故障诊断平台。对离心式冷水机组七类典型故障的诊断实验结果表明:该联合编程方法可行,可以实现界面友好、功能丰富、方便快捷的制冷系统故障诊断;所建立的PSO−LSSVM模型总体诊断正确率高达99.70%,正常和每类故障的诊断正确率均在99%以上。该平台具有一定的开放性和扩展性,后续可以根据需要对诊断算法及其他功能模块进行更改或添加,也可增加不同算法之间的比较分析或集成诊断,改善其灵活性,推进其推广应用。LabVIEW软件的采用,也为故障检测与诊断嵌入系统控制提供了可能。
关键词制冷系统     故障检测与诊断     最小二乘支持向量机     参数优化     软件编程    
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 Power Engineering, 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. Hybrid programming 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 integration of 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.
Key words: 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 vector machine, SVM)算法的改进11,该算法在制冷系统故障诊断中表现优异。LSSVM算法的简化逻辑如图1所示。该算法通过在低维特征空间中引入拉格朗日乘子,将约束优化问题转变成无约束优化问题,先在运算更简便的低维特征空间完成计算,然后通过核函数将输入空间映射到高维特征空间,最后在高维特征空间构造出最优分类超平面。

图 1 LSSVM算法的简化逻辑 Fig.1 Simplified logic of LSSVM

最小二乘支持向量机算法的分类优化问题表达式为

$ \begin{split} \qquad \left\{ \begin{array}{l} \mathrm{min} \; J\left(w, b, \xi \right)=\dfrac{1}{2}{\left|\left|w\right|\right|}^{2}+\dfrac{1}{2}\gamma \displaystyle\sum _{i=1}^{n}{{\xi }_{i}}^{2}\\ {\rm{s}}{\rm{.t. }} \;\;{y}_{i}\left[{w}^{{\rm{T}}}\varPhi \left({x}_{i}\right)+b\right]=1-{\xi }_{i},i=\mathrm{1,2},3,\cdots ,n \end{array} \right. \end{split}$ (1)

式中:w为权向量; $ {\xi }_{i} $ 为松弛因子,可以度量一个数据点对模式可分的理想条件下的偏离程度;b为偏置值;yi为输出数据(制冷系统故障类别);xi为输入数据(表征制冷系统故障状态的参数); $ \varPhi \left(x\right) $ 为非线性映射函数;n为样本点数目;γ为正则化因子,属于可调参数,用于调节LSSVM置信范围和经验风险的比例,实现结构风险最小化。

γ取值较小时,表示对超出误差范围的样本点的惩罚程度不足,模型的复杂性低而经验风险高,会造成机器的欠学习现象;反之,当γ取值较大时,对训练样本点误差的惩罚加大,则会出现过学习现象12。因此,γ过大或过小都会使模型的泛化性能变差。

引入拉格朗日乘子 $ {\alpha }_{i} $ i = 1,2,3,···,n)进行无约束优化,进而提高运算速度。采用核函数进行高维映射,利用Karush−Kuhn−Tucker(KKT)13优化条件及Mercer条件14求解,得出分类模型为

$\qquad y\left({\boldsymbol{x}}\right)={\rm{sgn}}\left[\displaystyle\sum\limits_{i=1}^{n}{\alpha }_{i}^{}{y}_{i}K\left(x, {{\boldsymbol{x}}}_{i}\right)+{b}^{}\right] $ (2)

式中: ${\rm{sgn}}({u})$ 为符号函数,当u ≤ 0,则 ${\rm{sgn}}({u})= $ $ -1$ ,当u > 0,则 ${\rm{sgn}}({u})=1$ $ K\left(x, {{\boldsymbol{x}}}_{i}\right) $ 为满足Mercer条件的核函数。

本文选取高斯径向基核函数(radial basis function,RBF)15,即

$\qquad K\left(x,{x}_{i}\right)=\mathrm{e}\mathrm{x}\mathrm{p}\left(-\dfrac{\parallel x-{x}_{i}\parallel }{{\sigma }^{2}}\right) $ (3)

式中:σ为核参数,它决定了数据映射到新的特征空间后的分布,σ越大,支持向量越少,σ越小,支持向量越多,支持向量的个数影响训练与预测的速度,从而影响模型的泛化性能。

1.2 粒子群优化算法

PSO是一种基于种群的搜索算法,每个个体在多维搜索空间中被视为无体积的粒子(一个点),粒子运动情况如图2所示。每个点都具有特定位置和速度,按照一定惯性运动。解空间中存在个体最优和种群最优,每个粒子都会受到自我认知和群体的影响,并根据式(4)、(5)更新速度和位置,不断改变运动方向并向最优位置运动,经过多次迭代后即可寻得最优解。

$ \begin{split} \qquad {v_{id}}\left( {t + 1} \right) =& w{v_{id}}\left( t \right) + {c_1}{r_1}\left( t \right)\left[ {{p_{id}}\left( t \right) - {x_{id}}\left( t \right)} \right] + \\ &{c_2}{r_2}\left( t \right)[ {{p_{{\rm{g}}d}}\left( t \right) - {x_{id}}\left( t \right)} ] \end{split} $ (4)
$\qquad {x}_{id}\left(t+1\right)={x}_{id}\left(t\right)+{v}_{id}\left(t+1\right) $ (5)

式中:i = 1,2,···,NN为群体中粒子总数;下标“i”表示第i个粒子;下标“d”表示粒子的第d维,即优化的第d个参数;t为迭代次数;pidt)为第i个粒子在迭代到第t代前搜索到的最优位置;pgdt)为整个群体搜索到的最优位置; $ {c}_{1}$ $ {c}_{2} $ 均为加速因子,分别代表粒子向自身学习的成分和向群体学习的成分,本文取 $ {c}_{1} $ =1.5, $ {c}_{2} $ =2;r1t)、r2t)均为服从(0,1)区间上均匀分布的随机数;vid为速度,被限制在区间[VminVmax]内(VminVmax分别为最小和最大速度),避免因粒子速度过大而跳过最优解或速度过小导致粒子的全局搜索能力降低;w为惯性权重,用来平衡算法的局部搜索能力与全局搜索能力。

$\qquad w = {w_{{\rm{max}}}} - \left( {{w_{{\rm{max}}}} - {w_{{\rm{min}}}}} \right)\dfrac{t}{{{t_{{\rm{max}}}}}} $ (6)

式中: $ {t_{{\rm{max}}}} $ 为最大迭代次数; $ {w}_{{\rm{max}}} $ $ {w}_{{\rm{min}}}$ 分别为w的最大值和最小值。

图 2 粒子运动情况 Fig.2 Particle's trajectory
1.3 PSO−LSSVM模型

LSSVM的建模过程中需要设定两个关键参数的值:核参数σ和正则化因子γ,统称为超参数,它们直接影响LSSVM模型的泛化性能和鲁棒性。采用PSO算法进行超参数优化,通过迭代选择最优超参数,提高模型分类正确率和故障诊断性能。优化过程需要确定超参数的表示方法和粒子适应度函数。需要优化的超参数有两个,因而搜索空间的维数为2(d = 2)。每个粒子表示为Xi=(σγ),粒子群p1优化参数σ,粒子群p2优化参数γ16。适应度用于评价粒子所处位置的优劣。适应度函数 $ f\left(x\right) $ 越小,适应能力越强。本文采用训练样本的均方根误差(MSE) $ \Delta e $ 作为适应度函数,即

$ \qquad f\left(x\right)=\Delta e=\dfrac{1}{N}\displaystyle\sum _{i=1}^{N}({y}_{i{\rm{b}}}-{y}_{i{\rm{b}}}^{{'}}{)}^{2} $ (7)

式中: $ {y}_{i{\rm{b}}} $ 为训练样本的真实标签; $ {y}_{i{\rm{b}}}^{{'}} $ 为训练样本的预测标签。

根据以上分析,可建立PSO−LSSVM模型。图3为基于PSO−LSSVM算法的制冷系统故障诊断框架。

图 3 基于PSO−LSSVM模型的制冷系统FDD框架图 Fig.3 FDD framework of refrigeration system based on PSO-LSSVM model

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模型。该方法容易实现,打开脚本的速度快,能够满足多输入多输出,一次处理的信息量大,方便快捷。

图 4 LabVIEW与MATLAB数据转换流程 Fig.4 Data transfer between LabVIEW and MATLAB

在联合编程过程中,所有的数据交互均需通过脚本节点实现。图5以其中一个节点为例,阐释联合编程方法。主要步骤为:

(1)在LabVIEW环境中找到脚本节点(图5中的A部分),并在框图中进行设置。算法可以从MATLAB中导入,也可以直接在节点中编写;

(2)设置节点的输入和输出。输入为模型训练数据(condata),输出为模型训练仿真后得到的结果;

(3)运行程序。脚本节点开始调用MATLAB程序,将输入数据分配给PSO−LSSVM模型,并运行程序。训练和仿真完成后,将结果传输并分配给节点的输出:混淆矩阵(ConfMat)和正确率(Accu);

(4)在LabVIEW软件中,将脚本节点的输出可视化,根据用户需求进行进一步分析,如图5中的B部分所示。同时,设计多个子VI(virtual instrument)以实现多种功能并简化程序框图。

图 5 PSO−LSSVM故障诊断模型训练的脚本节点 Fig.5 Blocks of PSO-LSSVM model training for hybrid programming

基于此联合编程思想,初步搭建了一个制冷系统FDD平台。开发环境为:Windows 10操作系统,MATLAB 9.4(R2018a)、LabVIEW 2018。图6为该平台的工作流程。不同功能模块对应不同的界面窗口,包括登录模块a、功能选择模块b、模型训练模块c和故障诊断模块d和e。平台整合了用户管理,并将PSO−LSSVM模型训练与故障诊断分开,用户可以根据不同需求进入不同模块。模型训练模块可以展示训练结果并保存模型;故障诊断模块根据数据量不同分为单组样本诊断与批量样本诊断,既保证功能完善,又实现可视化,提高效率。

图 6 FDD平台的工作流程 Fig.6 Flow chart of FDD platform
3 实验验证

将PSO−LSSVM模型嵌入FDD平台中进行实验,通过平台的分析运算功能评估模型的性能,同时采用该模型运行平台的各模块,进一步验证平台设计优劣以及通过联合编程思想推进制冷系统FDD技术实际应用的可行性。

首先,从美国采暖制冷与空调工程师学会(ASHRAE)RP−1043离心式冷水机组故障模拟实验数据库19中,随机抽取8 000个样本用于模型训练,4 000个样本用于模型测试,抽取1个样本和10个样本分别用于单组样本和批量样本故障诊断。数据共有八类,包含正常运行和七类典型故障,如表1所示。

表 1 制冷系统正常运行及七类典型故障 Table 1 Normal status and seven types of faults

在平台的模型训练模块(图6c)中训练PSO−LSSVM模型,运行结果如图7所示。界面上直观展示了模型的混淆矩阵、性能直方图、每类故障的诊断正确率、整体诊断正确率和耗时。可见,模型训练时间为2 580 s,所有类别的总体诊断正确率达到99.70%,正常和每类故障的诊断正确率均在99%以上,而ConFoul和ReduCF的诊断正确率甚至高达100%。从图7中的性能直方图可看出,系统故障的诊断正确率较高,但都低于局部故障的,原因在于系统故障对制冷系统的参数影响范围较大且较为复杂,易与其他故障混淆,难以被正确检测和识别,从而影响整体诊断正确率。

图 7 PSO−LSSVM模型在模型训练模块的运行结果(ASHRAE数据) Fig.7 Results of PSO-LSSVM model in the model training module(ASHRAE data)

依托较高性能的PSO−LSSVM模型对平台的故障诊断及其他模块进行测试。图8(a)为用于诊断单组样本的界面,上部是诊断数据信息,下部是诊断结果,以亮灯并发出报警铃的形式展示,并在右侧显示相应故障的征兆、带来的影响及可能的维修建议。图8(b)为批量样本故障诊断的结果,主要展示数据信息及相应的诊断结果,点击故障,同样可以展示该故障的相关信息。

图 8 故障诊断模块的运行结果(ASHRAE数据) Fig.8 Results of fault diagnosis module(ASHRAE data)

此外,采用120−ton螺杆冷水机组的故障模拟实验研究20的实际运行数据对该平台的诊断性能做进一步验证。由于条件限制,该研究只模拟了Normal、RefLeak、RefOver三类,包括两类故障系统故障,运行结果分别如图910所示。FDD平台可以较好地处理实际数据,对于不同类型冷水机组的数据,PSO−LSSVM模型依然有较好的诊断性能,总体诊断正确率为98.23%。从性能直方图中可以看出,RefOver的诊断正确率达到100%,平台各功能模块均可正常运行。

图 9 PSO−LSSVM模型在模型训练模块的运行结果(螺杆机组模拟实验数据) Fig.9 Results of PSO-LSSVM model in the model training module(screw data)

图 10 故障诊断模块的运行结果(螺杆机组模拟实验数据) Fig.10 Results of fault diagnosis module(screw data)

综上所述,PSO−LSSVM模型的诊断性能优良,依托FDD平台可以方便、快捷地实现各种功能,且直观易操作,达到了设计要求。如果模型预先进行线下训练,则可实现在线诊断,且准确、高效。

4 结 论

本文基于LabVIEW与MATLAB联合编程的MATLAB Script节点技术,开发了一套界面友好、体现人机交互的制冷系统FDD平台,可以方便、快捷地实现故障诊断,并在相对直观、美化的界面展示结果。充分利用并发挥了MATLAB软件强大的数据处理功能,以及LabVIEW软件的图形化编程特点和图像处理功能。该平台集成了用户权限管理、数据读取、模型训练及保存、多样化结果展示、故障诊断及报表存储等功能。

作为诊断内核的PSO−LSSVM模型,可在较短时间内完成训练,实现制冷系统七类典型故障的检测与诊断,总体诊断正确率高达99.70%,正常和每类故障的诊断正确率均在99%以上,性能优良。采用另一台不同类型冷水机组故障模拟实验数据再次进行验证的结果显示,平台各功能模块均可正常运行,诊断结果较佳。

另外,该平台亦具有一定的开放性和扩展性。在后续的开发中,可以根据需要对诊断算法及其他功能模块进行更改或添加,也可增加不同算法之间的比较分析或集成诊断,改善其灵活性,并实现操作界面及结果展示的中英文语言切换,推进其推广应用。LabVIEW软件的采用,为FDD技术嵌入系统控制提供了可能。

参考文献
[1]
许明轩. 飞机航电系统故障分析方法与故障诊断技术研究[J]. 中国设备工程, 2018(14): 96-97. DOI:10.3969/j.issn.1671-0711.2018.14.054
[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. DOI:10.13255/j.cnki.jusst.2018.01.013
[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. Comparative study of probabilistic neural network and back propagation network for fault diagnosis of refrigeration systems[J]. Science and Technology for the Built Environment, 2018, 24(4): 448-457. DOI:10.1080/23744731.2017.1375012
[7]
HAN H, CUI X Y, FAN Y Q, et al. Least squares support vector machine (LS-SVM)-based chiller fault diagnosis using fault indicative features[J]. Applied Thermal Engineering, 2019, 154: 540-547. DOI:10.1016/j.applthermaleng.2019.03.111
[8]
赵莉华, 张亚超, 金阳, 等. 基于LabVIEW和Matlab虚拟实验室的实现[J]. 实验室研究与探索, 2014, 33(4): 62-64, 67. DOI:10.3969/j.issn.1006-7167.2014.04.016
[9]
裴锋, 杨万生. LabVIEW与MATLAB混合编程[J]. 电子技术应用, 2004, 30(3): 4-6. DOI:10.3969/j.issn.0258-7998.2004.03.002
[10]
李建强, 张莹莹, 牛成林. 基于PSO−LSSVM模型的火电厂烟气含氧量预测[J]. 热能动力工程, 2018, 33(7): 49-55.
[11]
SUYKENS J A K, VANDEWALLE J. Least squares support vector machine classifiers[J]. Neural Processing Letters, 1999, 9(3): 293-300. DOI:10.1023/A:1018628609742
[12]
CHAMKALANI A, ZENDEHBOUDI S, BAHADORI A, 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. DOI:10.3969/j.issn.1006-7167.2009.07.020
[18]
王后能, 宋杰. LabVIEW嵌入Matlab脚本节点的电机转速控制系统仿真[J]. 武汉工程大学学报, 2015, 37(8): 69-74. DOI:10.3969/j.issn.1674-2869.2015.08.014
[19]
COMSTOCK M C, BRAUN J E. Development of analysis tools for the evaluation of fault detection and diagnostics in chillers[R]. West Lafayette, IN: Purdue University, 1999.
[20]
FAN Y Q, CUI X Y, HAN H, et al. Chiller fault detection and diagnosis by knowledge transfer based on adaptive imbalanced processing[J]. Science and Technology for the Built Environment, 2020, 26(8): 1082-1099. DOI:10.1080/23744731.2020.1757327