本期讲解如何在Matlab中建立属于自己的库,针对于公司设计相关MBD产品。
步骤如下:
将库添加到库浏览器中
此示例说明如何创建模块库,并将其添加到 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
-
matlab
+关注
关注
182文章
2961浏览量
230087 -
浏览器
+关注
关注
1文章
1011浏览量
35254
发布评论请先 登录
相关推荐
评论