Simulink学习——模块封装(创建简单封装)
创建模块封装
我们经常会看到一些库,里面的模块长得和基础simulink元件区别很大,看上去很酷,双击他们会有一些明显是二次开发的对话框,而且模块里面含有了复杂的子系统。那么如何将自己做的模型也做成这样的模块呢?这里要用到的模块封装的方法。
封装 Simulink® 模块可以:
-
在模块上显示有意义的图标
-
为模块提供自定义对话框
-
提供一个对话框,只允许您访问底层模块的所选参数
-
提供特定于封装模块的用户自定义说明
-
使用 MATLAB® 代码初始化参数
这期我们来创建一个简单的模块封装试试。
首先创建一个简单的子系统:
将各子模块中可编辑的参数设置为模型变量,然后创建一个子系统将其封装起来。随后点击create Mask,即可将选取的子系统进行封装。
封装编辑器里面有四个选项卡,在第一个选项卡里面,我们可以编辑封装后模块的外观,这里我根据Hlep中Mask drawing的指令让模块显示SineGain:
在第二个模块里,我们可以编辑双击封装模块后,在弹出的窗口里要显示什么内容。在这之前,设置模型里面的变量为argument以方便进行链接:
打开第二个选项卡,可以看到有许多可以添加到对话框的模块,这里我们先添加三个Edit:
Edit里面的Prompt为编辑框前面的提示文本,Name为需要编辑的变量名,改好后,点击Preview看看 效果:
前面Subsystem框好像有点空,我们通过加入一些说明,让它充实些:
再点击Preview看看,可以看到多了些像模像样的提示:
第三个选项卡里,可以进行一些封装初始化的操作,这里先不尝试了:
第四个选项卡,可以在里面写一些对所封装模块的说明,这些内容会成为封装模块的help:
一切设置完毕后,点击OK。至此,模块封装就创建好了。回到Simulink,可以看到模块被封装好了:
双击模块,出现的对话框正如我们设计的一样:
我们试着点一下help,会看到刚刚我们在封装Document里面写下的内容:
仿真测试
让我们来仿真试一下,看看各个变量是否被正确对应起来了,是否设置正确。
首先让各项值为1:
改一下Frequency,可以看到输出的Frequency随之改变,说明通过封装我们能够直接操作对应的这些参数了: