1. 引言
化工过程在全球工业体系中占据着举足轻重的地位,特别是在能源、化肥、制药、材料生产及环境保护等战略性领域,发挥着至关重要的作用。随着化工系统的日益复杂化,系统故障的发生频率也呈现出上升趋势。Isermann [1]将故障定义为系统的一个或多个特性或参数偏离可接受条件,导致系统无法执行预期功能。为了应对日益严峻的系统数据安全性和可靠性需求,故障检测与诊断(Fault Detection and Diagnosis, FDD)已经成为控制工程领域中的研究前沿之一。近年来,针对复杂工业系统的故障检测方法得到了广泛的研究,并迅速取得了进展。现有的故障检测方法可大致分为两类:基于模型的方法和基于数据驱动的方法。基于模型的故障检测方法主要依赖于系统的数学模型,其代表性方法包括观测器法[2]、奇偶空间法[3]和参数识别法[4]等。观测器方法通过生成残差并进行决策,从而使得残差对故障具有较强的敏感性,进而实现有效的故障检测。奇偶空间方法则通过生成奇偶向量(即残差)来检查系统模型与输出之间的一致性。参数识别方法通过实时识别系统的实际过程参数,并将其与无故障状态下的模型参数进行对比。然而,这些基于模型的故障检测方法的有效性往往依赖于高质量的过程模型,而在现代复杂工业系统中,准确建立数学模型常常是一个具有挑战性的任务,尤其是在线故障检测中,这种方法往往面临实践中的困难。因此,基于数据驱动的故障检测方法应运而生,通过对过程数据进行分析,判断系统的状态变化,为故障检测提供了有效的替代方案。常见的基于数据驱动的方法包括主成分分析(Principal Component Analysis, PCA) [5]、人工神经网络(Artificial Neural Network, ANN) [6]及支持向量机(Support Vector Machine, SVM) [7]等。
近年来,基于耗散性特征的故障检测方法逐渐兴起。耗散性是由Willems [8]提出的一种系统的输入/输出属性,反映了系统动态特性的变化,成为系统分析和控制设计中的重要工具。例如,最近的研究[9] [10]提出了一种新型的数据驱动的故障检测方法,该方法利用系统的耗散特性,当系统的耗散性不再保持时,便能够检测到故障。具体而言,该方法通过使用供给率和存储函数的二次差分形式(Quadratic Difference Form, QdF),解决了离散时间线性时不变(Linear Time-Invariant, LTI)系统中的故障检测问题。类似的思路也在[11]中得到了进一步的发展,该研究通过仅观察单一的耗散性不等式来进行故障检测,而在前述研究[9] [10]中则针对每个已知故障引入多个耗散性不等式。
在上述研究的启发下,考虑到故障发生时系统的耗散率会发生显著变化,本文提出了一种基于耗散阈值的数据驱动故障检测方法。通过求解涉及耗散性的线性矩阵不等式约束问题,并应用相应的耗散性条件,将其纳入故障检测中。在设定合适的耗散阈值的基础上,该方法能够有效地检测故障,同时显著降低由于系统不确定性引起的误报率。与现有的故障检测方法相比,本文提出的方法在实现上更加简便,无需依赖于复杂的观测器设计和参数估计过程,因此具备更高的实用性和可操作性。这种新颖的基于耗散阈值的故障检测方案,不仅优化了现有方法的实现难度,而且在系统的实际应用中能够提供更加稳定和准确的故障识别性能,具有重要的理论意义和实践价值。
符号.
表示具有实系数项的
阶向量(矩阵)的集合,相应地,具有整数项的
阶向量(矩阵)集合由
表示。此外,
表示
的零矩阵。对于矩阵
,
和
分别表示其转置和正定对称矩阵,
是矩阵M的迹。
表示平方可求和离散时间信号空间。给定信号
,通过信号轨迹
,定义其堆叠向量为
,表示从第i行到第j行选择的截断向量。类似地,
表示从第i行到第j行选择的截断矩阵。基于此,有限序列
具有
行的分块Hankel矩阵由下式给出:
2. 耗散性理论和QdF
在本文中,考虑下列离散时间线性时不变系统记:
(1)
其中,
是状态变量,
表示控制输入向量,
表示系统输出向量。为了便于后续论述,首先引入下列耗散系统的定义。
定义 2.1 (耗散系统[8]) 定义关于输入和输出的供给率函数
,如果存在关于状态变量的非负半正定矩阵
且
,使得对于所有的状态
和输入
,都有
(2)
则系统(1)相对于供给率
是耗散的。这里将式(2)称为耗散不等式。
另外,常用的(
)型供给率函数为:
(3)
然而,由于在完全数据驱动下通常无法进行全状态测量,因此,式(2)中的传统耗散性条件通常无法直接用于故障检测中。面对这一难题,Willems [12]在连续时间系统中引入了二次微分形式(quadratic differential forms, QDF)的存储函数和供给率。后来,Kojima [13]将其扩展到离散时间系统的二次差分形式(quadratic difference forms, QdF)。
分别定义扩展输入和扩展输出:
此时,关于扩展输入/输出的QdF存储函数
和供给率
分别为:
其中,
和
都是系数矩阵。相应地,如果存在半正定存储函数
,且对于所有的
和k,满足下列不等式
(4)
则系统(1)相对于供给率
是耗散的。这里将耗散率
定义为
(5)
其中,耗散率
与式(4)等价,表示满足耗散性条件。通过选择适当的供给率
和存储函数
,当系统发生故障时,系统不再对上述供给率和存储函数耗散。
此外,对于每个
,QdF供给率
通常包括输入和输出的未来轨迹[13],且可视为(3)中常用(
)型供给率的扩展,即
其中,
表示供给率的最大前进步数。矩阵
,
和
是
,
,
的一部分,且
,
,
。类似地,与基于状态变量的存储函数不同,QdF存储函数为:
其中,
,
,
。
3. 耗散性分析
为了从生成给定的输入和输出数据轨迹中验证耗散不等式(4),Willems所提出的Fundamental lemma已成为通过包含测量输入和输出轨迹的Hankel矩阵生成任何轨迹的重要工具。为此,首先引入持续激励的概念:
定义 3.1 (持续激励[14]) 如果Hankel矩阵是行满秩的,即
,则数据轨迹
是L阶持续激励的。
持续激励是保证通过输入信号能够充分捕捉系统行为的必要条件,根据定义3.1,系统(1)中的所有轨迹
都可以从输入持续激励的单个轨迹中获得,为此有
引理 3.1 (Fundamental lemma [14]) 假设
是系统(1)的轨迹,其中
是
阶持续激励的。当且仅当存在向量
使得
(6)
则
是系统(1)的轨迹。
实际上,对于某一特定系统,其具有的耗散特性并不唯一。基于耗散性的故障检测与诊断通常对系统无故障情形下的耗散性属性进行整形,使其在故障发生时耗散不等式不再成立,或耗散率发生显著变化[9] [10]。为此,可以通过下列定理,求解线性矩阵不等式问题,从而获得QdF供给率和存储函数系数矩阵的数值解。
定理 3.1 给定系统(1)的数据轨迹
和待检测故障序列
,其中
是
阶持续激励的。如果系统(1)存在故障i,则对应的第i个耗散性分别由存储函数
,供给率
及其系数矩阵
和
组成。通过求解下列的线性矩阵不等式可行性问题来确定
矩阵
,
,
,
,
,
:
(7)
(8)
(9)
其中,
,
。
证明. 根据引理3.1,对于所有的数据轨迹
,存在向量
,使得
因此,根据耗散不等式(4),有
即
(10)
对于所有的
,通过将不等式(10)转化为矩阵的形式,同时消除轨迹向量g,得到:

至此,证明完毕。 □
值得注意的是,式(8)是不确定矩阵约束,通常无法使用半正定规划(semi-definite programming, SDP)求解。为此,这里采用[10]中关于不定矩阵不等式条件对应可以数值求解的充分条件,即矩阵迹的形式:
4. 故障检测
由于故障发生时耗散不等式不再成立,耗散率会发生显著变化,因此,这里采用[11]中基于耗散不等式(4)的评估函数:
(11)
其中,
,
表示耗散率,且数据样本窗口
。此外,函数
是在移动窗口基础上的有限范围内进行评估,该评估阶段只涉及有限时间步,故障检测不依赖于系统的初始条件。然而,故障检测的有效性依赖于检测阈值的设定。这里,与[11]和[15]中所选取的无故障轨迹中残差函数阈值不同,本文选择无故障情形下略大于基于耗散性的检测阈值,即:
(12)
其中,
,
,且
表示无故障情形的数据轨迹区间。
此时,根据下列规则,即可对系统(1)中的故障进行检测。
(13)
因此,根据下列算法3.1可实现基于耗散阈值的数据驱动在线故障检测。
算法4-1 在线故障检测 |
初始化:标量L,N,n,
,
1) 计算供给率
和存储函数
中的系数矩阵
,
2) 时间步k,计算
3) if
then 4) 系统无故障 5) else if
then 6) 系统存在故障
警报 7) end if 8) 结束 |
5. 实验案例
为了验证所提出方法的有效性,本节介绍一种如图1所示的热交换器案例[16],其中,输入和输出分别为进入热交换器的蒸汽流量
和出口处的水温
。此外,
和
分别表示水的流量及其入口温度,蒸汽进入热交换器,温度控制器通过调节入口处的蒸汽并观察系统的水温,将水加热并通过冷凝水阀离开热交换器。
Figure 1. An heat exchanger example [16]
图1. 热交换器示例[16]
根据[16]中相同的参数设置:
可实现该系统的线性化。这里分别考虑热交换器中存在的两种故障:故障1表示进入热交换器的蒸汽流存在空气或惰性气体,从而改变了入口蒸汽流的加热能力;故障2由冷凝阀堵塞造成,阻碍了蒸汽的流动,从而影响水的加热过程[9]。相应地,得到同[9]中不同情形下的离散时间线性模型:
(14)
其中,
,
,
(
)分别表示无故障情形和故障1、2情形下所对应的的系数矩阵,且
根据式(14)所生成无故障和故障情形的数据轨迹,构造相应的Hankel矩阵,从而得到满足
的持续激励条件。这里分别设定参数
,
和
,借助CVX工具箱[17],通过求解定理2.1的线性矩阵不等式[18],得到供给率
和存储函数
,见表1。
Table 1. Coefficient matrices for supply rate and storage function
表1. 供给率和存储函数的系数矩阵
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在该热交换器的案例中,假设系统起初正常运行,50 s后发生故障,即
。此外,分别设定故障检测阈值
中的参数
,时间移动窗口
。根据算法3.1,得到结果如图2,图3所示。
从图2,图3可以看出,故障检测阈值
。在时间步1~50,即故障进入换热器前,评估函数始终处于检测阈值线下方;
后,评估函数越过阈值线,表明换热器中存在故障1或故障2。因此,图2,图3结果表明,通过确定的系数矩阵
,
和故障检测阈值
,检测蒸汽流中混入空气或惰性气体以及冷凝阀堵塞的条件是有效的,并且能够成功检测出故障,从而验证了所提出的基于耗散阈值的数据驱动故障检测方法的有效性。
Figure 2. Evaluation function for the no-fault situation
图2. 无故障情形下的评估函数
Figure 3. Evaluation function for fault 1 and fault 2
图3. 故障1和2情形下的评估函数
6. 总结
本文基于系统的输入输出数据轨迹,提出了一种基于耗散阈值的数据驱动故障检测方法。为了实现准确的故障检测,首先构造了与系统动态特性相关的供给率和存储函数系数矩阵。在线检测过程中,通过设定基于耗散率的故障检测阈值,结合耗散性不等式对系统状态进行实时评估。当评估结果超出预设的耗散阈值时,系统会自动触发故障检测机制,从而实现故障的有效识别。这一方法通过简化传统的故障检测步骤,提供了一种高效且易于实施的检测方案。未来的研究将着重于将该基于耗散阈值的方法推广至非线性系统中,以进一步拓展其在更复杂系统中的应用潜力。