主要内容

构造物理模型的基本步骤

R2026b

工作流概述

下表列出了构建和仿真物理模型的主要基本步骤,以及提供有关每个步骤的背景信息的相关文档主题。详细步骤描述如下。

下图说明了应用于 带有控制器的质量-弹簧-阻尼器系统 示例模型的主要工作流步骤。下面的步骤描述包括有关如何创建此模型的详细说明。

Block diagram with numbered workflow steps pointing to relevant blocks

步骤 1:使用 sscnew 创建新模型

使用 sscnew 是开始构建 Simscape™ 模型的最佳方式。使用该函数有助于确保为模型使用推荐的默认设置。当您使用 sscnew 时,它会自动:

  • 创建一个新的 Simscape 模型,模型画布上已有必需和常用的模块

  • 选择推荐的求解器和容差设置

  • 为整个模型启用数据记录

在 MATLAB® 命令行窗口中,键入:

sscnew

Block diagram for new model

新创建的无名称模型的默认求解器设置为 VariableStepAuto,该模型包含一个 Solver Configuration 模块、一个 Simulink-PS Converter 模块以及一个连接到 Scope 模块的 PS-Simulink Converter 模块。

模型窗口底部的资源部分提供了指向相关模块库和文档主题的链接。

步骤 2:组装物理网络

要对您的系统进行建模,需要从 Simscape 库向模型中添加模块,然后将这些模块连接到物理网络。在您创建的原理图中,连接模块的线条表示您正在建模的实际系统中组件之间存在的物理连接。换言之,Simscape 图模拟的是物理系统布局。

Mass-spring-damper schematic and block diagram side-by-side

构造网络时,添加域特定的参考模块非常重要,例如 Electrical ReferenceMechanical Translational Reference 等。特定于不同域的模块分别表示与大地、框架或大气的连接。有关详细信息,请参阅Grounding Rules

  1. 打开 Simscape > Foundation Library > Mechanical > Translational Elements 库。

  2. MassTranslational SpringTranslational DamperMechanical Translational Reference 模块拖动到模型窗口中。

  3. Translational SpringTranslational DamperMass 模块连接到 Mechanical Translational Reference 模块,如下图所示。要旋转某个模块,请选择该模块,然后按 Ctrl+R

    要调整模型的视觉呈现,请简化 Spring 和 Damper 模块的名称,如图所示。要使 Mass 模块的名称与 SpringDamper 同时显示,请选择 Mass 模块,然后在模型工具条中选择 Simscape 模块 > 自动名称 > 名称打开

    Block diagram with mass-spring-damper blocks added

步骤 3:调整模块参数和变量目标

Simscape 模块表示具有模块参数和变量默认初始值的通用组件。您可以根据您的应用程序调整这些值或与制造商数据表相匹配。

要查看和修改模块变量的模块参数值和初始目标,请双击模块以打开其对话框。使用 Settings 选项卡。

对于大多数 Simscape 模块,模块对话框包含与模块属性检查器相同的信息和布局。默认情况下,在属性检查器中更改值会立即应用新值。为了更好地进行控制,建议您清除模块对话框右上角的自动应用复选框,以启用重置应用按钮。这在处理复杂模块时特别有用,因为您可以一次更改多个参数。更改参数值以匹配制造商数据表,查看整个集,然后点击应用。清除自动应用复选框后,该复选框将在 MATLAB 会话期间保持清除状态。

要查看模块的描述,请点击模块对话框中的 Description 选项卡。该选项卡还包含 Source code 链接。点击该链接可在 MATLAB 编辑器中打开此模块的 Simscape 源文件。

如果模块没有可以设置的参数或变量目标,则模块对话框没有 Settings 选项卡,只有 Description 选项卡。

要查看模块的文档,请点击模块对话框右上角的问号 Question mark 按钮。

在此模型中,您将调整用于控制质量、弹簧刚度和阻尼系数的参数。您还将通过调整相应的变量目标来指定质量的初始速度。

  1. 双击 Spring 模块。清除自动应用复选框。将 Spring rate 设置为 400 N/m,然后点击应用

    Spring block dialog box

  2. 双击 Damper 模块。将 Damping coefficient 设置为 100 N/(m/s)

    Damper block dialog box

  3. 双击 Mass 模块。将 Mass 设置为 3.6 kg

    Mass block dialog box

  4. 要指定所需的质量速度初始值,请在 Initial Targets 部分中展开 Velocity。该变量的 Priority 已指定为 High,这意味着求解器在计算初始条件以确定仿真起点时将尝试完全满足该初始值。选中 Velocity 复选框。在 Value 字段中,键入 10,然后点击应用

    Mass block dialog box with initial target specified

步骤 4:添加信源

您可以使用输入信号驱动 Simscape 模型。使用这种方法,您可以表示作用于系统的物理效应,例如力、电压或压力。您还可以指定流经系统的其他量,例如电流、质量流量和热通量。您可以通过使用 Simscape 信源模块向物理网络添加信号输入连接。

要添加作用于质量的力的表示,请使用 Ideal Force Source 模块。

  1. 打开 Simscape > Foundation Library > Mechanical > Mechanical Sources 库。

  2. Ideal Force Source 模块添加到示意图中。简化模块名称,如图所示。

  3. 为了反映原始原理图中显示的力的正确方向,请翻转模块方向。选择 Force Source 模块后,在 Simulink® 工具条的格式选项卡上,在排列下,点击上下翻转

  4. 复制 Mechanical Translational Reference 模块,方法是右键点击该模块并将其拖动到新位置。然后使用与 Force Source 模块相同的方法翻转新模块的方向。

  5. Force Source 模块的端口 C 连接到这第二个 Mechanical Translational Reference 模块,将端口 R 连接到 Mass 模块,如下图所示。

    将物理网络连接到 Simulink 源后,代表作用力曲线的输入信号将通过端口 S 提供(请参阅步骤 6:使用接口模块连接到 Simulink)。端口 S 处的正信号将指定从端口 C 作用到端口 R 的力。

    Block diagram with Force Source and Mechanical Translational Reference blocks added

步骤 5:添加传感器

您可以测量物理网络中的量,并在模型中的其他位置使用它们。这些量的一些常见用途包括控制算法的反馈、对其行为依赖于其他物理量的物理组件(如温度相关电阻器)进行建模,或者只是在仿真过程中查看结果。

您可以使用传感器模块测量这些量,根据测量值对传感器进行串联或并联。要测量由流变量定义的量(如电流、流量、力),请串联传感器。要测量由势变量定义的量(如电压、压力、速度),请并联传感器。有关流变量和势变量的详细信息,请参阅Variable Types

要测量弹簧形变,请将 Ideal Translational Motion Sensor 模块与弹簧并联。

  1. 打开 Simscape > Foundation Library > Mechanical > Mechanical Sensors 库。

  2. Ideal Translational Motion Sensor 模块添加到示意图中。

  3. 要旋转该模块,请选择该模块,然后按 Ctrl+R

  4. 如下图所示连接该模块。简化模块名称,如图所示。

    Block diagram with Motion Sensor block added

步骤 6:使用接口模块连接到 Simulink

Simscape 网络中的方程是同时求解的,而 Simulink 模块是按顺序求值的。接口模块(如 Simulink-PS ConverterPS-Simulink Converter)用于处理这两种建模约定之间的边界。当 Simulink 信号在 Simscape 网络中指定量时,或者在将 Simscape 量传递给 Simulink 以进行控制设计或实现其他目的时,您需要使用接口模块。每次将 Simulink 模块连接到 Simscape 物理网络时,都必须使用适当的转换器模块。

下面您要将物理网络连接到由常规 Simulink 模块构建的控制器。首先,准备要连接到 Simulink 信号的物理网络:

  1. 删除 Scope 模块。

    虽然您可以使用示波器查看仿真结果,但这些示波器会使模块图变得更加混乱。查看和分析仿真结果的一种更有效方法是使用 Simscape 结果资源管理器,如步骤 8:查看仿真结果中所述。

  2. Simulink-PS Converter 模块的物理信号输出端口连接到 Force Source 模块的端口 S。

  3. Motion Sensor 模块的输出端口 P 连接到 PS-Simulink Converter 模块的物理信号输入端口。

  4. Solver Configuration 模块连接到电路并隐藏转换器模块名称。示意图现在如下所示。

    Block diagram with Solver Configuration block added

然后,构建并连接控制器:

  1. 打开 Simulink > Sources 库,然后将 Pulse Generator 模块拖到模型中。将模块名称更改为 Position Command。设置模块参数,如图所示。

    Pulse Generator block dialog box

  2. 打开 Simulink > Math Operations 库,然后将 Sum 模块拖到模型中。在符号列表中,将第二个加号替换为减号,如图所示。

    Sum block dialog box

  3. 打开 Simulink > Continuous 库,然后将 PID Controller 模块拖到模型中。设置比例(P)积分(I)微分(D) 参数值,如图所示。

    PID Controller block dialog box

  4. 连接模块,如下面的示意图所示。

    Block diagram with controller blocks added

    控制 Simulink 信号进入 Simulink-PS Converter 模块的输入端口,在那里转换为驱动 Ideal Force Source 模块的力分布的物理信号。

    用于测量弹簧形变的 Ideal Translational Motion Sensor 模块的输出端口 P 连接到 PS-Simulink Converter 模块。该模块用于将物理信号转换为控制器的反馈 Simulink 信号。

要比较输入和反馈信号,请将它们连接到信号查看器:

  1. 右键点击从 Pulse Generator 模块传递到 Sum 模块的 Simulink 信号。从上下文菜单中,选择“添加查看器”按钮 Add viewer button

  2. 然后,右键点击从 PS-Simulink Converter 模块传递到 Sum 模块的 Simulink 信号。从上下文菜单中,选择“添加查看器”按钮 Add viewer button

步骤 7:仿真模型

您可以通过点击 Simulink 工具条(位于模型窗口顶部)或波形查看器工具栏中的“运行”按钮 来运行仿真。Simscape 求解器会对模型进行求值,计算初始条件,然后运行仿真。有关此过程的详细描述,请参阅How Simscape Simulation Works。模型窗口左下角的消息提供状态更新。

要运行仿真,请点击 Simulink 工具条中的 Run button

波形查看器会显示输入信号和反馈信号的叠加图。

Simulation results in the Scope Viewer window

步骤 8:查看仿真结果

通过 Simscape 结果资源管理器,您可以使用数据记录功能查看和分析仿真数据。例如,您可以比较两个仿真运行,以分析质量变化如何影响弹簧形变。

  1. 选择 Spring 模块。

  2. 在模型工具条中,选择 Simscape 模块 > 结果浏览器

    此时将打开 Simscape 结果资源管理器窗口,左窗格中突出显示与 Spring 模块对应的节点。右窗格显示与该模块关联的三个变量的仿真数据图。

    Simscape Results Explorer window

  3. Spring 节点下,选择节点 x。右窗格显示随时间绘制的弹簧形变数据。

    Simscape Results Explorer window with Spring node expanded

  4. 双击 Mass 模块。将质量设置为 7.2 kg

  5. 重新运行仿真。

  6. 要重新加载记录的数据,请点击位于 Simscape 结果资源管理器窗口工具栏中的导入数据按钮。在显示记录变量名称的弹出窗口中,点击确定

    Simscape Results Explorer window with reloaded data

    附注

    • 要在每次运行仿真后自动重新加载数据,请在 Simscape 窗格的“配置参数”对话框中,选中 Open viewer after simulation 复选框。

    • 要在两个单独的 Simscape 结果资源管理器窗口中并排浏览仿真结果,请在第一次运行仿真后点击链接的按钮以取消第一个资源管理器窗口的链接。有关详细信息,请参阅 Simscape 结果浏览器

另请参阅

|

主题