主要内容

创建一个简单的模型

你可以使用Simulin金宝appk®对一个系统建模,然后模拟该系统的动态行为。在本教程中,您用于创建简单模型的基本技术与用于更复杂模型的基本技术相同。这个例子模拟了汽车的简化运动。按下油门踏板时,汽车通常处于运动状态。松开踏板后,汽车空转并停了下来。

Si金宝appmulink块是一个模型元素,它定义了输入和输出之间的数学关系。要创建这个简单的模型,您需要四个Simulink模块。金宝app

块名称 块的目的 模型的目的
脉冲发生器 为模型生成输入信号 代表油门踏板
获得 将输入信号乘以一个常数 计算按下加速器对汽车加速度的影响
积分器,二阶 对输入信号积分两次 从加速度获得位置
外港 指定一个信号作为模型的输出 将位置指定为模型的输出

一个金宝app带有脉冲发生器、增益、积分器、二阶模块和两个输出模块的Simulink模型。

模拟这个模型集成了两次短脉冲来得到斜坡。结果显示在Scope窗口中。输入脉冲表示油门踏板按下时为- 1,未按下时为0。输出斜坡是从起点增加的距离。

开放的新模型

使用Simuli金宝appnk Editor来构建您的模型。

  1. 开始MATLAB®.从MATLAB工具条,单击金宝app按钮

    金宝app模型起始页。该页面有两个选项卡New和Examples,您可以从中打开新的模板或示例进行操作。

  2. 单击空白模型模板。

    打开Si金宝appmulink编辑器。

    空模型编辑器金宝app

  3. 模拟选项卡上,选择保存>保存为.在文件名称文本框中,输入模型的名称。例如,simple_model.点击保存.模型使用文件扩展名保存.slx

开放金宝app库浏览器

金宝appSimulink提供了一组块库,由库浏览器中的功能组织。以下库是大多数工作流的通用库:

  • 连续-具有连续状态的系统的块

  • 离散-离散状态系统的块

  • 数学运算-实现代数和逻辑方程的块

  • 接收器-存储和显示连接到它们的信号的块

  • 源—生成驱动模型的信号值的块

  1. 模拟选项卡上,单击库浏览器按钮

    库浏览器

  2. 设置库浏览器停留在其他桌面窗口的顶部。在Simuli金宝appnk Library Browser工具栏上,选择掌握按钮

要浏览块库,请选择一个类别,然后在左侧窗格中选择一个功能区域。要搜索所有可用的块库,请输入搜索词。

例如,找到脉冲发生器块。在浏览器工具栏的搜索框中输入脉冲,按“Enter”。金宝appSimulink在库中搜索带有的块脉冲在他们的名字或描述,然后显示块。

金宝appSimulink Library Browser显示term pulse的结果。浏览器显示脉冲发生器和连续脉冲发生器块。

获取关于块的详细信息。右键单击脉冲发生器块,然后选择脉冲发生器模块的帮助.Help浏览器将打开该块的参考页面。

块通常有几个参数。您可以通过双击块来访问所有块参数。

向模型添加块

要开始构建模型,请浏览库并添加块。

  1. 来源图书馆,把脉冲发生器块到Simulink编辑器金宝app。一份脉冲发生器的值的文本框将显示在模型中振幅参数。输入1

    文本框中值为1的脉冲发生器块

    参数值在整个模拟过程中保持不变。

  2. 使用相同的方法将以下块添加到模型中。

    图书馆 参数
    获得 金宝app模型/数学操作

    获得:2

    积分器,二阶 金宝app模型/连续

    初始条件:0

    外港 金宝app模型/下沉

    端口号:1

    添加第二个外港通过复制现有的一个,并使用键盘快捷键将其粘贴到另一个点来阻止。

    您的模型现在有了所需的块。

  3. 通过单击和拖动每个块来排列块。若要调整块的大小,请拖动角落。

    从左到右排列方块。

连接块

通过在输出端口和输入端口之间创建线连接块。

  1. 单击右边的输出端口脉冲发生器块。

    输出端口和所有适合于连接的输入端口都用蓝色的chevron符号表示端口提示符号

  2. 指出端口提示符号查看连接提示。

    点击提示。金宝appSimulink用指示信号流动方向的线和箭头连接模块。

  3. 连接设备的输出端口获得块的输入端口积分器,二阶块。

  4. 连接的两个输出积分器,二阶两手抓外港块。

  5. 保存您的模型。在模拟选项卡上,单击保存

添加信号查看器

要查看仿真结果,将第一个输出连接到a信号查看器

单击信号。在模拟选项卡下准备,点击添加查看器.选择范围.信号上出现一个查看器图标,并打开一个范围窗口。

您可以在任何时候通过双击图标打开作用域。

运行仿真

定义配置参数之后,就可以模拟模型了。

  1. 模拟选项卡,通过改变工具栏中的值来设置模拟停止时间。

    的默认停止时间10.0适用于这个模型。这个时间值没有单位。Simulink中的时间单位取决于金宝app方程是如何构造的。这个例子模拟了一辆汽车10秒的简化运动——其他模型可能以毫秒或年为时间单位。

  2. 要运行模拟,请单击运行按钮

模拟运行并在查看器中生成输出。

改进模型

本示例采用一个现有模型,moving_car.slx,并在此运动模型的基础上建立了接近传感器模型。在这种情况下,一个数字传感器测量汽车与10米(30英尺)外的障碍物之间的距离。模型输出传感器测量值和汽车位置,考虑以下条件:

  • 汽车一碰到障碍物就突然停住了。

  • 在物理世界中,传感器测量距离不精确,导致随机的数值误差。

  • 数字传感器以固定的时间间隔工作。

改变块的参数

首先,打开moving_car模型。在MATLAB命令行中,输入:

open_system (“moving_car.slx”

你首先需要模拟汽车位置到达时的硬停10.积分器二阶块有一个用于此目的的参数。

  1. 双击“积分器,二阶”模块。弹出“块参数”对话框。

  2. 选择限制x并输入10上限x.参数的背景颜色更改表示未应用于模型的修改。点击好吧应用更改并关闭对话框。

添加新的块和连接

添加一个传感器来测量与障碍物的距离。

  1. 修改模型。根据需要展开模型窗口以容纳新块。

    • 求实际距离。为求障碍物位置与车辆位置之间的距离,加减去块的数学操作图书馆。还添加了常数块的来源的常量值10障碍物的位置。

    • 对真实传感器典型的不完美测量进行建模。产生噪声使用限带白噪声块的来源图书馆。设置噪声功率参数0.001.通过使用添加块的数学操作图书馆。

    • 建立一个每0.1秒触发一次的数字传感器。在Si金宝appmulink中,对给定间隔的信号进行采样需要采样和保持。添加零级举行块的离散图书馆。将块添加到模型后,更改样品时间参数0.1

    • 添加另一个外港连接传感器输出。保持默认值端口号参数。

  2. 连接新块。输出积分器,二阶块已经连接到另一个端口。要在该信号中创建分支,请左键单击该信号以突出显示用于连接的潜在端口,然后单击适当的端口。

注释的信号

将信号名称添加到模型中。

  1. 双击信号并键入信号名称。

  2. 要完成此操作,请在文本框之外单击。

  3. 重复这些步骤以添加如下所示的名称。

比较多个信号

比较实际的距离信号与测量距离信号。

  1. 创建并连接观众范围实际的距离信号。右键单击信号并选择创建和连接查看器> Simulink >范围金宝app.信号的名称出现在查看器标题中。

  2. 添加测量距离给同一个观众发信号。右键单击信号并选择连接到查看器> Scope1.确保您正在连接上一步中创建的查看器。

  3. 运行模型。观察者显示了两个信号,实际的距离在黄色和测量距离蓝色的。

  4. 放大图表,观察噪声和采样的影响。单击变焦按钮.左键单击并拖动一个窗口,在您想要更近地看到的区域周围。

    你可以反复放大观察细节。

从图中可以看出,测量值可能与实际值相差0.3米。这些信息在设计安全功能时非常有用,例如,碰撞警告。

另请参阅

相关的话题