0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Matlab中建立属于自己的库(针对公司设计MBD产品)

Linelayout4 来源:新能源入门客 2023-06-19 11:06 次阅读


本期讲解如何在Matlab中建立属于自己的库,针对于公司设计相关MBD产品
步骤如下:

将库添加到库浏览器中

此示例说明如何创建模块库,并将其添加到 Simulink库浏览器中。此示例还显示如何添加子库。

要指定与您的库相关的信息,您可以创建名为slblocks的函数。

将库添加到库浏览器

  1. Simulink 起始页上,选择Blank Library并点击Create Library

    注意

    库浏览器仅支持库。您无法在库浏览器中显示模型的内容。

  2. 向该库添加一个 Gain 模块。

  3. 在 MATLAB命令行窗口中,输入以下命令将EnableLBRepository库属性设置为'on'。当您保存库时,只有此属性设置为 on,您的库才会出现在库浏览器中。

    set_param(gcs,'EnableLBRepository','on');
  4. 将库保存到 MATLAB 路径上的文件夹中。对于本示例,将库命名为mylib

  5. 在 MATLAB 当前文件夹浏览器中,打开包含mylib的文件夹,然后在 MATLAB 工具条中点击New Script

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

  7. 将函数另存为slblocks.m

    注意

    您可以将该函数保存为.m.mlx文件。但不能另存为 P 代码文件。

  8. 通过点击 Simulink 工具条中的Library Browser打开库浏览器。

  9. 要在库浏览器中查看新库,请右键点击库列表并选择Refresh Library Browser

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

    下图显示了示例库mylib,它在库浏览器中的名称为My Library

注意

如果您保存库时没有将'EnableLBRepository'设置为'on',库浏览器的顶部将显示一条消息。

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

请点击Fix并根据提示进行操作。

将子库添加到库浏览器

按照以下步骤将名为mylib2的子库添加到您的mylib库中。

  1. 创建名为mylib2的库。将几个模块添加到该库。

  2. 在 MATLAB 命令行窗口中,为新库将EnableLBRepository库属性设置为'on'

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

  4. 向该mylib库添加一个 Subsystem 模块。

  5. 通过删除子系统中的 Inport 和 Outport 模块,从子系统中删除输入和输出端口

  6. 将Subsystem模块命名为My Sublibrary

  7. 要将Subsystem模块链接到子库,请使用属性检查器将OpenFcn回调设置为mylib2

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

  8. 保存mylib

  9. 要在库浏览器中查看新子库,请右键点击库列表并选择Refresh Library Browser

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

    下图显示了示例子库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

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    175

    文章

    2922

    浏览量

    228441
  • 浏览器
    +关注

    关注

    1

    文章

    974

    浏览量

    34418
收藏 人收藏

    评论

    相关推荐

    何在protel元件快速找到自己所需元件所在的元件

    何在protel元件快速找到自己所需元件所在的元件???是否有比较快的方法?还是得靠经验???求帮助,,谢谢了!
    发表于 02-23 18:50

    请问如何在matlab建立适应度函数?

    请教各位大神,如何在matlab建立适应度函数,具体公式是什么
    发表于 08-27 21:57

    何在stm32芯片上实现MBD设计

    何在stm32芯片上实现MBD设计??目前开放的底层工具包有两种。(1)waijung (2)ST官网目前使用着两个都一般,各有优势,都需要进一步完善。 案例(1)LED灯项目(
    发表于 08-17 07:12

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

    本文将详细展示如何在Matlab建立四旋翼飞行模型,能正确对飞行器在力和力矩作下的线运动、角运动进行6DOF仿真。
    发表于 09-15 07:46

    请问如何在MATLAB建立合适的控制模型?

    何在MATLAB建立合适的控制模型?
    发表于 10-13 08:04

    何在IAR建立的工程开启FPU并使用DSP

    CMSIS的DSP提供了哪些功能?如何在IAR建立的工程开启FPU并使用DSP呢?
    发表于 10-20 08:04

    何在stm32芯片上去实现MBD设计呢

    何在stm32芯片上去实现MBD设计呢?求解答
    发表于 11-19 06:03

    如何建立一个属于自己的AVR的RTOS

    这篇笔记虽然是“51操作系统学习笔记”,但没有找到合适的代码。用杨明记的感觉还有点难度。因而转学《建立一个属于自己的AVR的RTOS》这篇文章绝对是学操作系统入门经典之作。经典之处在于非常符合大家
    发表于 11-24 06:31

    怎样去创建属于自己的Iconfont图标

    怎样去创建属于自己的Iconfont图标呢?有哪些操作步骤?
    发表于 02-22 07:05

    M24LR04E-R EEPROM如何在收发器和MatLab之间建立通信?

    玩过 M24LRxx 应用程序来读取和写入数据到 EEPROM,一切正常。我想在 MatLab 开发一个脚本来做同样的事情,然后最终在自定义 Windows 应用程序实现它。我只是想知道这是否可行,如果可行,如
    发表于 02-03 10:24

    何在MBD实现DAC?

    我正在使用 NXP S32k148 工具箱,我想在我想使用数模转换器(即 DAC)的地方构建模型。那么我可以在这里使用哪个工具箱?或者如何在 MBD 实现 DAC(数模转换器)。
    发表于 04-07 12:50

    何在s32k mbd中使用计时器?

    我想在 s32k mbd 中使用计时器,我必须在其中计算将轴原始值转换为陀螺仪角度的时间。我如何在 mbd 中使用它?
    发表于 04-10 09:39

    MATLAB的MBDT错误怎么解决?

    大家好,我在 NXP MBDT 软件安装方面遇到了一些问题。 在 MATLAB 完成软件安装后,单击“mbd_imxrt_path.m”后出现错误(如下所列)。不确定这是什么问题,但希望大家对此
    发表于 05-31 09:13

    如何建立一个属于自己的AVR的RTOS

    如何建立一个属于自己的AVR的RTOS 自从03 年以来,对单片机的RTOS 的学习和应用的热潮可谓一浪高过一浪.03 年,在离开校园前的,非典的那几个月,在华师的
    发表于 03-11 09:02 45次下载

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

    本文档的主要内容详细介绍的是如何在Altium Designer上面建立自己的3D库图文解析。
    发表于 11-27 08:00 0次下载
    如<b class='flag-5'>何在</b>Altium Designer上面<b class='flag-5'>建立</b><b class='flag-5'>自己</b>的3D库