电子说
此示例说明如何创建模块库,并将其添加到 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条评论
快来发表一下你的评论吧 !