Simulink 自定义库

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Simulink自定义库

为了实现模块共享或复用,可以将一些常用功能模块定义成库模块。另外也可以将一些Simulink模块参数进行定制,并将其定义成自定义库,以满足用户要求。

术语

链接模块:当将封装的库模块或Subsystem 模块从库中添加到Simulink模型中时,将创建库模块的引用实例。库模块的这种引用实例称为链接模块,其中包含指向父级库模块的链接或路径。这个链接或路径可使链接模块随着库模块的更新而更新。

新建库文件

1.点击工具栏新建模型按钮,选择Library命令。

2.创建计数器模型如下:

3.选择全部模块,右击选择Create Subsystem from Selection,创建子系统。

4. 删除子系统外部输入和输出端口

5. 封装子系统:右击选择Mask->Create Mask…

6. 封装之后效果,具体封装过程参考模块封装章节。

7. 在Library Browser 显示自定库,需要在保存库之前启用模型属性EnableLBRepository。在命令窗口

中输入以下命令:

set_param(gcs,'EnableLBRepository','on');

注意

如果您保存库时没有将'EnableLBRepository'设置为'on',Library Browser 的顶部将显示一条消息。

请点击Fix并根据提示进行操作。

8.将自定义库添加到Library Browser:右键点击保存自定义库的文件夹(本例保存在:D:\Model资料),

并选择New File > Script。将文件命名为slblocks.m。

9. 在Library Browser 中,执行刷新操作以查看新库和子库。右键点击库列表并选择Refresh Library

Browser。或按F5键。

10.在Library Browser 中,可以看到刚自定的库。

编辑自定义库

1. 选择File->Open或者在Library Browser 中,右击选择要编辑的库,选择Open xx library。

方法一:在Library Browser 中,右击选择要编辑的库,选择Open xx library。

方法二:选择File->Open

2. 在每次关闭库模型后,Simulink会自动锁定库。编辑库之前解锁库Diagram->Unlock Library。

3. 添加其他模块,可以将一些常用的块放在自定义的库中。并为了个性化的需要,可以改变块的参数

等。例如:根据MAAB建模规范要求,使用缺省名字的块名都要隐藏。因此,可以定义一个自定义库,在库中对块名进行隐藏(右击选择Format->Show Block Name)。在库中增加如下图所示模块,并保存。

Browser。或按F5键。

5. 将自定义库中模块拖入模型文件中,发现模块名字被隐藏和具有自定义库中定义的背景色

指定库列表中的库顺序

默认情况下,Simulink 库的排序优先级为-1。其他库的排序优先级默认为0,这些库显示在

Simulink 库的下面。排序优先级相同的库按字母顺序显示。可以通过向MATLAB 路径中添加一个sl_customization.m 文件并为自定义库设置排序优先级,从而指定自定义库相对于列表中其他库的顺序。例如,要让自定义库出现在列表的顶部,可以将排序优先级设置为-2。

1. 右键点击保存自定义库的文件夹(本例保存在:D:\Model资料),并选择New File > Script。将文件

命名为sl_customization.m。

2.在命令窗口中执行如下指令。

sl_refresh_customizations

3. 在Library Browser 中,查看自定库的排序。

排序后

排序前

添加子库

1. 新建一个文件,将自定义库(UserDefinedLib)中简单模块剪切到新建的库中,保存名字为

Commoly_Used_Blocks。

2. 在自定义库(UserDefinedLib)中添加一个子系统,并删除子系统默认输入和输出端口模块。

Commoly_Used_Blocks。

Browser。或按F5键。

锁定和解锁库

1.关闭库时,自定义库将自动被锁定,无法进行编辑。如果尝试修改锁定的库,将显示一条消息,提示解

锁。

2.当打开自定义库时,如果要进行更改,则需要解锁库。

防止禁用库链接

默认情况下,使用自定义库模块的用户可以禁用库模块的链接。如果控制对链接模块的编辑,并防止用户禁用自定义模块的链接,可以锁定库链接。锁定库链接可以防止用户对模块实例进行任何更改。

1. 编辑库,在Diagram 菜单,点击Lock Links To Library(如果操作前未解锁库,需解锁库)。

2. 右击库模块,Locked Library Link->Disable Locked Link不可用。

防止库模块链接到实例

1. 可以配置某个库模块,以使根据它创建的实例不是链接模块,而是它的副本。设置模块的CopyFcn

回调中执行如下函数。

2. 设置之后从库中拖入模型的自定义模块是一个副本,自定义库更改时不会修改模型中的副本。但在该

操作之前的拖入模型的自定义模块仍然和自定义模块连接,是自定义块的一个链接模块,也即自定模块的修改,会同步修改模型中自定模块的链接模块。

模型文件中自定义库的操作

1 如果模块使用了防止库模块链接到实例,则拖入模型中的模块是自定义模块的一个副本,因此与链接

模块相关命令不可用。右击快捷菜单如下图所示:

相关文档
最新文档