使用基于模型的设计设计飞机电气网络

本出版物提供了网络研讨会的转录 “使用基于模型的设计开发飞机电气网络”。 该网络研讨会由工程师 Mikhail Peselnik 主持 CITM展商.)

今天我们将了解到,我们可以调整模型以实现模拟结果的保真度和准确性与模拟过程的速度之间的最佳平衡。 这是有效使用仿真并确保模型的详细程度适合您想要执行的任务的关键。

使用基于模型的设计设计飞机电气网络

我们还将学习:

  • 如何通过使用优化算法和并行计算来加速模拟;
  • 如何将模拟分布在多个计算机核心上,加速参数估计和参数选择等任务;
  • 如何使用 MATLAB 自动执行仿真和分析任务来加快开发速度;
  • 如何使用 MATLAB 脚本进行谐波分析并使用自动报告生成记录任何类型测试的结果。

使用基于模型的设计设计飞机电气网络

我们将从飞机电气网络模型的概述开始。 我们将讨论我们的模拟目标是什么,并研究用于创建模型的开发过程。

然后我们将经历这个过程的各个阶段,包括初始设计——我们在其中澄清要求。 详细设计 - 我们将查看电网的各个组件,最后我们将使用详细设计的仿真结果来调整抽象模型的参数。 最后,我们将了解如何在报告中记录所有这些步骤的结果。

这是我们正在开发的系统的示意图。 这是一个半飞机模型,包括发电机、交流母线、各种交流负载、变压整流器单元、带有各种负载的直流母线和电池。

使用基于模型的设计设计飞机电气网络

开关用于将组件连接到电网。 当组件在飞行过程中打开和关闭时,电气条件可能会发生变化。 我们想要在这些变化的条件下分析飞机电网的这一半。

飞机电气系统的完整模型必须包括其他组件。 我们没有将它们包含在这个半平面模型中,因为我们只想分析这些组件之间的相互作用。 这是飞机和造船业的常见做法。

模拟目标:

  • 确定各种组件以及连接它们的电源线的电气要求。
  • 分析不同工程学科组件之间的系统相互作用,包括电气、机械、液压和热效应。
  • 并在更详细的层面上进行谐波分析。
  • 分析变化条件下的供电质量,并查看不同网络节点的电压和电流。

这组模拟目标最好通过使用不同细节程度的模型来实现。 我们将看到,随着开发过程的进行,我们将拥有一个抽象和详细的模型。

当我们查看这些不同模型变体的仿真结果时,我们发现系统级模型和详细模型的结果是相同的。
使用基于模型的设计设计飞机电气网络

如果我们仔细观察仿真结果,我们会发现,尽管模型的详细版本中存在由功率器件切换引起的动态,但总体仿真结果是相同的。

这使我们能够在系统级别执行快速迭代,以及在粒度级别对电气系统进行详细分析。 这样我们就可以有效地实现我们的目标。

现在让我们谈谈我们正在使用的模型。 我们为电网中的每个组件创建了多个选项。 我们将根据我们要解决的问题选择要使用的组件变体。

当我们探索电网发电方案时,我们可以用循环对流型变速发电机或直流耦合频率发电机来取代集成驱动发电机。 我们可以在交流电路中使用抽象或详细的负载组件。

同样,对于直流网络,我们可以使用抽象的、详细的或多学科的选项,考虑其他物理学科的影响,例如力学、水力学和温度效应。

有关模型的更多详细信息。

使用基于模型的设计设计飞机电气网络

在这里您可以看到发电机、配电网络以及网络中的组件。 该模型当前设置为使用抽象组件模型进行模拟。 通过指定组件消耗的有功功率和无功功率,可以简单地对执行器进行建模。

如果我们将此模型配置为使用详细的组件变体,则执行器已被建模为电机。 我们有永磁同步电机、变流器以及直流母线和控制系统。 如果我们查看变压器整流器单元,我们会发现它是使用电力电子设备中使用的变压器和通用电桥进行建模的。

我们还可以选择一个系统选项(在 TRU DC Loads -> Block Choices -> Multidomain),该选项考虑与其他物理现象(在燃油泵中)相关的影响。 对于燃油泵,我们看到我们有一个液压泵,液压负载。 对于加热器,我们考虑了温度效应,当温度变化时,温度效应会影响该组件的行为。 我们的发电机是使用同步电机建模的,我们有一个控制系统来设置该电机的电压场。

使用名为 Flight_Cycle_Num 的 MATLAB 变量选择飞行周期。 在这里,我们看到来自 MATLAB 工作区的数据,该工作区控制某些电网组件何时打开和关闭。 该图 (Plot_FC) 显示组件打开或关闭时的第一个飞行周期。

如果我们将模型调整为 Tuned 版本,我们可以使用此脚本 (Test_APN_Model_SHORT) 来运行模型并在三个不同的飞行周期中对其进行测试。 第一个飞行周期正在进行中,我们正在各种条件下测试系统。 然后,我们自动配置模型以运行第二个和第三个飞行周期。 完成这些测试后,我们会得到一份报告,其中显示了这三项测试的结果与之前的测试运行的比较。 在报告中,您可以看到模型的屏幕截图、显示发电机输出的速度、电压和发电功率的图表屏幕截图、与之前测试的比较图,以及电网质量分析的结果。

使用基于模型的设计设计飞机电气网络

在模型保真度和仿真速度之间找到平衡点是有效使用仿真的关键。 当您向模型添加更多细节时,计算和模拟模型所需的时间就会增加。 针对您要解决的特定问题定制模型非常重要。

当我们对电能质量等细节感兴趣时,我们会添加电力电子开关和实际负载等效果。 然而,当我们对电网中各个组件产生或消耗能量等问题感兴趣时,我们将使用复杂的仿真方法、抽象负载和平均电压模型。

使用 Mathworks 产品,您可以为当前问题选择正确的详细程度。

使用基于模型的设计设计飞机电气网络

为了有效地设计,我们需要组件的抽象模型和详细模型。 以下是这些选项如何融入我们的开发流程:

  • 首先,我们使用模型的抽象版本来阐明需求。
  • 然后,我们使用细化的需求来详细设计组件。
  • 我们可以在模型中结合组件的抽象版本和详细版本,从而允许组件与机械系统和控制系统的验证和组合。
  • 最后,我们可以使用详细模型的仿真结果来调整抽象模型的参数。 这将为我们提供一个快速运行并产生准确结果的模型。

您可以看到这两个选项(系统和详细模型)是相辅相成的。 我们使用抽象模型来澄清需求的工作减少了详细设计所需的迭代次数。 这加快了我们的开发进程。 详细模型的模拟结果为我们提供了一个运行快速并产生准确结果的抽象模型。 这使我们能够实现模型的详细程度与模拟正在执行的任务之间的匹配。

使用基于模型的设计设计飞机电气网络

世界各地的许多公司都使用 MOS 来开发复杂的系统。 空中客车公司正在为A380开发基于MOP的燃油管理系统。 该系统包含20多个泵和40多个阀门。 您可以想象可能发生的不同故障场景的数量。 通过模拟,他们每个周末可以运行超过十万次测试。 这让他们相信,无论出现何种故障情况,他们的控制系统都可以处理它。

现在我们已经了解了模型和模拟目标的概述,我们将逐步完成设计过程。 我们将首先使用抽象模型来阐明系统需求。 这些细化的要求将用于详细设计。

使用基于模型的设计设计飞机电气网络

我们将了解如何将需求文档集成到开发过程中。 我们有一份大型需求文档,概述了我们系统的所有需求。 将需求与整个项目进行比较并确保项目满足这些需求是非常困难的。

使用基于模型的设计设计飞机电气网络

使用 SLVNV,您可以直接链接需求文档和 Simulink 中的模型。 您可以直接创建从模型到需求的链接。 这使得验证模型的特定部分是否与特定需求相关变得更容易,反之亦然。 这种沟通是双向的。 因此,如果我们正在查看某个需求,我们可以快速跳转到模型以查看如何满足该需求。

使用基于模型的设计设计飞机电气网络

现在我们已经将需求文档集成到工作流程中,我们将细化电网的需求。 具体来说,我们将研究发电机和输电线路的运行、峰值和设计负载要求。 我们将在各种电网条件下对它们进行测试。 那些。 在不同的飞行周期中,当不同的负载打开和关闭时。 由于我们只关注功率,因此我们将忽略电力电子器件中的开关。 因此,我们将使用抽象模型和简化的模拟方法。 这意味着我们将调整模型以忽略我们不需要的细节。 这将使模拟运行得更快,并允许我们在长飞行周期中测试条件。

我们有一个交流电源,它通过一系列电阻、电容和电感。 电路中有一个开关,在一段时间后打开,然后再次关闭。 如果运行模拟,您可以看到连续求解器的结果。 (V1) 您可以看到与开关打开和关闭相关的振荡被准确显示。

现在让我们切换到离散模式。 双击 PowerGui 模块并在 Solver 选项卡中选择离散求解器。 您可以看到现在已选择离散求解器。 让我们开始模拟吧。 您将看到结果现在几乎相同,但精度取决于所选的采样率。

使用基于模型的设计设计飞机电气网络

现在我可以选择复杂模拟模式,设置频率(因为只能在特定频率下获得解)并再次运行模拟。 您将看到仅显示信号幅度。 通过单击该块,我可以运行一个 MATLAB 脚本,该脚本将在所有三种仿真模式下按顺序运行模型,并将结果图绘制在彼此之上。 如果我们仔细观察电流和电压,我们会发现离散结果接近连续结果,但完全一致。 如果查看电流,您会发现存在一个在模拟的离散模式中未注意到的峰值。 我们看到,复杂模式允许您仅看到幅度。 如果查看求解器步骤,您会发现复杂的求解器仅需要 56 个步骤,而其他求解器需要更多步骤才能完成模拟。 这使得复杂模拟模式的运行速度比其他模式快得多。

使用基于模型的设计设计飞机电气网络

除了选择适当的仿真模式之外,我们还需要具有适当详细程度的模型。 为了阐明电网中组件的功率要求,我们将使用一般应用的抽象模型。 动态负载块允许我们指定组件在网络中消耗或生成的有功功率和无功功率。

我们将根据一组初始要求定义无功功率和有功功率的初始抽象模型。 我们将使用理想源块作为源。 这将允许您设置网络上的电压,您可以使用它来确定发电机的参数,并了解它应该产生多少电力。

接下来,您将了解如何使用仿真来优化发电机和输电线路的功率要求。

使用基于模型的设计设计飞机电气网络

我们有一组初始要求,包括网络中组件的额定功率和功率因数。 我们还具备该网络可以运行的一系列条件。 我们希望通过在各种条件下进行测试来完善这些初始要求。 我们将通过调整模型以使用抽象负载和源并在各种操作条件下测试要求来实现这一点。

我们将配置模型以使用抽象负载和发电机模型,并查看在各种操作条件下生成和消耗的电力。

使用基于模型的设计设计飞机电气网络

现在我们将继续 详细设计。 我们将使用细化的需求来详细设计,并将这些详细的组件与系统模型结合起来以检测集成问题。

使用基于模型的设计设计飞机电气网络

如今,在飞机上发电有多种选择。 通常,发电机通过与燃气轮机通信来驱动。 涡轮机以可变频率旋转。 如果网络必须具有固定频率,则需要将网络中的可变涡轮轴速度转换为恒定频率。 这可以通过在发电机上游使用集成恒速驱动器,或使用电力电子设备将变频交流电转换为恒频交流电来完成。 还有一些具有浮动频率的系统,其中网络中的频率可以改变并且能量转换发生在网络中的负载处。

这些选项中的每一个都需要发电机和电力电子设备来转换能量。

使用基于模型的设计设计飞机电气网络

我们有一台可变速旋转的燃气轮机。 该涡轮机用于旋转发电机轴,产生变频交流电。 可以使用各种电力电子选项将该可变频率转换为固定频率。 我们想评估这些不同的选择。 这可以使用 SPS 来完成。

我们可以对每个系统进行建模,并在不同条件下运行模拟,以评估哪种选项最适合我们的系统。 让我们切换到模型,看看这是如何完成的。

使用基于模型的设计设计飞机电气网络

这是我们正在使用的模型。 来自燃气轮机轴的可变速度被传输至发电机。 循环变流器用于产生固定频率的交流电。 如果运行模拟,您将看到模型的行为方式。 上图显示了燃气轮机的变速。 您会看到频率正在变化。 第二张图中的黄色信号是发电机输出端某一相的电压。 这种固定频率交流电是使用电力电子设备通过变速产生的。

让我们看看如何描述交流负载。 我们的连接到灯、液压泵和执行器。 这些组件使用 SPS 中的块进行建模。

SPS 中的每个模块都包含配置设置,使您能够适应不同的组件配置并调整模型的详细程度。

使用基于模型的设计设计飞机电气网络

我们配置模型来运行每个组件的详细版本。 因此,我们有足够的能力来模拟交流负载,并且通过在离散模式下模拟详细组件,我们可以看到有关电网中正在发生的情况的更多细节。

我们将使用该模型的详细版本执行的任务之一是分析电能质量。

使用基于模型的设计设计飞机电气网络

当系统中引入负载时,可能会导致电压源波形失真。 这是一个理想的正弦曲线,如果负载恒定,这样的信号将出现在发生器的输出处。 然而,随着可打开和关闭的组件数量增加,该波形可能会失真并导致如此小的过冲。

电压源波形中的这些尖峰可能会导致问题。 由于电力电子设备的切换,这可能会导致发电机过热,这可能会产生大的中性线电流,并且还会导致电力电子设备不必要的切换,因为他们预计信号不会出现这种反弹。

谐波失真可以衡量交流电源的质量。 在不断变化的网络条件下测量该比率非常重要,因为质量会根据打开和关闭的组件而变化。 使用 MathWorks 工具可以轻松测量该比率,并且可以在各种条件下自动进行测试。

了解有关 THD 的更多信息,请访问 维基百科上的数据.

接下来我们看看如何进行 使用仿真进行电能质量分析。

我们有一个飞机电气网络的模型。 由于网络中的各种负载,发电机输出的电压波形发生畸变。 这导致食品质量下降。 这些负载在飞行周期的不同时间被断开和上线。

我们想要评估该网络在不同条件下的电能质量。 为此,我们将使用 SPS 和 MATLAB 自动计算 THD。 我们可以使用 GUI 交互式计算比率,或使用 MATLAB 脚本实现自动化。

让我们回到模型并通过示例向您展示这一点。 我们的飞机电气网络模型由发电机、交流母线、交流负载、变压整流器和直流负载组成。 我们希望在不同条件下测量网络中不同点的电能质量。 首先,我将向您展示如何仅针对生成器以交互方式执行此操作。 然后我将向您展示如何使用 MATLAB 自动执行此过程。 我们将首先运行模拟来收集计算 THD 所需的数据。

使用基于模型的设计设计飞机电气网络

该图 (Gen1_Vab) 显示发电机各相之间的电压。 正如您所看到的,这不是完美的正弦波。 这意味着网络的电能质量受到网络上的组件的影响。 仿真完成后,我们将使用快速傅里叶变换来计算 THD。 我们将打开powergui块并打开FFT分析工具。 您可以看到该工具自动加载了我在模拟过程中记录的数据。 我们将选择 FFT 窗口,指定频率和范围,并显示结果。 可以看到谐波失真率为2.8%。 在这里您可以看到各种谐波的贡献。 您了解了如何以交互方式计算谐波失真系数。 但我们希望自动化这个过程,以便计算不同条件下和网络中不同点的系数。

我们现在将了解可用于直流负载建模的选项。

我们可以对纯电力负载以及包含来自不同工程领域的元素(例如电和热效应、电气、机械和液压)的多学科负载进行建模。

使用基于模型的设计设计飞机电气网络

我们的直流电路包括变压器整流器、灯、加热器、燃油泵和电池。 详细模型可以考虑其他领域的影响,例如,加热器模型考虑电气部件的行为随温度变化的变化。 燃油泵考虑了其他区域的影响,以了解它们对组件行为的影响。 我将回到模型来向您展示它的样子。

这是我们使用的模型。 正如您所看到的,现在变压器整流器和直流网络是纯电气的,即仅考虑电域的影响。 他们简化了该网络中组件的电气模型。 我们可以选择该系统的一个变体(TRU DC 负载 -> 多域),该变体考虑了其他工程领域的影响。 您会看到,在网络中我们具有相同的组件,但我们添加了其他效果,而不是电气模型的数量 - 例如,对于击球手,温度物理网络考虑了温度对行为的影响。 在泵中,我们现在考虑泵和系统中其他负载的液压效应。

您在模型中看到的组件是由 Simscape 库模块组装而成的。 有用于电气、液压、磁力和其他学科的会计模块。 使用这些块,您可以创建我们称之为多学科的模型,即考虑到各种物理和工程学科的影响。

其他区域的影响可以集成到电网模型中。

使用基于模型的设计设计飞机电气网络

Simscape 模块库包含用于模拟其他领域(例如液压或温度)效果的模块。 通过使用这些组件,您可以创建更真实的网络负载,然后更准确地定义这些组件可以运行的条件。

通过组合这些元素,您可以创建更复杂的组件,以及使用 Simscape 语言创建新的自定义学科或领域。

专门的 Simscape 扩展中提供了更高级的组件和参数化设置。 考虑到效率损失和温度影响等影响,这些库中提供了更复杂和详细的组件。 您还可以使用 SimMechanics 对 XNUMXD 和多体系统进行建模。

现在我们已经完成了详细设计,我们将使用详细模拟的结果来调整抽象模型的参数。 这将为我们提供一个运行速度快的模型,同时仍然产生与详细模拟结果相匹配的结果。

我们从抽象组件模型开始开发过程。 现在我们有了详细的模型,我们希望确保这些抽象模型产生相似的结果。

使用基于模型的设计设计飞机电气网络

绿色显示我们收到的初始要求。 我们希望抽象模型的结果(此处以蓝色显示)与详细模型模拟的结果(以红色显示)接近。

为此,我们将使用输入信号定义抽象模型的有功功率和无功功率。 我们将创建一个参数化模型并调整这些参数,以便抽象模型模拟中的有功功率和无功功率曲线与详细模型相匹配,而不是对有功功率和无功功率使用单独的值。

使用基于模型的设计设计飞机电气网络

接下来,我们将了解如何调整抽象模型以匹配详细模型的结果。

这是我们的任务。 我们有一个电气网络中组件的抽象模型。 当我们对其应用这样的控制信号时,输出是有功功率和无功功率的以下结果。

使用基于模型的设计设计飞机电气网络

当我们将相同的信号应用于详细模型的输入时,我们会得到如下结果。

我们需要抽象模型和详细模型的仿真结果是一致的,以便我们可以使用抽象模型快速迭代系统模型。 为此,我们将自动调整抽象模型的参数,直到结果匹配。

为此,我们将使用 SDO,它可以自动更改参数,直到抽象模型和详细模型的结果匹配。

要配置这些设置,我们将按照以下步骤操作。

  • 首先,我们导入详细模型的仿真输出,并选择这些数据进行参数估计。
  • 然后我们将指定需要配置哪些参数并设置参数范围。
  • 接下来,我们将评估参数,SDO 调整参数直到结果匹配。
  • 最后,我们可以使用其他输入数据来验证参数估计结果。

您可以通过使用并行计算分发模拟来显着加快开发过程。

使用基于模型的设计设计飞机电气网络

您可以在多核处理器的不同内核或计算集群上运行单独的模拟。 如果您有一项任务需要运行多个模拟(例如,蒙特卡罗分析、参数拟合或运行多个飞行周期),您可以通过在本地多核计算机或计算机集群上运行这些模拟来分发这些模拟。

在许多情况下,这并不比用并行 for 循环 parfor 替换脚本中的 for 循环更困难。 这可以显着加快运行模拟的速度。

使用基于模型的设计设计飞机电气网络

我们有一个飞机电气网络的模型。 我们希望在各种操作条件下测试该网络 - 包括飞行周期、中断和天气。 我们将使用 PCT 来加速这些测试,使用 MATLAB 来调整我们想要运行的每个测试的模型。 然后,我们将在计算机的不同核心之间分配模拟。 我们将看到并行测试比顺序测试完成得快得多。

以下是我们需要遵循的步骤。

  • 首先,我们将使用 parpool 命令创建一个工作进程池,或所谓的 MATLAB 工作进程。
  • 接下来,我们将为要运行的每个测试生成参数集。
  • 我们将首先按顺序运行模拟,一个接着一个。
  • 然后将其与并行运行模拟进行比较。

根据结果​​,并行模式的总测试时间大约比顺序模式少 4 倍。 我们从图表中看到,功耗总体处于预期水平。 可见的峰值与消费者打开和关闭时的不同网络状况有关。

模拟包括许多测试,我们可以通过将模拟分布在不同的计算机核心上来快速运行。 这使我们能够评估真正广泛的飞行条件。

现在我们已经完成了开发过程的这一部分,我们将了解如何自动创建每个步骤的文档,如何自动运行测试并记录结果。

系统设计始终是一个迭代过程。 我们对项目进行更改,测试更改,评估结果,然后进行新的更改。 记录结果和变更理由的过程需要很长时间。 您可以使用 SLRG 自动执行此过程。

使用 SLRG,您可以自动执行测试,然后以报告的形式收集这些测试的结果。 该报告可能包括测试结果的评估、模型和图表的屏幕截图、C 和 MATLAB 代码。

最后,我将回顾本次演讲的要点。

  • 我们看到了许多调整模型的机会,以在模型保真度和仿真速度之间找到平衡,包括仿真模式和模型抽象级别。
  • 我们了解了如何使用优化算法和并行计算来加速模拟。
  • 最后,我们了解了如何通过在 MATLAB 中自动执行仿真和分析任务来加快开发过程。

材料作者 — 米哈伊尔·佩塞尔尼克,工程师 CITM展商.

链接到此网络研讨会 https://exponenta.ru/events/razrabotka-ehlektroseti-samoleta-s-ispolzovaniem-mop

来源: habr.com

添加评论