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

        我们既然要使用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个标签页设置完成,子系统就封装完成。接下来直接使用即可。如果要修改放大值和偏移值,不用像没有封装那样,点开子系统去修改里面的模块,直接双击图标,修改变量即可,方便不少。

 

 

 

### 回答1: Matlab-Simulink是一种在控制系统仿真领域广泛使用的工具。它结合了Matlab的强大数值计算能力和Simulink的图形化仿真界面,使得控制系统的建模、仿真和分析变得更加高效和方便。 在控制系统仿真中,Matlab-Simulink可以用于建立系统的数学模型。通过在Simulink界面上拖拽和连接各个组件,我们可以创建一个表示控制系统的图形模型。这些组件可以包括信号源、传感器、执行器、控制器等等。这种图形化的模型使得我们能够直观地了解系统的结构和工作原理。 一旦模型建立完成,我们就可以使用Matlab的编程能力对系统进行仿真和分析。Matlab提供了丰富的数值计算函数和工具箱,能够帮助我们对模型进行仿真、优化和数据分析。这些功能使得我们能够评估系统的性能、设计合适的控制策略,甚至进行参数优化和鲁棒性分析。 此外,Matlab-Simulink还提供了各种工具和功能,使得与其他工程软件的集成变得更加容易。例如,我们可以与CAD软件进行联合仿真,将系统的物理模型和控制系统模型结合在一起,从而更加准确地进行系统分析。 总而言之,Matlab-Simulink是一种功能强大的工具,可以在控制系统仿真中发挥重要作用。它不仅能够帮助我们建立系统的数学模型,还能提供丰富的仿真、分析和优化功能,使得控制系统的设计和调试过程更加高效和准确。 ### 回答2: MATLAB-Simulink是一种强大的工具,用于控制系统的建模、仿真和分析。它提供了一个用户友好的环境,可以通过拖拽和连接不同的模块来构建控制系统模型。Simulink还可以与MATLAB进行无缝集成,使用户可以在建模过程中进行数据分析和处理。 借助MATLAB-Simulink,我们可以对各种控制系统进行仿真。首先,我们需要将实际系统建模为Simulink中的块图模型。这可以通过选择适当的模型代表实际系统,在模型中添加输入和输出,并设置系统的各种参数来完成。 一旦模型建立完成,就可以开始控制系统的仿真。通过Simulink提供的画图工具,我们可以更轻松地调整信号和参数,并观察系统在不同输入下的响应。仿真可以帮助我们验证控制系统的设计是否能够实现预期的目标,并找出潜在的问题。 此外,MATLAB-Simulink还提供了一些强大的分析工具,用于评估和优化控制系统的性能。例如,可通过使用信号处理和系统识别工具箱来分析系统的频率响应和稳定性。此外,还可以使用优化工具箱来找到最佳的控制器参数,以实现系统的最优性能。 综上所述,MATLAB-Simulink是一个功能强大的工具,可用于控制系统仿真。它提供了丰富的建模和仿真功能,使我们能够更好地理解和优化控制系统的性能。无论是研究还是工程应用,MATLAB-Simulink都是一个非常有用的工具,值得我们学习和掌握。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qlexcel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值