本期講解如何在Matlab中建立屬于自己的庫,針對于公司設(shè)計相關(guān)MBD產(chǎn)品。
步驟如下:
將庫添加到庫瀏覽器中
此示例說明如何創(chuàng)建模塊庫,并將其添加到 Simulink庫瀏覽器中。此示例還顯示如何添加子庫。
要指定與您的庫相關(guān)的信息,您可以創(chuàng)建名為slblocks
的函數(shù)。
將庫添加到庫瀏覽器
-
在 Simulink 起始頁上,選擇Blank Library并點擊Create Library。
注意
庫瀏覽器僅支持庫。您無法在庫瀏覽器中顯示模型的內(nèi)容。
-
向該庫添加一個 Gain 模塊。
-
在 MATLAB命令行窗口中,輸入以下命令將
EnableLBRepository
庫屬性設(shè)置為'on'
。當您保存庫時,只有此屬性設(shè)置為 on,您的庫才會出現(xiàn)在庫瀏覽器中。set_param(gcs,'EnableLBRepository','on');
-
將庫保存到 MATLAB 路徑上的文件夾中。對于本示例,將庫命名為
mylib
。 -
在 MATLAB 當前文件夾瀏覽器中,打開包含
mylib
的文件夾,然后在 MATLAB 工具條中點擊New Script。 -
在打開的 MATLAB 編輯器中,添加以下函數(shù),該函數(shù)指定庫
mylib
應(yīng)出現(xiàn)在名為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;
-
將函數(shù)另存為
slblocks.m
。注意
您可以將該函數(shù)保存為
.m
或.mlx
文件。但不能另存為 P 代碼文件。 -
通過點擊 Simulink 工具條中的Library Browser打開庫瀏覽器。
-
要在庫瀏覽器中查看新庫,請右鍵點擊庫列表并選擇Refresh Library Browser。
下圖顯示了示例庫
mylib
,它在庫瀏覽器中的名稱為My Library。
注意
如果您保存庫時沒有將'EnableLBRepository'
設(shè)置為'on'
,庫瀏覽器的頂部將顯示一條消息。
請點擊Fix并根據(jù)提示進行操作。
將子庫添加到庫瀏覽器
按照以下步驟將名為mylib2
的子庫添加到您的mylib
庫中。
-
創(chuàng)建名為
mylib2
的庫。將幾個模塊添加到該庫。 -
在 MATLAB 命令行窗口中,為新庫將
EnableLBRepository
庫屬性設(shè)置為'on'
。set_param(gcs,'EnableLBRepository','on');
-
將
mylib2
保存到包含mylib
的文件夾中。 -
向該
mylib
庫添加一個 Subsystem 模塊。 -
通過刪除子系統(tǒng)中的 Inport 和 Outport 模塊,從子系統(tǒng)中刪除輸入和輸出端口。
-
將Subsystem模塊命名為
My Sublibrary
。 -
要將Subsystem模塊鏈接到子庫,請使用屬性檢查器將
OpenFcn
回調(diào)設(shè)置為mylib2
。 -
保存
mylib
。 -
要在庫瀏覽器中查看新子庫,請右鍵點擊庫列表并選擇Refresh Library Browser。
下圖顯示了示例子庫
mylib2
,它在庫瀏覽器中的名稱為My Sublibrary。由于您創(chuàng)建的回調(diào),點擊My Sublibrary將顯示
mylib2
庫的內(nèi)容。
指定庫列表中的庫順序
您可以通過向 MATLAB 路徑中添加一個sl_customization.m
文件并為您的庫設(shè)置排序優(yōu)先級,從而指定您的庫相對于列表中其他庫的順序。例如,要讓您的庫出現(xiàn)在列表的頂部,可以將排序優(yōu)先級設(shè)置為-2
。默認情況下,Simulink 庫的排序優(yōu)先級為-1
。其他庫的排序優(yōu)先級默認為0
,這些庫顯示在 Simulink 庫的下面。排序優(yōu)先級相同的庫按字母順序顯示。
以下示例文件sl_customization.m
的內(nèi)容將新庫放置在庫列表的頂部。
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
+關(guān)注
關(guān)注
181文章
2960瀏覽量
230029 -
瀏覽器
+關(guān)注
關(guān)注
1文章
1009瀏覽量
35229
發(fā)布評論請先 登錄
相關(guān)推薦
評論