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

本系列教程是根据孙忠潇编著的<<Simulink仿真及代码生成技术入门到精通>>学习笔记。
目录

Simulink仿真入门到精通(一) Simulink界面介绍
Simulink仿真入门到精通(二) Simulink模块
Simulink仿真入门到精通(三) Simulink信号
Simulink仿真入门到精通(四) Simulink子系统
Simulink仿真入门到精通(五) Simulink模型的仿真
Simulink仿真入门到精通(六) Simulink模型保存为图片
Simulink仿真入门到精通(七) Simulink的回调函数
Simulink仿真入门到精通(八) M语言对Simulink模型的自动化操作及配置
Simulink仿真入门到精通(九) Simulink的流控制
Simulink仿真入门到精通(十) S函数
Simulink仿真入门到精通(十一) 模块的封装
Simulink仿真入门到精通(十二) Publish发布M文件
Simulink仿真入门到精通(十三) Simulink创建自定义库
Simulink仿真入门到精通(十四) Simulink自定义环境
Simulink仿真入门到精通(十五) Simulink在流程工业中的仿真应用
Simulink仿真入门到精通(十六) Simulink基于模型设计的工业应用概述
Simulink仿真入门到精通(十七) Simulink代码生成技术详解
Simulink仿真入门到精通(十八) TLC语言
Simulink仿真入门到精通(十九) 总结回顾
 

最近一段时间项目比较忙,很长时间没有更新了,应读者的需求继续更新剩下的章节。

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

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

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

添加路径到Set Path。

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

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,即可看到该库及其中的模块。 

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

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

猜你喜欢

转载自blog.csdn.net/king110108/article/details/119967455