Main Content

将库添加到库浏览器

此示例说明如何创建模块库,并将其添加到 Simulink® 库浏览器中。此示例还显示如何添加子库。

要指定与您的库相关的信息,您可以创建名为 slblocks 的函数。

将库添加到库浏览器

  1. 在 Simulink 起始页的搜索框中,键入 library。选择空白库,然后点击创建库

    注意

    库浏览器仅支持库。您无法在库浏览器中显示模型的内容。

  2. 向该库添加一个 Gain 模块。

  3. 在 MATLAB® 命令行窗口中,输入以下命令将 EnableLBRepository 库属性设置为 'on'。当您保存库时,只有此属性启用,您的库才会出现在库浏览器中。

    set_param(gcs,'EnableLBRepository','on');
  4. 将库保存到 MATLAB 路径上的文件夹中。对于本示例,将库命名为 mylib

  5. 在 MATLAB 当前文件夹浏览器中,打开包含 mylib 的文件夹,然后在 MATLAB 工具条中点击新建脚本

  6. 在打开的 MATLAB 编辑器中,添加以下函数,该函数指定库 mylib 应出现在名为 My Library 的库浏览器中。

    function blkStruct = slblocks
    % This function specifies that the library 'mylib'
    % should appear in the Library Browser with the 
    % name 'My Library'
    
        Browser.Library = 'mylib';
        % 'mylib' is the name of the library
    
        Browser.Name = 'My Library';
        % 'My Library' is the library name that appears
        % in the Library Browser
    
        blkStruct.Browser = Browser;

  7. 将函数另存为 slblocks.m

    注意

    您可以将该函数保存为 .m.mlx 文件。但不能将函数保存为 P 代码文件。

  8. 要打开库浏览器,请在 Simulink 工具条中,点击库浏览器

  9. 要在库浏览器中查看新库,请右键点击库列表并选择刷新库浏览器

    The Library Browser tree shows a library with the name My Library. My Library is expanded in the tree, and beneath the library name, there is a Gain block.

    下图显示了示例库 mylib,它在库浏览器中的名称为 My Library

注意

如果您保存库时没有将 'EnableLBRepository' 设置为 'on',库浏览器的顶部将显示一条消息。

At the top of the Library Browser in docked mode, there is a message that says "Some libraries are missing repository information. Fix" The word "Fix" is a hyperlink.

请点击修复并根据提示进行操作。

将子库添加到库浏览器

按照以下步骤将名为 mylib2 的子库添加到您的 mylib 库中。

  1. 创建名为 mylib2 的库。将几个模块添加到该库。

  2. 在 MATLAB 命令行窗口中,为新库将 EnableLBRepository 库属性设置为 'on'

    set_param(gcs,'EnableLBRepository','on');
  3. mylib2 保存到包含 mylib 的文件夹中。

  4. 向该 mylib 库添加一个 Subsystem 模块。

  5. 通过删除子系统中的 InportOutport 模块,从子系统中删除输入和输出端口。

  6. Subsystem 模块命名为 My Sublibrary

  7. 要将 Subsystem 模块链接到子库,请使用属性检查器将 OpenFcn 回调设置为 mylib2

    The Property Inspector lets you set the OpenFcn callback on the Properties tab.

  8. 保存 mylib

  9. 要在库浏览器中查看新子库,请右键点击库列表并选择刷新库浏览器

    In the Library Browser tree, My Library is expanded. My Library contains a Gain block and a sublibrary called My Sublibrary. My Sublibrary is expanded and contains a Ramp block, a Sine Wave block, and a Step block.

    下图显示了示例子库 mylib2,它在库浏览器中的名称为 My Sublibrary

    由于您创建的回调,展开 My Sublibrary 将显示 mylib2 库的内容。

指定库列表中的库顺序

您可以通过向 MATLAB 路径中添加一个 sl_customization.m 文件并为您的库设置排序优先级,从而指定您的库相对于列表中其他库的顺序。例如,要让您的库出现在列表的顶部,可以将排序优先级设置为 -2。默认情况下,Simulink 库的排序优先级为 -1。其他库的排序优先级默认为 0,这些库显示在 Simulink 库的下面。排序优先级相同的库按字母顺序显示。

以下示例文件 sl_customization.m 的内容将新库放置在库列表的顶部。

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

要使自定义立即生效,请在 MATLAB 命令行窗口中输入:

sl_refresh_customizations

My Library appears at the top of the Library Browser tree

相关主题