- 收藏
- 加入书签
基于LLM 和RAG 的风机故障诊断方法研究
摘 要:风力发电机组由叶片、齿轮箱、发电机、控制系统等部件组成,这些部件的多样性和复杂性使得风力发电机组的维护和运营成本相对较高。现有的SCADA(Supervisory Control And Data Acquisition,数据采集与监控系统 ) 平台在风电机组出现故障时,往往会抛出多条故障信息,这些信息的繁杂性会对故障诊断算法的性能产生负面影响。为了解决这一问题,首先以 SCADA 平台为基础,通过提取平台中的运行数据来构建一个风电机组故障诊断数据集。接着利用这个数据集,通过卷积神经网络 (CNN) 来训练一个能够预测风电机组故障的模型。此外,根据 SCADA 平台的关系数据库构建了一个知识图谱。为了进一步提升故障诊断的效率和准确性,将风电机组的检修运维手册等文本数据进行向量化处理,并存储到向量数据库中。最后,利用 LLM(Large Language Model) 大语言模型对风电机组故障进行推理分析。实验结果表明,该方案能够精准的对风机故障进行预警,并提升风电机组的维护效率和可靠性。
关键词:风机故障诊断;大语言模型;知识图谱;卷积神经网络;数据采集与监视控制系统
0 引言
随着时代的演进,生产和生活对电力的需求日益增长,新能源发电已经成为当前电力供应增长的主要驱动力。截至 2024 年我国的累计风电装机容量已经达到了 5.6 亿千瓦,约占全国内发电总装机的 15%[1] 。随着风电机组装机容量的增加,新能源风电场站的运维成本控制成了行业普遍关注的热点问题。据相关学者研究[2],平均每台风机在投运的 5 年内各部件故障占比如表1 所示。

由风电机组发生故障而导致的运营成本,实际上占据了整个风力发电总收入的大约 20% 到 30% 的份额 [3],这一比例不容小觑,它意味着在提高发电效率和降低运维成本方面还有很大的优化空间。因此,如何通过技术创新和管理优化来降低故风电机组障率、提高运维效率,成为了风电行业亟待解决的问题。
近年来许多国内外的学者和从业者提出了大量的方案提升风机故障诊断模型的准确率。目前主要的风电机组故障诊断方法主要分为,基于规则推理方法,例如故障树分析和专家系统;基于数据统计的方法,例如深度学习。文献4[4] 通过建立基于时间序列的耦合网络模型,通过读取 SCADA 数据来预测风电机组的健康度,并在健康的叫低时发出告警信号。文献 5[5],通过 KNN(K-NearestNeighbor,邻近算法 ) 算法就算读取到的 SCADA 数据,判断出了风电机组的齿轮箱故障,但这种算法复杂度较高,面对突发故障时留给运维人员处理冗余较小。文献6[6] 通过改进蚁群算法,提高了风电机组故障部件诊断的准确性。文献 7[7],通过知识图谱完成了风电机组故障状态和故障特征的关系抽取并通过 LLM(Large Language Model, 大语言模型 ) 模型进行推理分析,提升了对风电机组行星齿轮箱故障预测的准确性。
上述的文章通过数学和统计学方法,部分学者通过知识图谱的构建与人工神经网络的方法提升风电机组故障预警的准确性。风力发电场一般都是分工期投建,投建周期长,同一个风电场不同工期的风机厂家和风机型号不同 [8],基于通过人工神经网络训练出来的预警模型具有通用性不足的问题,且其功能与风机生产厂家给出的故障诊断专家系统功能上高度的重复。本文旨提出一种基于大语言模型、知识图谱和向量数据库的适用于风力发电场站的风机故障分析及预警系统。本文在现有 SCADA 平台的基础上,通过抽取平台模型构建风电机组- 故障知识图谱,通过SCADA 平台采集的告警信息构建RAC 向量数据库,通过大语言模型读取 RAC(Retrieval-Augmented Generation,索引增强生成 ) 数据进行预训练和推理,根据SCADA 平台的异常数据反馈故障预测信息。
1 风电机组故障诊断模型设计
1.1 SCADA 平台介绍
本文中采用的国产化 SCADA 平台由多个关键组件构成,采用结构化数据库 KingBaseV8 和时序存储数据库 influxDB2.0 进行结构化数据存储,主要包含数据设备及测点实例化、实施数据传输、历史数据存储、控制命令下发等功能。本文中所探讨的平台功能构成了其核心架构,主要负责存储与管理大规模数据集。此外,该平台具备将风电场站、风电机组、数据采集点以及故障信息等关键要素抽象化为平台模型的能力。通过模型化方法的应用,能够实现对数据的高效管理与分析。进一步而言,平台通过模型实例化技术,能够具体化场站设备的监测点等,实现对风电场站的实时监控与管理。这种从抽象到实例化的处理过程,不仅提升了数据处理的灵活性,同时也增强了平台的可扩展性与维护性。图1 展示了本研究所采用的SCADA 平台的核心功能设计。

1.2 知识图谱构建
针对风机故障诊断过程中风机运行参数多,各个参数之间具有强关联的特性,本文通过知识图谱为风机的主要故障部件设立实体,通过实体关系关联风机故障。本研究通过解析SCADA 平台数据库中存储的结构化数据,将风电机组、风电场、风机型号、风电机组故障等概念实体化,并在这些实体间构建了相应的关联关系。本文所使用的SCADA 平台结构化数据如表2 所示。

构建后的实体关系如图2 所示。

在对风电机组进行故障分析时,我们特别关注那些出现故障的实体,并使用首伴关系对他们进行标记。具体来说,风电机组包含了大量的部件,这些部件在运行过程中可能会出现各种各样的故障。当 SCADA 平台在采集到这些故障数据时,我们发现这些数据往往是成批次出现的。例如,当某台风机产生发电机组温度高的告警时,往往会伴随着发电机组限制功率、发电机组限电流等其他告警的出现。为了更好地处理这些告警信息,我们在告警信息的embedding过程中,采用了人工标记的方法来确定风电机组的首发伴生故障。通过这种方法,我们可以识别出那些具有首发伴生关系的故障及告警信息。为了确保这些信息的相关性,我们将他们的余弦相似度限制在一定的范围内。这样做的目的是为了确保我们能够准确地识别出那些在时间上具有先后顺序的故障,从而更好地进行故障分析和处理。通过这种方法,我们可以更有效地对风电机组的故障进行分类和管理,从而提高整个风电机组的运行效率和可靠性。
1.3 向量数据库设计
针对传统索引技术所面临的诸多挑战,例如设计复杂性高、索引结果缺乏多样性、索引占用独立存储空间以及在大数据环境下空间消耗显著等问题,同时这些技术在处理非结构化数据和语义关联方面的能力有限。尽管本地化大型语言模型在处理复杂语义方面展现出较强的能力,但在面对明显无法回答的问题时,往往会产生幻觉,导致索引结果常常处于不可用的状态。为解决上述问题,本文提出了一种基于知识图谱和向量数据库的 RAG 问答系统的设计方案。该方案采用 LangChain 框架,有效地将风机故障数据传递给大型语言模型。大型语言模型再通过查询 mlivus 数据库,进行深入的推理分析,并最终给出准确的结果。本文将将风力发电机组故障诊断文本,通过 all-MiniLM 算法,嵌入到384 维的向量中,词嵌入算法参数如表3 所示。

1.4 基于CNN 的风机故障预测算法设计
利用卷积神经网络(CNN)技术,将 SCADA 系统采集的风力发电机组数据作为输入参数。这些输入参数首先经过全连接层,其中数据经历一系列卷积操作以提取关键特征。继而,对经过卷积处理的数据执行池化操作,该操作旨在降低数据维度并保留关键信息。池化操作后,为避免过拟合,采用 Dropout正则化技术对数据进行处理,通过随机丢弃部分神经元以降低网络对特定数据的依赖性。最终,处理后的参数被传递至 softmax 层进行归一化处理,将输出值转换为概率分布,实现对风力发电机组状态的分类与预测。卷积神经网络的结构如图3 所示。

1.5 基于LLM 的故障诊断平台设计
本文部署大语言模型的硬件环境如下:CPU 使用 Intel E5-2680v4 28Core56,内存使用 DDR4 2400 128G,GPU 使用 AMD Mi50 32G 。为了减少模型和硬件驱动部署的工作量,本文使用集成了显卡驱动的 docker 版本 Ollama for AMD平台来管理和维护我们的平台上的大型语言模型。为了确保我们能够准确地评估和比较不同语言模型的性能和效果,我们特别选择了 qwen3-32b 这一高效且功能强大的模型来进行相关的测试和分析。为了确保评估过程的科学性和准确性,我们对qwen3-32b 模型的推理参数进行了设置。
在本文的研究中,我们对模型的推理参数做了特定的参数设置,由于我们的推理生产目标是通过 LangChain 框架从向量数据库中提取相关信息,并且我们希望推理结果能够客观地描述所提取的信息,因此我们对参数进了如表 4 的调整。我们将 Tempeature 设置为一个相对较低的值,即 0.2 这样的设置是为了确保生成的文本具有较高的确定性和一致性,避免出现过于随机或不可预测的内容。此外,为了进一步保证生成文本的逻辑性和连贯性,同时避免重复或冗余的内容出现,我们还对 Top_p 和 Top_K 这两个参数进行了保守的选择。Top_p 参数控制着生成文本的多样性,我们将它设置在一个较低的范围内,以确保生成的文本在保持一定创新性的同时,不会偏离主题或产生不相关的内容。同样,Top_K 参数限制了模型在生成文本时考虑的词汇数量,我们将其设定在一个保守的范围内,以确保生成的文本既丰富又具有逻辑性,避免出现重复或不合理的词汇选择。模型推理参数设置如表4 所示。

2 实验及分析
2.1 风机故障预测实验
本文使用某风电场的 SCADA 运行数据进行分析,通过导出的 SCADA 平台内的风机故障停机记录,联合查询停机前 24 小时内风机的关键测点的测点历史数据以及该风电机组故障停机前后的风电机组当前故障列表。根据上述的数据创建实验用数据集,并将测点数据作为输入,计算模型预测结果的准确率。图4 为某风电厂SCADA 平台的停机记录表。

将 SCADA 平台中导出的风电机组故障停机数据、停机前重要测点数据、停机前故障列表故障,作为测试样本集。其中主要记录的风电机组测点参数有:(1) 机舱内温度;(2) 环境温度;(3) 齿轮箱油温;(4) 齿轮箱轴承温度;(5) 发电机轴承温度;(6) 定子绕组温度;(7) 主轴承温度;(8) 发电机冷却水入水口温度;(9) 发电机冷却水出水口温度。为了防止在模型训练过程中出现过拟合现象,导致模型在实际使用中的预测准确率不如实验中。本文将采集到的样本数据集中的前百分之 70 数据用于训练,后百分之 30 数据用于测试。为了评估输入参数的数量对模型预测准确率的影响,本文设置了数据集 1-5,其中数据集 1 包含了 10个故障时风电机组测点参数,数据集 2 包含了 20 个故障时风电机组测点参数,数据集 3 包含了 30 个故障时风电机组测点参数,数据集 4 包含了 40 个故障时风电机组测点参数,数据集 5 包含了 50 个故障时风电机组测点参数。图 5,展示了在不同输入参数下的模型预测准确率,本文最终选用预测准确率最高的输入参数为30 个测点的模型。

2.2RAG 故障诊断平台测试
为了测试,基于大语言模型和知识图谱及向量化知识库的,故障理解与推理能力,我们通过模拟数据,将一台风力发电机组设置成故障状态,并让通过LangChain 向 LLM 问询相关的处置意见,查看大语言模型的回复,通过图 6 可以发现,本文提出的 RAG 故障诊断平台准确的理解用户提出的问题,并给予用户正确的回复。

3 总结
针对新能源风电场站中所面临的挑战,例如机组设备的复杂性、传感器点位的众多以及风机运维成本的高昂等问题,本文提出了一种基于卷积神经网络的风机故障预警诊断模型。该模型旨在通过深度学习技术,提高对风机故障的预警和诊断能力。此外,本文还提出了一种基于 LLM 和知识图谱融合的 RAG故障诊断平台。通过结合 LLM 的自然语言处理能力和知识图谱的结构化信息,该平台能够提供更加准确和全面的故障诊断结果。经过一系列的测试和验证,该平台在问题理解和回复准确度方面都表现出了不错的效果。
然而,本文所提出的故障诊断算法目前仅考虑了通过风电机组的测点参数单个参数值对风机运行情况进行预测。这种方法虽然在一定程度上能够提供有用的诊断信息,但并没有充分利用平台已有的风电机组的历史测点数据。在未来的研究中,我们计划引入支持时间序列分析的算法,例如 LSTM 算法来捕捉风电机组时间序列数据中的长期依赖关系,从而提高故障预警的准确性和可靠性。
本文提出的模型还存在一个问题,即由于不同风电机组各参数的区间不同,导致模型在部分机型上的预测效果不佳。为了进一步提升故障诊断的准确性和适用性,我们计划探索更精细化的数据预处理技术。通过消除不同机型参数区间差异对模型训练的影响,可以提高模型的鲁棒性和泛化能力。此外,我们还将考虑引入迁移学习等方法,使模型能够更好地适应不同风电机组的特性,从而提高模型在不同机型上的诊断准确性。
通过这些改进措施,我们期望能够进一步提升风机故障诊断的效率和准确性,为新能源风电场站的运维管理提供更加有力的支持。这不仅有助于降低运维成本,还能提高风电场的整体运行效率和可靠性,从而推动新能源产业的可持续发展。
参考文献
[1]2024 年中国风电吊装容量统计简报 [J]. 风能 ,2025,(03):48-63.
[2] 李辉 , 刘盛权 , 冉立 , 等 . 大功率并网风电机组变流器状态监测技术综述[J]. 电工技术学报 ,2016,31(08):1-10.
[3] 龙霞飞 , 杨苹 , 郭红霞 , 等 . 大型风力发电机组故障诊断方法综述 [J]. 电网技术 ,2017,41(11):3480-3491.
[4] 刘小峰, 李俊锋, 柏林. 基于SCADA 参量耦合网络变分图自编码的风电机组异常检测方法 [J]. 太阳能学报 ,2025,46(05):567-576.
[5] 胡龙舟 李韬睿 , 吴頔 , 等 . 基于 SCADA 系统的风电机组 KNN 故障状态监测研究 [J]. 机械设计与制造工程 ,2025,54(01):91-94.
[6] 吉思良 , 张峰 , 孙海星 , 等 . 基于支持向量机的风力发电机组故障诊断预警模型 [J]. 电工技术 ,2024,(06):66-68+74.
[7] 郑潞 . 基于知识图谱的风机故障处置辅助决策系统研究 [D]. 中国矿业大学 ,2024.
[8] 郭明龙 . 风力发电机组故障诊断与预测技术探究 [J]. 城市建设理论研究( 电子版 ),2023,(04):58-60.
京公网安备 11011302003690号