电子说
此示例说明如何创建模块库,并将其添加到 Simulink 库浏览器中。此示例还显示如何添加子库。
要指定与您的库相关的信息,您可以创建名为 slblocks 的函数。
在 Simulink 起始页上,选择 Blank Library 并点击 Create Library。
注意
库浏览器仅支持库。您无法在库浏览器中显示模型的内容。
向该库添加一个 Gain 模块。
在 MATLAB 命令行窗口中,输入以下命令将 EnableLBRepository 库属性设置为 'on'。当您保存库时,只有此属性设置为 on,您的库才会出现在库浏览器中。
set_param(gcs,'EnableLBRepository','on');
将库保存到 MATLAB 路径上的文件夹中。对于本示例,将库命名为 mylib。
在 MATLAB 当前文件夹浏览器中,打开包含 mylib 的文件夹,然后在 MATLAB 工具条中点击 New Script。
在打开的 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;
将函数另存为 slblocks.m。
注意
您可以将该函数保存为 .m 或 .mlx 文件。但不能另存为 P 代码文件。
通过点击 Simulink 工具条中的 Library Browser 打开库浏览器。
要在库浏览器中查看新库,请右键点击库列表并选择 Refresh Library Browser。

下图显示了示例库 mylib,它在库浏览器中的名称为 My Library。
注意
如果您保存库时没有将 'EnableLBRepository' 设置为 'on',库浏览器的顶部将显示一条消息。

请点击 Fix 并根据提示进行操作。
按照以下步骤将名为 mylib2 的子库添加到您的 mylib 库中。
创建名为 mylib2 的库。将几个模块添加到该库。
在 MATLAB 命令行窗口中,为新库将 EnableLBRepository 库属性设置为 'on'。
set_param(gcs,'EnableLBRepository','on');
将 mylib2 保存到包含 mylib 的文件夹中。
向该 mylib 库添加一个 Subsystem 模块。
通过删除子系统中的 Inport 和 Outport 模块,从子系统中删除输入和输出端口。
将 Subsystem 模块命名为 My Sublibrary。
要将 Subsystem 模块链接到子库,请使用属性检查器将 OpenFcn 回调设置为 mylib2。

保存 mylib。
要在库浏览器中查看新子库,请右键点击库列表并选择 Refresh Library Browser。

下图显示了示例子库 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

全部0条评论
快来发表一下你的评论吧 !