主要内容

实时模型准备工作流程

图中显示了实时模型准备工作流程。

一个具有实时性的模型既快速又准确。当您在实时目标机器上模拟一个具有实时能力的模型时,它将运行到完成,并根据理论模型和经验数据生成符合您期望的结果。确定模型是否具有实时能力的唯一方法是在实时目标机器上运行它。但是,您可以使用桌面模拟,也就是说,在您的开发计算机上进行模拟,以确定您的模型在部署之前具有实时能力的可能性。

实时模型准备工作流是您在开发计算机上执行的两个工作流中的第一个,以使您的模型更有可能是实时的。该工作流向您展示了如何调整模型的大小或保真度,以在不牺牲和准确性的情况下提高速度。当您完成此工作流时,使用实时仿真工作流来找到最佳的固定步骤、固定成本求解器配置,用于实时仿真您的模型。

为实时仿真准备你的模型

获得参考结果

使用经验或理论数据来设计和构建Simscape™模型。使用仿真软件金宝app®全局变量步长求解器来模拟你的模型。根据需要改进模型,以获得底层数据支持的模拟结果。金宝app参考结果为在模型准备和实时仿真工作流程的所有阶段评估模型准确性提供了基线。

泛滥的风险评估

当步长太小以至于实时计算机无法完成任何一步所需的所有处理时,就会发生溢出。如果您的模型需要的步长非常小,以至于可能导致溢出,那么您的模型的速度不够快,无法进行实时模拟。要确定小步骤是否可能导致溢出,请创建可变步长步长求解器用于执行模型模拟的步骤大小图。步长图告诉您求解器在模拟过程中使用的小步骤的数量和大小。

对于可能导致实时模拟溢出的小步骤的大小或数量,没有硬性指标。将模型从桌面仿真转移到实时仿真是一个迭代过程。这个过程包括修改、模拟和分析模型,它可以帮助您确定模型中的小步骤是否有时间限制,或者数量多到足以导致超限。

在实时机器上模拟不同模型所获得的经验也可以帮助您决定模型中的小步骤是否可能导致溢出。例如,考虑有两个模型M1和M2以及两个不同的实时处理器RT1和RT2的情况。处理器RT1和RT2具有相同的名义处理速度。模型M1,一个机械模型,和M2,一个电气模型,都有一些步骤是1e-15秒。模型M1可能在实时处理器RT1上以足够准确的结果进行模拟,但在实时处理器RT2上产生溢出或以不够准确的结果进行模拟。还有一种可能是,模型M1在RT1和RT2上运行到完成时得到了准确的结果,而模型M2在两个处理器上都产生了溢出。这些场景是可能的,因为不同的模型拓扑产生不同的动态,而且名义处理速度不是模拟执行时间的唯一决定因素。操作系统和I/O配置等其他因素也会影响实时处理器上模拟执行的方式。当您评估小步长对模型实时可行性的影响时,对系统动力学和实时设备处理能力的熟悉可以指导您的决策。

调整模型保真度或范围

如果您的分析表明,使用该模型进行的实时模拟很可能出现超限或产生不够准确的结果,则修改该模型以提高速度或准确性。

当您评估溢出风险时,如果您发现模拟使用了太多的小步骤,请使用以下方法来提高模拟速度:

  • 降低计算成本。

  • 减少数值刚度。

  • 减少零交叉。

  • 减少快速动力学

  • 为并行处理划分模型。

在评估模型精度时,如果发现仿真结果与参考结果不匹配,可以使用以下方法来提高模型精度:

  • 金宝appSimulink动态系统建模的最佳实践

  • Simscape基本的建模技术

用变步长求解器获得结果

使用Simuli金宝appnk全局变量步长求解器,获得模型修改版本的结果。

步长图还可以帮助您:

  • 估计用于固定步长求解器的最大步长,以便在实时仿真中获得准确的结果。

  • 确定不连续或快速动态减慢模拟的确切时间。

评估模型的准确性

将目标计算机上的模拟结果与参考结果进行比较。参考模型和修正模型的结果是否相同?如果不是,它们是否足够相似,以至于经验或理论数据也支持修正模型的模拟结果?金宝app修改后的模型是否代表了您希望它测量的现象?它是否正确地代表了这些现象?如果您计划使用您的模型来测试控制器设计,那么该模型是否足够精确,以产生您可以依赖的系统确认结果?这些问题的答案将帮助您决定您的实时结果是否足够准确。

执行实时仿真工作流

当变量仿真结果表明您的模型具有实时处理所需的速度和精度时,您可以使用实时仿真的工作流为固定步骤、固定成本的模拟配置您的模型。

返回到实时模型准备工作流

连接器是从另一个工作流(例如,实时仿真工作流或在环硬件仿真工作流)返回实时模型准备工作流的入口点。

工作流完成的计算能力不足

您的实时目标机器可能缺乏实时运行模型的计算能力。如果,在工作流的多次迭代之后,没有模型复杂度水平使您的模型具有实时能力,考虑以下选项来增加处理能力:

相关的例子

更多关于