电气快速仿真简介
使用 Simscape Electrical™ 模型时,考虑仿真是否以最佳性能运行是很重要的。根据仿真的目的,您可以采用不同方法和最佳实践来诊断模型、识别瓶颈和提高仿真性能。
本指南提供应用优化最佳实践需要遵循的步骤,以帮助您在保持准确性并满足特定仿真需求的同时实现最佳仿真性能。
继续探索此主题
- 用于快速仿真的 Simscape Electrical 建模实践 - 视频
- 电气快速仿真示例 - File Exchange
准备:诊断仿真时间和信号采样时间
记录的仿真元数据可用于在后续步骤中分析和比较仿真时间。使用 Simulink.SimulationOutput 对象内的 SimulationMetaData 对象可以查看此信息。
与分析求解器性能相关的另一部分信息是模块采样时间。根据求解器和模块设置,您可以在模型中找到不同的离散和连续采样时间。这可能导致意外行为。通过转至 Simulink® 工具条中的调试选项卡,然后选择叠加信息 > 采样时间 > 颜色,可打开采样时间显示。这将触发模型更新,然后所有信号的采样时间会着色显示。
Simulink 探查器提供关于模型执行时间的详细深入信息。它捕获总体仿真时间并标识模块执行时序,有助于确定模型的哪些部分执行时间更长。
使用 Simulink 探查器进行每个模块或子系统的运行时分析
本视频说明如何使用 Simulink 探查器计算每个模块需要多少仿真时间。
求解器探查工具报告显示模型中不同模块的执行频率以及执行所花费的时间。这有助于标识计算量最大的模型部分。Simscape™ 网络的执行时间将在 Solver Configuration 模块下汇总。如果模型包含大量示波器,请考虑改用仿真数据检查器。
接下来的章节将介绍仿真的目的及其如何影响性能和设置。
选择合适的仿真方法
模型的性能取决于您打算如何使用它。不同目的需要的具体方法和设置有所不同。本节会涉及两种仿真类型:桌面仿真和硬件在环仿真。
桌面仿真
桌面仿真的主要目的通常是开发控制算法,并在闭环仿真中针对物理被控对象模型进行测试。被控对象模型将是 Simscape 网络,而算法将在 Simulink 中建模。在本例中,您想让被控对象模型使用变步长求解器,这意味着在模型动态特性允许的情况下,求解器可以使用较大的仿真时间步。算法可以与其一起运行,以可变时间步执行,或根据需要以固定时间步执行。
如果这与您的用例匹配,请转至以下桌面仿真注意事项部分。
硬件在环仿真
硬件在环仿真 (HIL) 是一种实时仿真,用于实时测试在控制器硬件上运行的控制器算法。HIL 仿真会使用实时计算机来表示被控对象模型。为此,Simscape 网络需配置为使用定步长求解器,然后将其部署到实时硬件上。
如果这与您的用例匹配,请转至以下硬件在环仿真注意事项部分。
桌面仿真注意事项
Simscape 物理网络(变步长求解器被控对象)的求解器注意事项
要设计控制算法并针对电气 Simscape 网络进行测试,建议从使用变步长求解器执行的物理模型开始。这使得求解器能够在模型动态特性需要时采用较小的时间步,并在可能的时候选择较大的时间步。在没有预定的固定时间步长执行的情况下,这可能会带来整体性能的提升。
要对 Simscape 网络使用变步长求解器,请在 Solver Configuration 模块中禁用局部求解器选项。这允许网络使用在模型设置中选择的全局求解器。通常,对于 Simscape 网络,我们推荐使用隐式求解器,例如 daessc、odes23t 或 ode15s。
继续探索此主题
- 选择用于高性能仿真的求解器 (10:55) - 视频
- 使用可变时间步进行仿真 - 文档
配置使用定步长采样时间的算法
采样时间的颜色指示了特定模块在哪些求解器时间步被执行。在设计算法时,您通常对控制环的采样时间有特定要求。为了利用变步长求解器的优势,您可以以变步长运行被控对象模型,以定步长运行算法。为此,全局求解器应在模型设置中设置为变步长类型,并且模型中的模块可以配置为仅以特定(定步长)采样率执行。
当模块中未显式定义采样时间时,它们通常会继承采样时间,这可能导致意外行为。为避免这种情况,请在相关模块中指定定步长采样率。在适用的情况下使用采样时间设置以确保正确的执行时序。请参阅指定采样时间。
选择合适的模型保真度
选择正确的模型保真度是实现最佳仿真性能的关键步骤。Simscape Electrical 技术及其组件允许您根据当前任务在不同建模和参数化选项之间进行选择。
例如,详细开关模型对于分析功率损耗可能是必需的,而谐波分析可使用理想开关。对于控制设计,平均模型通常就足够了。
PWM 建模方法
电力电子模型通常包含 PWM 信号。该信号可被优化,也可以与逆变器的模型保真度一起综合考虑。
如果模型包含 PWM 信号,这可能是另一处可以用来改进性能的地方。
使用求解器探查工具进行诊断
当使用变步长求解器对模型进行仿真时,求解器探查工具有助于确定何时较小的时间步或仿真事件(如求解器异常或过零点)会导致仿真性能下降。对于模型的 Simscape 网络,求解器探查工具允许您检查不同物理量可能以何种方式导致仿真性能不佳。
此视频说明求解器探查工具如何使用变步长求解器帮助找出模型的性能瓶颈。
其他诊断工具
使用变量查看器进行模型初始化验证
运行 Simscape 物理网络仿真时,求解器在仿真开始时(在 \(t=0\) 处)计算初始条件。Simscape 网络的初始条件通常在模块级别配置,但也可以从先前记录的数据中获取。有关详细信息,请参阅变量初始化。
求解器使用这些设置来确定合适的初始条件;此过程可能相当耗时,并可能导致警告或错误。变量查看器可用于检查和验证 Simscape 网络初始条件计算的结果。在确定初始化缓慢或未收敛的潜在根本原因时,可通过这种方式获得有用信息。
本视频说明如何使用变量查看器来检查 Simscape 模型的初始化结果。
分析 Simscape 变量的量级以定义良好的缩放值
为 Simscape 变量定义标称值提供了可以指定变量预期量级的选项。有关详细信息,请参阅通过标称值进行系统缩放。在仿真期间,求解器对这些缩放后的无单位值进行运算。对所有变量采用合适的缩放值,可以同时增强仿真的稳健性和性能。为了获得更好的性能,请确保变量的量级保持在相似的范围内。
此视频说明如何使用变量缩放分析器来缩放 Simscape 变量,以提高仿真的稳健性和性能。
使用自动化检查以获得最佳模型设置
以下工具专为主要包含 Simulink 模块的模型而设计,且仅提供少量专门针对包含 Simscape 网络的模型的诊断。
模型顾问可以检查模型和子系统的配置或建模功能,以满足特定建模标准或避免不准确或低效的仿真。模型顾问具有内置检查,这些检查可能专用于您要实现的任务(例如,性能或准确性)。
模型顾问运行检查并提供包含可操作建议的详细报告,甚至可以自动实现这些修复。
性能顾问在模型顾问框架内构建,包含一组预定义的检查,用于查找可能导致仿真速度减慢的配置。
此视频说明如何使用模型顾问对您的特定模型执行多项针对非最佳模型设置或模块的性能检查。
使用变量统计量查看器了解模型复杂度
统计量查看器聚合了给定模型及其求解器配置的 Simscape 模型统计量。调查统计量是评估包含 Simscape 模块的模型复杂度的一种方法,甚至在仿真之前即可进行。
此视频说明统计量查看器如何聚合给定模型及其求解器配置的 Simscape 模型统计量。
在模型优化后的其他建议
仿真模式和快速重启
仿真模式可能会影响仿真速度,尤其是与快速重启结合使用时。模型默认以普通模式运行。但是,用户可以利用加速模式和快速加速模式。
虽然这些模式能够改进性能,但它们在模型灵活性、交互性和诊断粒度方面存在权衡。请参阅选择仿真模式。加速模式和快速加速模式对 Simscape 模型性能的提升可能不如纯 Simulink 模型显著。
如果您在各次运行之间(例如在参数扫描期间)未进行结构性更改的情况下重复运行模型,您可以通过快速重启功能跳过编译阶段来节省时间。有关详细信息,请参阅 MATLAB 帮助中心中的快速重启快速入门。为确保 Simscape 参数可以在各次仿真运行之间更改,请将它们配置为 Simscape 运行时参数。
本视频展示各种仿真模式对电气系统模型执行速度的影响。展示的模式包括普通模式、加速模式和快速加速模式。
并行计算
为了在运行多个独立仿真时节省时间,您可以考虑将这些仿真分布在多个核上或一个集群上。用例包括参数扫描、蒙特卡罗分析、优化问题的并行计算,或使用 Simulink Test™ 进行模型测试。
了解如何在普通模式或加速模式下通过并行计算来加速电气仿真。
硬件在环仿真注意事项
即使您的目标是在硬件在环仿真中以定步长运行 Simscape 网络,使用变步长求解器来调试、验证和改进模型也是一种良好做法。为此,您可以按照从“桌面仿真注意事项”开始的步骤进行操作。定步长求解器仿真也可能掩盖仅在变步长仿真中才能发现的深层问题。
了解仿真物理系统时求解器和模型的注意事项。
在转换为定步长求解器时,您可以使用 Simscape 局部求解器或 Simulink 全局定步长求解器。为了获得更好的性能,通常建议选择 Simscape 局部求解器。有关局部求解器及其设置的详细信息,请参阅使用固定时间步进行仿真 - 局部和全局定步长求解器下的文档。
在为硬件部署配置使用固定步长求解器的 Simscape 模型时,一个重要步骤是通过迭代确定合适的求解器和时间步长设置,以便在获得可接受的仿真结果的同时,实现实时可行性。实时仿真概述并解释此工作流。
将 Simscape 模型转换为 HDL
进行实时仿真,Simscape 模型将转换为 C 代码。为了实现更快的采样率,您可以使用 FPGA 技术和 HDL 代码。为了使 Simscape 中的电气网络模型能够利用这一工作流,物理模型需要在 Simulink 中转换为状态空间表示。这是 Simscape HDL 工作流顾问的主要目标。
在此示例中,您将了解如何使用线性化开关逼近方法将 Simscape 电机模型转换为 HDL 实现模型,以便生成和综合 HDL 代码。
结束语
本指南介绍了优化 Simscape Electrical 仿真性能的方法,涵盖从桌面端算法开发到硬件在环测试和 FPGA 实现的各种应用。通过遵循概述的工作流(从诊断分析开始,逐步进行针对特定目的的优化策略,最后执行高级性能改进),工程师可以在保持准确性和可靠性的同时,显著提高仿真速度。
通过遵循本指南并利用 MATLAB 和 Simulink 中提供的诊断工具,您可以将计算密集型电气仿真转变为高效、准确且可靠的建模工作流。
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)