0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Matlab中建立屬于自己的庫(針對公司設(shè)計MBD產(chǎn)品)

Linelayout4 ? 來源:新能源入門客 ? 2023-06-19 11:06 ? 次閱讀


本期講解如何在Matlab中建立屬于自己的庫,針對于公司設(shè)計相關(guān)MBD產(chǎn)品
步驟如下:

將庫添加到庫瀏覽器中

此示例說明如何創(chuàng)建模塊庫,并將其添加到 Simulink庫瀏覽器中。此示例還顯示如何添加子庫。

要指定與您的庫相關(guān)的信息,您可以創(chuàng)建名為slblocks的函數(shù)。

將庫添加到庫瀏覽器

  1. Simulink 起始頁上,選擇Blank Library并點擊Create Library。

    注意

    庫瀏覽器僅支持庫。您無法在庫瀏覽器中顯示模型的內(nèi)容。

  2. 向該庫添加一個 Gain 模塊。

  3. 在 MATLAB命令行窗口中,輸入以下命令將EnableLBRepository庫屬性設(shè)置為'on'。當您保存庫時,只有此屬性設(shè)置為 on,您的庫才會出現(xiàn)在庫瀏覽器中。

    set_param(gcs,'EnableLBRepository','on');
  4. 將庫保存到 MATLAB 路徑上的文件夾中。對于本示例,將庫命名為mylib。

  5. 在 MATLAB 當前文件夾瀏覽器中,打開包含mylib的文件夾,然后在 MATLAB 工具條中點擊New Script

  6. 在打開的 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;

  7. 將函數(shù)另存為slblocks.m

    注意

    您可以將該函數(shù)保存為.m.mlx文件。但不能另存為 P 代碼文件。

  8. 通過點擊 Simulink 工具條中的Library Browser打開庫瀏覽器。

  9. 要在庫瀏覽器中查看新庫,請右鍵點擊庫列表并選擇Refresh Library Browser。

    ec81bd04-0dd7-11ee-962d-dac502259ad0.png

    下圖顯示了示例庫mylib,它在庫瀏覽器中的名稱為My Library

注意

如果您保存庫時沒有將'EnableLBRepository'設(shè)置為'on',庫瀏覽器的頂部將顯示一條消息。

eca80356-0dd7-11ee-962d-dac502259ad0.png

請點擊Fix并根據(jù)提示進行操作。

將子庫添加到庫瀏覽器

按照以下步驟將名為mylib2的子庫添加到您的mylib庫中。

  1. 創(chuàng)建名為mylib2的庫。將幾個模塊添加到該庫。

  2. 在 MATLAB 命令行窗口中,為新庫將EnableLBRepository庫屬性設(shè)置為'on'。

    set_param(gcs,'EnableLBRepository','on');
  3. mylib2保存到包含mylib的文件夾中。

  4. 向該mylib庫添加一個 Subsystem 模塊。

  5. 通過刪除子系統(tǒng)中的 Inport 和 Outport 模塊,從子系統(tǒng)中刪除輸入和輸出端口

  6. 將Subsystem模塊命名為My Sublibrary。

  7. 要將Subsystem模塊鏈接到子庫,請使用屬性檢查器將OpenFcn回調(diào)設(shè)置為mylib2。

    ecf6f614-0dd7-11ee-962d-dac502259ad0.png

  8. 保存mylib

  9. 要在庫瀏覽器中查看新子庫,請右鍵點擊庫列表并選擇Refresh Library Browser

    ed1f06e0-0dd7-11ee-962d-dac502259ad0.png

    下圖顯示了示例子庫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

ed387288-0dd7-11ee-962d-dac502259ad0.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • matlab
    +關(guān)注

    關(guān)注

    181

    文章

    2960

    瀏覽量

    230029
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1009

    瀏覽量

    35229
收藏 人收藏

    評論

    相關(guān)推薦

    請問如何在matlab建立適應(yīng)度函數(shù)?

    請教各位大神,如何在matlab建立適應(yīng)度函數(shù),具體公式是什么
    發(fā)表于 08-27 21:57

    何在stm32芯片上實現(xiàn)MBD設(shè)計

    何在stm32芯片上實現(xiàn)MBD設(shè)計??目前開放的底層工具包有兩種。(1)waijung (2)ST官網(wǎng)目前使用著兩個都一般,各有優(yōu)勢,都需要進一步完善。 案例(1)LED燈項目(
    發(fā)表于 08-17 07:12

    何在Matlab建立四旋翼飛行模型

    本文將詳細展示如何在Matlab建立四旋翼飛行模型,能正確對飛行器在力和力矩作下的線運動、角運動進行6DOF仿真。
    發(fā)表于 09-15 07:46

    請問如何在MATLAB建立合適的控制模型?

    何在MATLAB建立合適的控制模型?
    發(fā)表于 10-13 08:04

    何在IAR建立的工程開啟FPU并使用DSP

    CMSIS的DSP提供了哪些功能?如何在IAR建立的工程開啟FPU并使用DSP呢?
    發(fā)表于 10-20 08:04

    何在stm32芯片上去實現(xiàn)MBD設(shè)計呢

    何在stm32芯片上去實現(xiàn)MBD設(shè)計呢?求解答
    發(fā)表于 11-19 06:03

    如何建立一個屬于自己的AVR的RTOS

    這篇筆記雖然是“51操作系統(tǒng)學(xué)習筆記”,但沒有找到合適的代碼。用楊明記的感覺還有點難度。因而轉(zhuǎn)學(xué)《建立一個屬于自己的AVR的RTOS》這篇文章絕對是學(xué)操作系統(tǒng)入門經(jīng)典之作。經(jīng)典之處在于非常符合大家
    發(fā)表于 11-24 06:31

    何在MBD實現(xiàn)DAC?

    我正在使用 NXP S32k148 工具箱,我想在我想使用數(shù)模轉(zhuǎn)換器(即 DAC)的地方構(gòu)建模型。那么我可以在這里使用哪個工具箱?或者如何在 MBD 實現(xiàn) DAC(數(shù)模轉(zhuǎn)換器)。
    發(fā)表于 04-07 12:50

    何在s32k mbd中使用計時器?

    我想在 s32k mbd 中使用計時器,我必須在其中計算將軸原始值轉(zhuǎn)換為陀螺儀角度的時間。我如何在 mbd 中使用它?
    發(fā)表于 04-10 09:39

    如何建立一個屬于自己的AVR的RTOS

    如何建立一個屬于自己的AVR的RTOS 自從03 年以來,對單片機的RTOS 的學(xué)習和應(yīng)用的熱潮可謂一浪高過一浪.03 年,在離開校園前的,非典的那幾個月,在華師的
    發(fā)表于 03-11 09:02 ?45次下載

    何在matlab實現(xiàn)Virtual Reality 技術(shù)

    何在matlab實現(xiàn)Virtual Reality 技術(shù),資料的代碼很全,步驟很清晰,很實用,歡迎大家下載交流。
    發(fā)表于 06-03 16:57 ?0次下載

    何在Altium Designer上面建立自己的3D

    本文檔的主要內(nèi)容詳細介紹的是如何在Altium Designer上面建立自己的3D圖文解析。
    發(fā)表于 11-27 08:00 ?0次下載
    如<b class='flag-5'>何在</b>Altium Designer上面<b class='flag-5'>建立</b><b class='flag-5'>自己</b>的3D<b class='flag-5'>庫</b>

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

    此講座將結(jié)合新產(chǎn)品的特性,重點介紹如何在MATLAB?開發(fā)基于像素流的視頻和圖像處理的算法,并通過HDL代碼產(chǎn)生的技術(shù)快速在FPGA上實現(xiàn)。你將了解到:如
    的頭像 發(fā)表于 08-29 06:08 ?2837次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>MATLAB</b><b class='flag-5'>中</b>開發(fā)基于像素的視頻和圖像處理算法

    何在Matlab建立屬于自己

    本期講解如何在Matlab建立屬于自己
    的頭像 發(fā)表于 06-19 11:10 ?2882次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Matlab</b><b class='flag-5'>中</b><b class='flag-5'>建立</b><b class='flag-5'>屬于</b><b class='flag-5'>自己</b>的<b class='flag-5'>庫</b>

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

    我們知道,MBD是通過建立模型來生成代碼,然而并不是所有的代碼都能建立模型,嵌入式系統(tǒng)的底層驅(qū)動(Low Level Drivers,LLD)就
    發(fā)表于 07-13 09:31 ?885次閱讀
    底層驅(qū)動為啥是<b class='flag-5'>MBD</b>的“禁區(qū)”?