Simulink学习笔记(一)——构建Simulink框图

一、示例演示

    我们现在需要搭建一个模型,来求解电容两端的电压的变化曲线,如下所示:

Simulink学习笔记(一)——构建Simulink框图_第1张图片

 已知条件:,其中,根据基尔霍夫电压定律可以得到:

                                                         

接下来我们建立simulink模型来求解Vc(t):

Simulink学习笔记(一)——构建Simulink框图_第2张图片

分别根据初始条件设置积分模块的初始值,然后fang仿真:

Simulink学习笔记(一)——构建Simulink框图_第3张图片

其中黄色线是Uo(t),蓝色线是Vc(t)。

 

二、搭建框图

这里用一个非常简单的例子学习如何建立动态系统模型。此简单系统的输入为一个正弦波信号,输出为此正弦波信号与一个常数的乘积。要求建立系统模型,并以图形方式输出系统运算结果。已知系统的数学描述为:

                               系统输入:

                                        系统输出:

启动Simulink并新建一个系统模型文件。欲建立此简单系统的模型,需要如下的系统模块(均在Simulink公共模块库中):

(1) 系统输入模块库Sources中的Sine Wave模块:产生一个正弦波信号。

(2) 数学库Math中的Gain模块:将信号乘上一个常数(即信号增益)。

(3) 系统输出库Sinks中的Scope模块:图形方式显示结果。

选择相应的系统模块并将其拷贝(或拖动)到新建的系统模型中即可。

打开Simulink模块库浏览器,可以看到Simulink公共模块库,Simulink公共模块库是simulink中最为基础、最为通用的模块库,它可以被应用到不同的专业领域中。Simulink公共模块库共包含九个模块库,如下图所示:

Simulink学习笔记(一)——构建Simulink框图_第4张图片

在选择构建系统模型所需的所有模块后,需要按照系统的信号流程将各系统模块正确连接起来。连接系统模块的步骤如下:

(1)将光标指向起始块的输出端口,此时光标变成“ + ”。

(2)单击鼠标左键并拖动到目标模块的输入端口,在接近到一定程度时光标变成双十字。这时松开鼠标键,连接完成。完成后在连接点处出现一个箭头,表示系统中信号的流向,如下图所示:

 

     在Simulink的最新版本中,连接系统模块还有如更有效的方式:

 

       (1) 使用鼠标左键单击起始模块。
       (2) 按下Ctrl键,并用鼠标左键单击目标块

 

 

2.1 连线分支与连线改变

      在某些情况下,一个系统模块的输出同时作为多个其它模块的输入,这时需要从此模块中引出若干连线,以连接多个其它模块。对信号连线进行分支的操作方式为:使用鼠标右键单击需要分支的信号连线(光标变成“+”),然后拖动到目标模块。
      对信号连线还有以下几种常用的操作:
    (1) 使用鼠标左键单击并拖动以改变信号连线的路径。
    (2) 按下Shift键的同时,在信号连线上单击鼠标左键并拖动,可以生成新的节点。

    (3) 在节点上使用鼠标左键单击并拖动,可以改变信号连线路径。

     信号连线分支与改变如下所示:

Simulink学习笔记(一)——构建Simulink框图_第5张图片

      如果系统模型中包含向量信号,使用Display菜单中的Signal Dimensions显示信号的维数(在相应的信号连线上显示信号的维数),如下图所示:

Simulink学习笔记(一)——构建Simulink框图_第6张图片

维度显示如下:

Simulink学习笔记(一)——构建Simulink框图_第7张图片

2.2 信号组合

      在利用Simulink进行系统仿真时,在很多情况需要将系统中某些模块的输出信号(一般为标量)组合成一个向量信号,并将得到的信号作为另外一个模块的输入。例如,使用示波器显示模块Scope显示信号时,Scope模块只有一个输入端口;若输入是向量信号,则Scope模块以不同的颜色显示每个信号。能够完成信号组合的系统模块为常用模块库中的Mux模块,使用Mux模块可以将多个标量信号组合成一个向量。 因此使用Simulink可以完成矩阵与向量的传递。信号组合如下图所示:

Simulink学习笔记(一)——构建Simulink框图_第8张图片

三、运行仿真

3.1 系统模块参数设置与系统仿真参数设置

      当用户按照信号的输入输出关系连接各系统模块之后,系统模型的创建工作便完成。为了进行正确的仿真与分析,必须设置正确的系统模块参数与系统仿真参数。 

     系统模块参数的设置方法如下:

    (1) 双击系统模块,打开系统模块的参数设置对话框。参数设置对话框包括系统模块的简单描述,模块的参数选项等信息,注意,不间系统模块的参数设置不同。

    (2) 在参数设置对话框中设置合适的模块参数。根据系统的要求在相应的参数选项中设置合适的参数。

    系统模块的参数设置如下图所示:

Simulink学习笔记(一)——构建Simulink框图_第9张图片

      当系统中各模块的参数设置完毕后,可设置合适的系统仿真参数以进行动态系统的仿真。对于本文的动态系统,系统模块参数设置如上图所示(增益取值为5),系统仿真参数采用 Simulink的默认设置。

 

3.2  运行仿真

      当对系统中各模块参数以及系统仿真参数进行正确设罝之后,就可以对系统进行仿真分析了。单击绿色三角形按钮,启动仿真。

      对于本文所示的动态系统,采用上述的模块参数设置与默认的仿真参数进行仿真,仿真结束后双击Scope模块以显示系统仿真的输出结果,如下图所示:

Simulink学习笔记(一)——构建Simulink框图_第10张图片

正弦波信号经过5倍增益的结果如下:

Simulink学习笔记(一)——构建Simulink框图_第11张图片

如下为向量信号的输出,其中黄色显示为Mux第一端口的信号,蓝色显示为Mux第二端口的信号。

Simulink学习笔记(一)——构建Simulink框图_第12张图片

 

四、设计框图界面

在建立了系统模型以后,为了便于用户对系统模型的理解与维护,我们需要对系统框图界面进行设计。

4.1 模块的名称操作

       在使用Simulink中的系统模块构建系统模型时,Simulink会自动给系统模型中的模块命名,如在本文的简单动态系统中,正弦信号模块名称为Sine Wave;对于系统模型中相同的模块,Simulink会自动对其进行编号,如Scope和Scope1。一般对于简单的系统,可以釆用Simulink的自动命名;但对于复杂系统,给每个模块取一个具有明显意义的名称非常有利于系统模型的理解与维护。模块名称的操作如下所示:

    (1) 模块命名:使用鼠标左键单击模块名称,进入编辑状态,然后键入新的名称。

    (2) 名称移动:使用鼠标左键单击模块名称并拖动到模块的另侧,或选择Diagram->Rotate &Flip菜单中的Flip Name翻转模块名称,如下所示:

Simulink学习笔记(一)——构建Simulink框图_第13张图片

    (3) 名称隐藏:取消选择Diagram->Format菜单中的Show Block Name,隐藏系统模块名称,如下所示:

Simulink学习笔记(一)——构建Simulink框图_第14张图片

    注意,系统模型中模块的名称应是唯一的,否则Simulink会给出警告并自动改变名称。

    系统模型中模块的名称操作如下图所示:

                                 

 

4.2 模块的其它操作

      Simulink允许用户对模块的几何尺寸进行修改,以改善系统模型框图的界面。改变系统模块尺寸的方法为:使用鼠标左键单击选择模块,然后拖动模块周围任何一角的方框到适当的大小。

      (1)改变模块的后景色。

      使用鼠标右键单击模块,选择Background color菜单来设置颜色,例如改变增益模块的背景颜色,将其改为绿色,如下所示:

Simulink学习笔记(一)——构建Simulink框图_第15张图片

Simulink学习笔记(一)——构建Simulink框图_第16张图片

    (2)更改模块的前景色

       如果模块的前景色发生改变,则所有由此模块引出的信号线颜色也随之改变;当系统模型框图很复杂时,这个特性能够有效地增强框图的可读性。例如,我们改变正弦波模块(source)的前景色,将其改变为红色,如下所示:

Simulink学习笔记(一)——构建Simulink框图_第17张图片

Simulink学习笔记(一)——构建Simulink框图_第18张图片

 4.3 信号标签

在创建系统模型尤其是大型复杂系统模型时,信号标签对理解系统框图尤为重要。所谓的信号标签,也可以称为信号的“名称”或“标记”,它与特定的信号相联系,是信号的一个固有属性。这一点与系统框图注释不问,框图注释是对整个或局部系统模型进行说明的文字信息,它与系统模型相分离。

生成信号标签的方法有如下两种:

(1) 使用鼠标左键双击需要加入标签的信号(即系统模型中与信号相对应的模块连线),这时便会出现标签编辑框,在其中键入标签文本即可。与框图注释类似,信号标签可以移动到希望的位置,但只能是在信号线的附近。如果强行将标签拖动离开信号线,标签会自动回到原处,当一个信号定义了标签后,从这条信号线引出的分支线会继承这个标签。

我们将正弦波信号加上一个“original”的标签,如下图所示:

Simulink学习笔记(一)——构建Simulink框图_第19张图片

(2)首先选择需要加入标签的信号,用鼠标左键单击信号连线;然后鼠标右键单击弹出Edit菜单,选择 Signal Properties项,在打幵的界面中编辑信号的名称,而且还可以使用这个界面对信号作简单的描述,如下图所示:
    Simulink学习笔记(一)——构建Simulink框图_第20张图片

Simulink学习笔记(一)——构建Simulink框图_第21张图片

 

也可以得到同样的效果:

Simulink学习笔记(一)——构建Simulink框图_第22张图片

 

      注意,虽然信号标签的内容可以任意指定,但为了系统模型可读性,信号标签最好使用能够代表信号特征的名称(如信号类型、信号作用等)。

 

4.4 信号标签的传递

       选择信号线并用鼠标左键双击,在信号标签编辑框中键入<>,在此尖括号中键入信号标签即可传递信号标签。

      注意:只能在信号的前进方向上传递该信号标签。当一个带有标签的信号与Scope块连接时,信号标签将作为标题显示。信号标签的传递如下图所示:

Simulink学习笔记(一)——构建Simulink框图_第23张图片

 

Simulink学习笔记(一)——构建Simulink框图_第24张图片

 

 

 

 

 

 

 

 

 


 

 

 

 

 

你可能感兴趣的:(Simulink)