主要内容

故障诊断仿真错误

故障处理技巧和技巧

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

如果模拟失败:

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

    • 错误的连接——验证模型作为物理系统是否有意义。例如,寻找相互连接的驱动器,使它们试图向相反的方向移动,或不正确的连接参考节点,阻止移动。在电路中,确认极性和与地的连接。

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

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

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

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

建议您以增量的方式构建、模拟和测试模型。从您的系统的一个理想化的、简化的模型开始,模拟它,验证它以您期望的方式工作。然后逐步地使你的模型更真实,考虑诸如摩擦损失、电机轴顺应性、硬止动和其他描述现实现象的因素。在每个递增步骤中模拟和测试您的模型。使用子系统来捕获模型层次结构,并在测试整个模型配置之前分别模拟和测试子系统。这种方法可以帮助您保持模型的良好组织,并使对它们进行故障诊断变得更容易。

系统配置错误

缺少求解器配置块

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

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

额外的流体或气体性质堵塞

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

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

如果您得到一个错误消息,说有太多特定于域的全局参数块附加到网络上,请寻找一个额外的液压油块,定制的液压油块,热液设定(TL)块,两相流体性质(2P)块,或气体性质(G)阻挡并移除它。

缺少对比试块

Simscape库包含特定于域的引用块,它表示适当类型的保留端口的参考点。例如,每个拓扑上不同的电路必须包含至少一个电气参考块,表示与地的连接。类似地,所有与大气有关的区块(例如,液压泵的吸入端口,或阀门、钢瓶、管道的返回端口,如果它们被认为直接与大气连接)的液压保存端口必须连接到一个液压参考块,该参考块代表与大气压力的连接。刚性固定在框架(地面)上的机械平移端口必须连接到机械平移参考块,等等。

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

物理系统表示的基本错误

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

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

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

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

的例子。下图所示的模型包含两个平行连接的理想平移速度源。这就产生了一个独立速度源的环路,求解器不能为这个环路构建一个一致的方程组。

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

数值模拟问题

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

依赖动态状态

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

当动态状态具有非线性代数关系时,可能会出现问题。一个例子是由非线性齿轮约束连接的两个惯量,如椭圆齿轮。在模拟失败的情况下,Simscape求解器可能能够识别涉及的组件,并提供一个错误消息,其中包含到块和每个块中的方程的链接。

参数不连续性

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

初始条件解决故障

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

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

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

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

如果“模拟诊断”窗口有其他更具体的错误消息,请首先处理它们并尝试重新运行模拟。另请参阅故障处理技巧和技巧

瞬态仿真问题

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

暂态初始化不收敛

错误消息指出瞬态初始化无法收敛,或无法生成一组一致的初始条件,这表明瞬态初始化问题。它们可能是参数不连续的结果。检查你的模型,找出可能的不连续来源。另请参阅故障处理技巧和技巧

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

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

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

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

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

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

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

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