你可以使用Simulin金宝appk®对一个系统建模,然后模拟该系统的动态行为。在本教程中,您用于创建简单模型的基本技术与用于更复杂模型的基本技术相同。这个例子模拟了汽车的简化运动。按下油门踏板时,汽车通常处于运动状态。松开踏板后,汽车空转并停了下来。
Si金宝appmulink块是一个模型元素,它定义了输入和输出之间的数学关系。要创建这个简单的模型,您需要四个Simulink模块。金宝app
块名称 | 块的目的 | 模型的目的 |
---|---|---|
脉冲发生器 | 为模型生成输入信号 | 代表油门踏板 |
获得 | 将输入信号乘以一个常数 | 计算按下加速器对汽车加速度的影响 |
积分器,二阶 | 对输入信号积分两次 | 从加速度获得位置 |
外港 | 指定一个信号作为模型的输出 | 将位置指定为模型的输出 |
模拟这个模型集成了两次短脉冲来得到斜坡。结果显示在Scope窗口中。输入脉冲表示油门踏板按下时为- 1,未按下时为0。输出斜坡是从起点增加的距离。
使用Simuli金宝appnk Editor来构建您的模型。
开始MATLAB®.从MATLAB工具条,单击金宝app按钮.
单击空白模型模板。
打开Si金宝appmulink编辑器。
从模拟选项卡上,选择保存>保存为.在文件名称文本框中,输入模型的名称。例如,simple_model
.点击保存.模型使用文件扩展名保存.slx
.
金宝appSimulink提供了一组块库,由库浏览器中的功能组织。以下库是大多数工作流的通用库:
连续-具有连续状态的系统的块
离散-离散状态系统的块
数学运算-实现代数和逻辑方程的块
接收器-存储和显示连接到它们的信号的块
源—生成驱动模型的信号值的块
从模拟选项卡上,单击库浏览器按钮.
设置库浏览器停留在其他桌面窗口的顶部。在Simuli金宝appnk Library Browser工具栏上,选择掌握按钮.
要浏览块库,请选择一个类别,然后在左侧窗格中选择一个功能区域。要搜索所有可用的块库,请输入搜索词。
例如,找到脉冲发生器块。在浏览器工具栏的搜索框中输入脉冲
,按“Enter”。金宝appSimulink在库中搜索带有的块脉冲
在他们的名字或描述,然后显示块。
获取关于块的详细信息。右键单击脉冲发生器块,然后选择脉冲发生器模块的帮助.Help浏览器将打开该块的参考页面。
块通常有几个参数。您可以通过双击块来访问所有块参数。
要开始构建模型,请浏览库并添加块。
从来源
图书馆,把脉冲发生器块到Simulink编辑器金宝app。一份脉冲发生器的值的文本框将显示在模型中振幅参数。输入1
.
参数值在整个模拟过程中保持不变。
使用相同的方法将以下块添加到模型中。
块 | 图书馆 | 参数 |
---|---|---|
获得 | 金宝app模型/数学操作 |
获得: |
积分器,二阶 | 金宝app模型/连续 |
初始条件: |
外港 | 金宝app模型/下沉 |
端口号: |
添加第二个外港通过复制现有的一个,并使用键盘快捷键将其粘贴到另一个点来阻止。
您的模型现在有了所需的块。
通过单击和拖动每个块来排列块。若要调整块的大小,请拖动角落。
通过在输出端口和输入端口之间创建线连接块。
单击右边的输出端口脉冲发生器块。
输出端口和所有适合于连接的输入端口都用蓝色的chevron符号表示.
指出查看连接提示。
点击提示。金宝appSimulink用指示信号流动方向的线和箭头连接模块。
连接设备的输出端口获得块的输入端口积分器,二阶块。
连接的两个输出积分器,二阶两手抓外港块。
保存您的模型。在模拟选项卡上,单击保存.
要查看仿真结果,将第一个输出连接到a信号查看器.
单击信号。在模拟选项卡下准备,点击添加查看器.选择范围.信号上出现一个查看器图标,并打开一个范围窗口。
您可以在任何时候通过双击图标打开作用域。
在模拟选项卡,通过改变工具栏中的值来设置模拟停止时间。
的默认停止时间10.0
适用于这个模型。这个时间值没有单位。Simulink中的时间单位取决于金宝app方程是如何构造的。这个例子模拟了一辆汽车10秒的简化运动——其他模型可能以毫秒或年为时间单位。
要运行模拟,请单击运行按钮.
模拟运行并在查看器中生成输出。
本示例采用一个现有模型,moving_car.slx
,并在此运动模型的基础上建立了接近传感器模型。在这种情况下,一个数字传感器测量汽车与10米(30英尺)外的障碍物之间的距离。模型输出传感器测量值和汽车位置,考虑以下条件:
汽车一碰到障碍物就突然停住了。
在物理世界中,传感器测量距离不精确,导致随机的数值误差。
数字传感器以固定的时间间隔工作。
首先,打开moving_car
模型。在MATLAB命令行中,输入:
open_system (“moving_car.slx”)
你首先需要模拟汽车位置到达时的硬停10
.积分器二阶块有一个用于此目的的参数。
双击“积分器,二阶”模块。弹出“块参数”对话框。
选择限制x并输入10
为上限x.参数的背景颜色更改表示未应用于模型的修改。点击好吧应用更改并关闭对话框。
添加一个传感器来测量与障碍物的距离。
修改模型。根据需要展开模型窗口以容纳新块。
求实际距离。为求障碍物位置与车辆位置之间的距离,加减去块的数学操作
图书馆。还添加了常数块的来源
的常量值10
障碍物的位置。
对真实传感器典型的不完美测量进行建模。产生噪声使用限带白噪声块的来源
图书馆。设置噪声功率参数0.001
.通过使用添加块的数学操作
图书馆。
建立一个每0.1秒触发一次的数字传感器。在Si金宝appmulink中,对给定间隔的信号进行采样需要采样和保持。添加零级举行块的离散
图书馆。将块添加到模型后,更改样品时间参数0.1
.
添加另一个外港连接传感器输出。保持默认值端口号参数。
连接新块。输出积分器,二阶块已经连接到另一个端口。要在该信号中创建分支,请左键单击该信号以突出显示用于连接的潜在端口,然后单击适当的端口。
将信号名称添加到模型中。
双击信号并键入信号名称。
要完成此操作,请在文本框之外单击。
重复这些步骤以添加如下所示的名称。
比较实际的距离
信号与测量距离
信号。
创建并连接观众范围到实际的距离
信号。右键单击信号并选择创建和连接查看器> Simulink >范围金宝app.信号的名称出现在查看器标题中。
添加测量距离
给同一个观众发信号。右键单击信号并选择连接到查看器> Scope1.确保您正在连接上一步中创建的查看器。
运行模型。观察者显示了两个信号,实际的距离
在黄色和测量距离
蓝色的。
放大图表,观察噪声和采样的影响。单击变焦按钮.左键单击并拖动一个窗口,在您想要更近地看到的区域周围。
你可以反复放大观察细节。
从图中可以看出,测量值可能与实际值相差0.3米。这些信息在设计安全功能时非常有用,例如,碰撞警告。