封装子系统并创建自己的Simulink库

有时候,在搭建模型过程中,有很多通过基础模块搭建的模型需要复用,整理到自己的库文件中会比较方便,本文基于该思想完成该功能。

01--封装子系统

本文基于一阶滤波器来完成自己的库浏览器的创建,首先搭建一个一阶滤波器模型,如下:

 

 输入信号,输出信号,滤波系数。

将该模型进行创建子系统:

 

 按如下设置进行子系统封装:

①主要进行模块的外观设置,plot是绘画命令,如果想用自己自定义的图片,可以在封装选项处上传自己的图片即可。

 ②这一步主要是该模块内部的参数设置,把滤波系数设置为K

由于K的范围为0~1,故需要在右边的限制选项中设置他的范围

 ③设置该系数的初始化值

 

 ④设置帮助及描述信息等

 封装完成后的子系统如下:

 02--将模型添加进simulink库中

新建一个库浏览器,选择空白浏览器

 把上述搭建好的模型拖进该库浏览器中

 

将该库浏览器保存并命名LIB

 

 

 运行MATLAB命令窗口运行如下指令:

该指令的作用是将模块的库属性开关置位,这样在库浏览器中将会找到我们自己创建的库模型

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

在刚刚保存模型LIB文件的地方创建一个.m脚本文件(命名为slblocks),输入如下命令:

function blkStruct = slblocks

    Browser.Library = 'LIB';
    % 'EMI' 为库文件名,不需要带扩展名

    Browser.Name = 'LIB';
    % 'EMI' 是出现在库浏览器中的名词

    blkStruct.Browser = Browser;

 将该模型及脚本文件所在的路径放入到放入到MATLAB设置路径内:

 

 若电脑没有权限,则选择把pathdef文件放入到上面同一个文件夹内。

路径内:

 直接打开simulink库浏览器,按F5刷新,LIB已经在下拉菜单内了,

 可以看到,在常用的选项中比较靠后的位置,在模型的文件夹内再创建如下命令的脚本并命名为sl_customization,注意代码内LIB为模型名字

function sl_customization(cm)
	% Change the order of libraries in the Simulink Library Browser. 
	cm.LibraryBrowserCustomizer.applyOrder({'LIB',-2});
end

在MATLAB窗口位置输入指令:sl_refresh_customizations,再在simulink库浏览器按F5刷新

 有时候需要更多不同层次的模块,可以做一个类似于simulink自带的常用模块库类似的功能。

 

 总结:建模过程中,创建属于自己库浏览器能够提高建模效率,因为很多模块复用性较强,后续准备做一个比较常用模块(非simulink自带)的集合。

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值