在simulink使用过程中,有些自己搭建的子模块,会经常被使用到,或者想将自己搭建的某些子模块应用到整个项目中,分享给同事使用等。 这就可以通过创建自定义库的形式来实现。
创建自定义库主要有两种方式,请大家根据自己的需求选择:
1、只对当前模型有效:模型级 Library ------ 建立库链接,将此模块统一管理。
适用于我现在这个项目里有一批自己的模块,只想给这个项目使用,不想污染整个 Simulink Library Browser。
2、对所有新建模型有效:自定义 Simulink Library ------ 注册到 Library Browser。
适用于需要创建自定义库,但不是1中所述情况。
具体方法如下:
一、只对当前模型有效
Library Link(库链接):模块本体放在一个 Library 里,模型中放的是这个模块的"链接/实例"。
1、创建 Library
在 Simulink 当前模型窗口中打开一个空白 Library。
仿真
↓
新建
↓
库(Library)
创建空白库,并保存为MyProjectLib.slx。此时它和普通模型 .slx 不一样。普通模型:MyProject.slx。Library 的目的就是专门存放可以重复使用的模块。
2、在 Library中添加内容
根据自己需要,在Library添加自己需要的模块,可以同时添加多个,也可以创建多级目录。
3、把 Library 中的模块拖到模型
选中 模型中的模块:你会看到模块左下角有一个链条形状的 Link 标记。说明链接成功,以后想改这么模块,在库文件中统一修改即可。
二、对所有新建模型有效------注册成真正的自定义 Library
1、创建 Library
在 Simulink 当前模型窗口中打开一个空白 Library。
仿真
↓
新建
↓
库(Library)
创建空白库,并保存为MyProjectLib.slx。此时它和普通模型 .slx 不一样。普通模型:MyProject.slx。Library 的目的就是专门存放可以重复使用的模块。
2、在 Library中添加内容
根据自己需要,在Library添加自己需要的模块,可以同时添加多个,也可以创建多级目录。
3、把 Library 加入 Library Browser
官方指导文件:
将库添加到库浏览器和快速插入 - MATLAB & Simulink
此处需要一个slblocks.m,代码如下:
function blkStruct = slblocks Browser.
Library = "MyProjectLib";
Browser.Name = "MyProjectLib";
blkStruct.Browser = Browser;
在simulink中打开库浏览器,并右键刷新,即可看到MyProjectLib。
此处注意,将保存slblocks.m以及MyProjectLib.slx的文件夹添加到matlab的路径中。

若想移除添加到Library的MyProjectLib,只需将slblocks.m从matlab的路径中删除即可。