zoukankan      html  css  js  c++  java
  • 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:UserslenovoDesktop')

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

    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解锁,即可进行模块的拖动,增加新模块,更改既有模块封装等。

  • 相关阅读:
    20191028 Codeforces Round #534 (Div. 1)
    20191028 牛客网CSP-S Round2019-1
    UVA11464 Even Parity 搜索+递推
    CSP2019-S1 游记
    LG2921 [USACO2008DEC]Trick or Treat on the Farm 内向基环树
    bzoj 2002 Bounce 弹飞绵羊
    快速乘,快速幂,十进制快速幂,矩阵快速幂
    2019牛客暑期多校训练营(第五场) generator 1
    2019牛客暑期多校训练营(第五场) digits 2
    hdu 4714 Tree2cycle
  • 原文地址:https://www.cnblogs.com/dingdangsunny/p/12257933.html
Copyright © 2011-2022 走看看