Simulink仿真教程3---子系统的创建与封装

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qlexcel/article/details/97975862

        我们既然要使用Simulink,就不是针对于一些简单的仿真去的。所以仿真模型一般都比较复杂,规模很大,包含了数量众多的各种模块。如果把这些模块都放在一个模型编辑窗口中,会显得臃肿、杂乱不堪,不利于编辑和分析。所以我们要把完成某些功能的模块单独封装成一个个子系统,最后再用一个模型文件调用这些子系统,类似于编程中的函数封装再调用。这样可以使模型变得简洁。

一、从空白模型创建子系统

1、新建一个空白模型

2、添加“Simulink”-“Ports & Subsystems”-“Subsystem”模块

3、双击Subsystem模块进入子模块编辑窗口,该窗口已自带了一个子模块的输入和输出端子,名为In1、Out1,输入和输出端子是子模块与外界联系的端口。

4、使用模块和信号线实现子模块的功能。

5、完成子模块功能的编辑后,点返回上级按钮,进行剩下功能的搭建

6、添加信号源和示波器,仿真即可。

二、从已有模型创建子系统

如果模型已经建立完毕,但是比较混乱,需要把部分模块封装成子系统。

1、选中要组合成子系统的所有对象,包括模块和连线。

2、右键“Create Subsystem from Selection”,选中的部分就会自动生成子系统。

三、子系统的封装

         所谓封装(Mask),就是将SIMULINK的子系统“包装”成一个模块,并隐藏全部的内部结构。访问该模块时只出现了一个参数设置对话框,模块中所有需要设置的参数都可通过该对话框来统一设置。

1、选中目标子系统,右键“Mask”-“Create Mask”

之后会弹出子系统封装的属性设置:

利用此窗口对封装的图标、参数、初始化和文本进行设置。下面介绍4个标签页的功能。

2、Icon & Ports(图标和端口)标签页

用来给封装模块设计自定义图标。“Icon drawing commands”命令窗口以MATLAB语句来绘制图标的编辑区,通过在“Icon drawing commands”命令窗口中填写函数设置封装模块的图标。图标标签页的常用绘制命令如下:

3、Parameters & Dialog(参数)标签页

        最关键的标签页,可增加或删除子系统参数对话框中的变量以及属性。

        在上图的框1中选择要添加变量的类型:Edit(可编辑型,即该变量可由用户自定义输入数据,这是最普遍的一种类型);Checkbox(复选框型,指定输入数据为复选框类型,即用户只能进行选中与否的设置);Popup(下拉菜单型,指定输入数据为下拉菜单类型,即输入数据不可编辑,只能在下拉菜单提供的选项中选择)等。

        框2中显示当前子系统的变量信息,包括Type(变量类型)、Prompt(变量说明,封装后根据这个来分辨不同的变量)、Name(变量名,与子系统中的变量名相同,且一一对应)。

        框3中显示当前变量的属性。

4、Initialization(初始)标签页

通过命令函数,允许用户在调用子系统前通过MATLAB命令窗口进行子系统参数值的初始设定,还可以对图标绘制函数初始的值进行设置。

5、Documentation(文本)标签页

可设定封装子系统的类型、描述和帮助等文字说明。其中,“封装类型”( type)文本框中的内容将作为模块的类型显示在封装模块的参数对话框中;“封装模块描述”(description)多行文本框中的内容将显示在封装模块参数对话框的上部,对封装模块的功用和其它注意事项进行描述;“封装模块帮助”(help)多行文本框中输入关于该模块的帮助,在参数对话框中的“help”按键按下时,MATLAB的帮助系统将显示此封装模块帮助多行文本框中的内容。

四、一个子系统封装的例子

要求:创建一个子系统,功能为:y=m*sin(x) +n ,并进行封装。

1、建立模型:

可以看到模型中有两个变量:m和n,分别位于Gain模块和Constant模块。

2、封装子系统,设置标签页。我们想把子系统的图标设计成下面这样:

表示对波形的放大和偏移。一般Icon & Ports(图标和端口)标签页中只放绘图的命令,可是绘图需要的数据从哪来呢?从

Initialization(初始)标签页中来。于是我们先在Initialization(初始)标签页中生成绘图需要的数据。

然后在Icon & Ports(图标和端口)标签页中使用前面的绘图数据来绘图:

点击确定,就可以看到刚刚的设置已经生效了:

3、设置变量

添加两个Edit类型的变量,可以在变量属性中对变量初值就行设置。点击确定后,再双击子系统的图标,就会出现:

设置变量m和n的值,提示框中只会出现Prompt,因此prompt要命名好,不然变量太多,不好分辨。

4、在Documentation(文本)标签页中,把子系统的说明信息填完整。

5、4个标签页设置完成,子系统就封装完成。接下来直接使用即可。如果要修改放大值和偏移值,不用像没有封装那样,点开子系统去修改里面的模块,直接双击图标,修改变量即可,方便不少。

猜你喜欢

转载自blog.csdn.net/qlexcel/article/details/97975862
今日推荐