Simulink仿真入门到精通(十三) Simulink创建自定义库

 当用户自定义了一系列模块之后,可以自定义模块库将同类自定义模块显示到Simulink Browser中,作为库模块方便地拖曳到新建模型中。

建立这样的自定义库需要3个条件:

  1. 建立library的mdl或slx文件,将自定义模块添加到文件中保存;
  2. 建立名字为slblocks的M函数,定义模块库显示到Simulink Browser中的规格;
  3. slblock.m与library模型库文件需要存放到同一路径下,并将路径添加到MATLAB的Set Path中。

添加路径到Set Path。

addpath('C:\Users\lenovo\Desktop')

将希望保存的模块拖到库文件中保存。

Simulink仿真入门到精通(十三) Simulink创建自定义库_第1张图片

 

Library与普通mdl或slx的区别为:

  1. Library中的模块不能随意拖动,打开时默认为被锁定的状态;
  2. Library的工具栏上没有仿真时间和仿真模式的设定;
  3. Library的菜单栏比一般模型文件的菜单栏缺少几个选项:Simulation、Code和Tools。

 将该库文件存为Lib_entertainment.slx,并将存储路径添加到MATLAB的搜索路径中。

编写slblock.m文件。

function blkStruct = slblocks
% Information for "Blocksets and Toolboxes" subsystem
blkStruct.Name = sprintf('Just for fun!');
blkStruct.OpenFcn = 'disp(''Open Lib_entertainment Toolbox.'')';
blkStruct.MaskDisplay = 'plot([0:2*pi],sin([0:2*pi]));';

% Information for Simulink Library Browser
Browser(1).Library = 'Lib_entertainment';  % no extension name
Browser(1).Name    = 'Lib_entertainment Toolbox';
Browser(1).IsFlat  = 1;  % no subsystems

blkStruct.Browser = Browser;

刷新Simulink Browser,即可看到该库及其中的模块。

Simulink仿真入门到精通(十三) Simulink创建自定义库_第2张图片

 

此时模块在库文件中将不能移动,试图移动会看到以下信息。

 

通过菜单栏Diagram→Unlock Library解锁,即可进行模块的拖动,增加新模块,更改既有模块封装等。

 

你可能感兴趣的:(Simulink仿真入门到精通(十三) Simulink创建自定义库)