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

摘要:
自定义一系列模块后,可以自定义模块库,以在SimulinkBrowser中显示类似的自定义模块,可以将其作为库模块轻松拖动到新模型中。创建这样的自定义库需要三个条件:创建库的mdl或slx文件,并将自定义模块添加到文件中保存;创建一个名为slblocks的M函数,并定义Simulink Browser中显示的模块库的规范;slblock。m和库模型库文件需要存储在同一路径中,并添加到MATLAB的SetPath中。

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

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

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

添加路径到Set Path。

addpath('C:UserslenovoDesktop')

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

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张

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

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

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

免责声明:文章转载自《Simulink仿真入门到精通(十三) Simulink创建自定义库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据库MySQL/Postgres/Redis异步操作NetCore 中 后台任务利器之Hangfire 的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Simulink仿真入门到精通(五) Simulink模型的仿真

5.1 模型的配置仿真 由各种模块所构建的可视化逻辑连接,只是模型的外在表现,模型仿真的核心驱动器是被称作解算器(Solver)的组件,相当于Simulink仿真过程的心脏,驱动着模型仿真,它在每一个采样时间点更新模型中所有的状态和信号变量,并计算下一步的步长。除此之外,模型还具有一个参数配置集合(Configuration Parameter Set),...

Simulink仿真入门到精通(十四) Simulink自定义环境

14.1 Simulink环境自定义功能 sl_sustomization.m函数是Simulink提供给用户使用MATLAB语言自定义Simulink标准人机界面的函数机制。若sl_sustomization.m函数存在于MATLAB的搜索路径中,在当Simulink启动时就会读取此文件的内容进行Simulink的人机界面的初始化。Simulink本身就...

Simscape Multibody 教程 —— 入门学习

转载请注明出处,谢谢原创作者:MingruiYU原创链接:https://www.cnblogs.com/MingruiYu/p/12305851.html 本文要点: Simscape Multibody 简介 Simscape Multibody 入门学习的推荐学习材料和学习顺序 建模仿真过程中的重要知识 模型的参数设置(Model Worksp...

Simulink仿真入门到精通(九) Simulink的流控制

9.1 Simulink流控制分类 simulink中流控制时通过自带的模块实现的,包括If else、Switch、For和While4个种类。 9.2 While流控制 while 如果条件为真,那么子系统在当前的步长内反复执行,直到达到最大循环次数或者判断条件为假。 参数标签 功能说明 Maximum number of iterati...

Simulink仿真入门到精通(十) S函数

10.1 S函数概述 S函数也称为Simulink中的系统函数,是用来描述模块的Simulink宏函数,支持M、C等多种语言。当Simulink默认的模块不能满足用户的需求时,用户可以通过S函数自己打造一个模块,实现自定义的算法或期待的动作。 10.2 S函数的类型 S函数有多种类型,按照语言分类有M、C、C++、Fortran等编写的; 按照所支持功能...

Simulink仿真入门到精通(三) Simulink信号

3.1 Simulink信号概述 所谓信号,表示一种随着时间而变化的量,在时间轴上的采样时刻都对应有数值。 信号在Simulink中是相当重要的组成部分,有线(line)表示,在模型中穿针引线地将各模块联系起来,既能传递数据又可以明确表达模块的输入输出依赖关系,技能给自己命名以示自身的物理意义,又能绑定Simulink.Signal数据对象来表达生成代码中...