本期講解如何在Matlab中建立屬于自己的庫(kù),針對(duì)于公司設(shè)計(jì)相關(guān)MBD產(chǎn)品。
步驟如下:
將庫(kù)添加到庫(kù)瀏覽器中
此示例說(shuō)明如何創(chuàng)建模塊庫(kù),并將其添加到 Simulink庫(kù)瀏覽器中。此示例還顯示如何添加子庫(kù)。
要指定與您的庫(kù)相關(guān)的信息,您可以創(chuàng)建名為slblocks
的函數(shù)。
將庫(kù)添加到庫(kù)瀏覽器
-
在 Simulink 起始頁(yè)上,選擇Blank Library并點(diǎn)擊Create Library。
注意
庫(kù)瀏覽器僅支持庫(kù)。您無(wú)法在庫(kù)瀏覽器中顯示模型的內(nèi)容。
-
向該庫(kù)添加一個(gè) Gain 模塊。
-
在 MATLAB命令行窗口中,輸入以下命令將
EnableLBRepository
庫(kù)屬性設(shè)置為'on'
。當(dāng)您保存庫(kù)時(shí),只有此屬性設(shè)置為 on,您的庫(kù)才會(huì)出現(xiàn)在庫(kù)瀏覽器中。set_param(gcs,'EnableLBRepository','on');
-
將庫(kù)保存到 MATLAB 路徑上的文件夾中。對(duì)于本示例,將庫(kù)命名為
mylib
。 -
在 MATLAB 當(dāng)前文件夾瀏覽器中,打開(kāi)包含
mylib
的文件夾,然后在 MATLAB 工具條中點(diǎn)擊New Script。 -
在打開(kāi)的 MATLAB 編輯器中,添加以下函數(shù),該函數(shù)指定庫(kù)
mylib
應(yīng)出現(xiàn)在名為My Library的庫(kù)瀏覽器中。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 代碼文件。 -
通過(guò)點(diǎn)擊 Simulink 工具條中的Library Browser打開(kāi)庫(kù)瀏覽器。
-
要在庫(kù)瀏覽器中查看新庫(kù),請(qǐng)右鍵點(diǎn)擊庫(kù)列表并選擇Refresh Library Browser。
下圖顯示了示例庫(kù)
mylib
,它在庫(kù)瀏覽器中的名稱為My Library。
注意
如果您保存庫(kù)時(shí)沒(méi)有將'EnableLBRepository'
設(shè)置為'on'
,庫(kù)瀏覽器的頂部將顯示一條消息。
請(qǐng)點(diǎn)擊Fix并根據(jù)提示進(jìn)行操作。
將子庫(kù)添加到庫(kù)瀏覽器
按照以下步驟將名為mylib2
的子庫(kù)添加到您的mylib
庫(kù)中。
-
創(chuàng)建名為
mylib2
的庫(kù)。將幾個(gè)模塊添加到該庫(kù)。 -
在 MATLAB 命令行窗口中,為新庫(kù)將
EnableLBRepository
庫(kù)屬性設(shè)置為'on'
。set_param(gcs,'EnableLBRepository','on');
-
將
mylib2
保存到包含mylib
的文件夾中。 -
向該
mylib
庫(kù)添加一個(gè) Subsystem 模塊。 -
通過(guò)刪除子系統(tǒng)中的 Inport 和 Outport 模塊,從子系統(tǒng)中刪除輸入和輸出端口。
-
將Subsystem模塊命名為
My Sublibrary
。 -
要將Subsystem模塊鏈接到子庫(kù),請(qǐng)使用屬性檢查器將
OpenFcn
回調(diào)設(shè)置為mylib2
。 -
保存
mylib
。 -
要在庫(kù)瀏覽器中查看新子庫(kù),請(qǐng)右鍵點(diǎn)擊庫(kù)列表并選擇Refresh Library Browser。
下圖顯示了示例子庫(kù)
mylib2
,它在庫(kù)瀏覽器中的名稱為My Sublibrary。由于您創(chuàng)建的回調(diào),點(diǎn)擊My Sublibrary將顯示
mylib2
庫(kù)的內(nèi)容。
指定庫(kù)列表中的庫(kù)順序
您可以通過(guò)向 MATLAB 路徑中添加一個(gè)sl_customization.m
文件并為您的庫(kù)設(shè)置排序優(yōu)先級(jí),從而指定您的庫(kù)相對(duì)于列表中其他庫(kù)的順序。例如,要讓您的庫(kù)出現(xiàn)在列表的頂部,可以將排序優(yōu)先級(jí)設(shè)置為-2
。默認(rèn)情況下,Simulink 庫(kù)的排序優(yōu)先級(jí)為-1
。其他庫(kù)的排序優(yōu)先級(jí)默認(rèn)為0
,這些庫(kù)顯示在 Simulink 庫(kù)的下面。排序優(yōu)先級(jí)相同的庫(kù)按字母順序顯示。
以下示例文件sl_customization.m
的內(nèi)容將新庫(kù)放置在庫(kù)列表的頂部。
function sl_customization(cm) % Change the order of libraries in the Simulink Library Browser. cm.LibraryBrowserCustomizer.applyOrder({'My Library',-2}); end
要使自定義立即生效,請(qǐng)?jiān)?MATLAB 命令行窗口中輸入:
sl_refresh_customizations
-
matlab
+關(guān)注
關(guān)注
188文章
2996瀏覽量
233200 -
瀏覽器
+關(guān)注
關(guān)注
1文章
1040瀏覽量
36079
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問(wèn)如何在matlab里建立適應(yīng)度函數(shù)?
如何在stm32芯片上實(shí)現(xiàn)MBD設(shè)計(jì)
如何在Matlab中建立四旋翼飛行模型
如何在IAR建立的工程中開(kāi)啟FPU并使用DSP庫(kù)呢
如何在stm32芯片上去實(shí)現(xiàn)MBD設(shè)計(jì)呢
如何建立一個(gè)屬于自己的AVR的RTOS
如何在MBD中實(shí)現(xiàn)DAC?
如何在s32k mbd中使用計(jì)時(shí)器?
如何建立一個(gè)屬于自己的AVR的RTOS
如何在matlab中實(shí)現(xiàn)Virtual Reality 技術(shù)
如何在Altium Designer上面建立自己的3D庫(kù)

如何在MATLAB中開(kāi)發(fā)基于像素的視頻和圖像處理算法

底層驅(qū)動(dòng)為啥是MBD的“禁區(qū)”?

評(píng)論