人在仿真软件

Simulink和基于模型的设计

统一MATLAB和Simulink:用户故事第5部分

本周,我将介绍一组两个使用本系列博客文章中描述的工作流实现的示例。
本周的示例比本系列前面介绍的示例更大、更复杂。希望它们能够更好地说明这个工作流的优点。
您可以从以下网站下载该示例 MATLAB文件交换 ,或克隆 在GitHub库

概述

下载并解压File Exchange提交文件后,您将看到以下内容:

工作流项目

此文件夹包含 项目 制作的核心工作流文件,包括 slPart 类和在以前的文章中描述的模板库。它还包含 程序设计师 我开发的应用程序来操作对象配置模型。这个项目被用作一个 引用的项目 通过下面两个部分中描述的两个项目。

openSimulinkExample.m

该脚本打开位于 SimulinkExample 文件夹中。顾名思义,这个示例仅使用Simulink实现(没有额外的工具箱)。对于本例,我结合了示例中的特性 汽车悬架 和模型 sldemo_suspn_3dof ,在多个例子中使用,例如 多重模拟工作流程提示
本例模拟车辆悬架的动力学,可以配置为模拟具有不同自由度的多种类型的悬架。以下是两个自由度纵向构型的示意图:

openSimscapeExample.m

该脚本打开文件夹中存储的示例 SimscapeExample .我通过结合Simscape Driveline中的三个例子来实现这个例子:
本例允许您模拟具有不同类型混合动力传动系统的车辆的加速。
我决定包含这个示例有几个原因。首先,我发现这个工作流特别适合Simscape物理组件。其次,这说明了相同的工作流核心功能 slPart 类和系统配置器应用程序,适用于不同的项目。
每个项目都包含一个活动脚本( walkthroughSL.mlx walkthrough_SSC.mlx ),以指导您完成如何使用该模型的步骤。

模型与数据层次结构

这个例子的一个主要结论是 slPart 由Simulink子系统和MATLAB类组成。当在模拟中组装时,这将导致MATLAB类的层次结构与模型中的子系统的层次结构相对应。
当您打开项目中的主模型时,您将看到它包含一个子系统,该子系统采用一个名为的对象作为参数 vehicleObject
类中的一个类实例化来定义这个变量 +车辆 包:
下面是模型中子系统的层次结构:
和相应的MATLAB类层次结构:
在模型中,您可以找到变体子系统:
在MATLAB中,选项卡补全列出了相同的可用变量,你可以通过将其赋值给父对象的相应属性来选择活动的变量:
您还可以调整参数值。例如,Simulink中车辆的质量
可以在MATLAB中通过车辆对象进行修改:
看到介绍。mlx现场脚本在每个项目中获得更多实例MATLAB代码与模型的交互通过 vehicleObject 变量。

使用MATLAB App进行仿真配置

为了方便,我还在项目中包含了一个MATLAB应用程序,我创建使用 程序设计师 .该应用程序允许您配置代表系统的MATLAB对象。这个应用程序允许你选择一个 slPart ,并编辑其属性或与其他属性交换 slPart 来自同一个家族。注意,MATLAB工作区中的vehicleObject变量将由应用程序更新。
为了开始使用app,我给了你两个选项,取决于你的偏好:
  • Dowload看这个5分钟的视频我会告诉你们应用程序是如何工作的
  • 使用下面的图片作为“小抄”开始:

现在轮到你了

从以下网站下载示例 MATLAB文件交换 ,或克隆 在GitHub库 请在下面的评论中告诉我们你的想法。如果您喜欢这个工作流,请在下面的评论中告诉我们,您认为MathWorks应该提供什么样的增强或新特性,以使这个工作流更简单、更健壮。
|

评论

如欲留言,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。

Baidu
map