本期講解如何在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文章
2963瀏覽量
230155 -
瀏覽器
+關注
關注
1文章
1016瀏覽量
35276
發布評論請先 登錄
相關推薦
評論