主要内容

故障诊断仿真错误

故障排除提示和技术

Simscape™模拟可以在完成之前停止,并显示一个或多个错误消息。本节讨论一般的错误类型和错误修复策略。你可能会发现上一节,Simscape模拟是如何工作的,用于识别和跟踪错误。

如果模拟失败:

  • 检查模型配置。如果您的错误消息包含一个块列表,请首先查看这些块。也寻找:

    • 错误的连接 - 验证模型是否符合物理系统。例如,寻找彼此连接的致动器,使得它们尝试在相反的方向上移动,或者不正确地连接到防止移动的参考节点。在电路中,验证极性和连接到地面。

    • 错误的单元——Simscape单元管理器在使用物理单元方面提供了很大的灵活性。但是,在指定正确的单元时必须小心谨慎,特别是在Simulink-PS转换器和PS-Simulink转换器模块中。万博1manbetx开始分析电路,打开所有的换流模块,检查指定单元的正确性。

  • 尽量简化电路。不必要的电路复杂性是造成仿真错误的最常见原因。

  • 将系统分解成子系统并测试每个单元,直到你确定单元的行为符合预期。

  • 通过逐步增加系统的复杂性来构建系统。

建议您逐步构建,模拟和测试模型。从系统的理想化简化模型开始,模拟它,验证它是否正常工作。然后逐步使您的模型更加逼真,对摩擦损失,电机轴合规性,硬盘等的效果进行更加逼真,对描述现实世界现象的其他事情。在每个增量步骤中模拟和测试您的模型。使用子系统捕获模型层次结构,并在测试整个模型配置之前分别模拟和测试子系统。这种方法有助于您将模型妥善组织,使其更容易排除它们。

系统配置错误

丢失索盘配置块

每个拓扑上不同的Simscape块图需要恰好连接到它的一个求解器配置块。Solver配置块指定全局环境信息,并为您在开始模拟之前提供模型需求的求解器的参数。

如果您得到一个关于缺少Solver Configuration块的错误消息,打开Simscape Utilities库并在电路上的任何地方添加Solver Configuration块。

额外的液体或气体性能块

如果您的模型包含液压元件,则图中的每个拓扑上不同的液压回路需要a定制的液压油块(或液压油块,可以用Simscape液体™块库)连接到它。这些块定义了作为连接到液压回路的所有块的全局参数的流体特性。如果回路上没有附加液压油块,则此回路中的液压油块使用默认流体。然而,在一个回路中超过一个液压油块会产生错误。

类似地,不止一个热液设定(TL)阻塞热液回路,两相液体性质(2p)阻塞在两相流体回路中,或气体性质(G)气路阻塞会产生错误。

如果您收到有关过多的域 - 特定于域的全局参数块的错误消息,请查找额外的液压油堵塞,定制的液压油堵塞,热液设定(TL)堵塞,两相液体性质(2p)块,或气体性质(G)阻止并删除它。

缺少对比试块

SimscapCase库包含特定于域的参考块,其表示适当类型的节能端口的参考点。例如,每个拓扑上不同的电路必须包含至少一个电气参考块,其表示与地的连接。类似地,所有块的液压保存端口都是由大气引用的(例如,液压泵的吸入口,或者阀门,圆柱体,管道的返回端口,如果它们被认为直接连接到大气)必须连接到液压基准块,表示与大气压力的连接。刚性夹紧到框架(接地)的机械平移端口必须连接到机械平移参考块,等等。

如果您得到一个关于缺少引用块或节点的错误消息,请检查您的系统配置,并根据上面描述的规则添加适当的引用块。缺失的引用节点诊断消息包括关于需要引用节点的特定块和变量的信息。当模型中涉及多个域时,这尤其有用。有关更多信息和最佳建模实践的示例,请参见基本规则

物理系统表示中的基本错误

根据Kirchhoff的广义电路规律,在Simscape建模环境中表示物理系统作为物理网络。某些模型配置违反了这些法律,因此是非法的。有两种广泛的违规行为:

  • 特定领域的源跨变量并联连接(例如,电压源、液压源或速度源)

  • 通过变量串联连接(例如,电流源、液压流量源、力或扭矩源)

这些配置在现实世界中是不可能的,理论上也是非法的。如果您的模型包含这样的配置,在模拟时,求解器会发出一个错误,后面跟着一个块列表,如下面的示例所示。

的例子。下图所示的模型包含并联连接的两个理想的翻译速度源。这产生了独立速度源的循环,求解器不能构造电路的一致方程系统。

当您尝试模拟该模型时,求解器将发出一条错误消息,其中包含到Ideal Translational Velocity Source和Ideal Translational Velocity Source1块的链接。为了固定电路,你可以用一个理想平移速度源块替换两个速度源,或者在它们之间添加一个平移阻尼块。

数值模拟问题

数值模拟问题可能是某些电路配置或参数不连续的结果。

依赖动态状态

某些电路配置可能导致相关的动态状态,或所谓的高指标微分代数方程(DAEs)。Simscape求解器可以处理动态状态之间的依赖关系,这些动态状态在状态中是线性的,与时间和系统输入无关。例如,并联的电容器或串联的电感不会产生任何问题。在某些情况下,具有相关动态状态的其他电路配置可能会减慢仿真速度或导致解算器初始化失败时出现错误。

动态状态具有非线性代数关系时可能发生问题。一个例子是由非线性齿轮约束连接的两个惯性,例如椭圆形齿轮。在模拟失败的情况下,Simscape求解器可以能够识别所涉及的组件,并提供与块的链接以及每个块内的方程的错误消息。

参数不连续性

依赖于时间或其他变量的非线性参数也可能由于参数的不连续而导致数值模拟问题。这些问题通常在瞬态初始化阶段(参见瞬态仿真问题).

初始条件解决故障

初始条件解决,解决所有系统变量(具有在某些系统变量上指定的初始条件),可能会失败。这有几种可能的原因:

  • 系统配置错误。在这种情况下,Simulation Diagnostics窗口通常包含附加的、更具体的错误消息,例如缺少参考节点,或有关组件方程的警告,后面是相关组件的列表。看到系统配置错误为更多的信息。

  • 相关的动态。在这种情况下,Simulation Diagnostics窗口还可能包含额外的、更具体的错误消息,例如关于组件方程的警告,后面是相关组件的列表。看到依赖动态状态为更多的信息。

  • 剩余公差可能太紧,在模拟开始时无法对代数约束产生一致的解。你可以试着增加公差一致性参数值(即放松公差)在Solver Configuration块。

如果仿真诊断窗口具有其他,更具体,错误的消息,请首先解决它们,然后尝试重新运行模拟。也可以看看故障排除提示和技术

瞬态仿真问题

瞬态初始化发生在模拟开始时(在计算初始条件之后)或随后发生的事件(例如中断)之后(例如,当硬停止碰到停止时)。它是通过确定所有的动态变量,求解代数变量和动态变量的导数来实现的。瞬态初始化的目标是为下一个瞬态求解步骤提供一组一致的初始条件。

暂态初始化不收敛

错误消息指出瞬态初始化无法收敛,或无法生成一组一致的初始条件,这表明瞬态初始化问题。它们可能是参数不连续的结果。检查你的模型,找出可能的不连续来源。也可以看看故障排除提示和技术

你也可以试着减少公差一致性参数值(即收紧公差)在Solver Configuration块。

步长相关误差-相关状态-高刚度

一个典型的与步长相关的错误消息可能表明,系统无法在不违反最小步长的情况下连续减少步长。这一错误信息表明在求解该模型的微分代数方程(DAEs)时存在数值困难。这可能是由相关的动态状态(高索引DAEs)或系统的高刚度造成的。你可以尝试以下方法:

  • 拧紧解算器公差(减小相对宽容配置参数对话框中的参数值)

  • 指定一个值,除了汽车,绝对的宽容在“配置参数”对话框中输入。用这个参数值进行实验。

  • 拧紧剩余公差(减小公差一致性在Solver Configuration块中的参数值)

  • 增加价值允许的连续初级缩小次数参数(将其设置为大于错误消息中给出的连续步长冲突数的值)。

  • 检查模型配置并尝试简化电路,或在电路中添加小的寄生项,以避免依赖的动态状态。有关更多信息,请参见数值模拟问题