MATLAB/Simulink如何创建自己的库

0. 前言

        本文以Matlab R2022a为实验平台,介绍在Simulink库浏览器中添加库的方法、库浏览器的库里添加子库方法、设置库在库浏览器中的位置的方法。

1. 在库浏览器中添加库

        (1)创建一个库文件。在Simulink的起始页面,点击空白库,点击创建库

(2)在新建的库文件中搭建需要的模型;以Clark变换为例,在库文件中创建模型:

(3)框选该模型,右键,点击创建子系统,得到一个模型:

 (4)模型搭建完成后,回到Matlab工作区,在工作区输入以下代码:

set_param(gcs,'EnableLBRepository','on');

只有将EnableLBRepository库属性设置为on,我们创建的库才能够被库浏览器找到。

 (5)Ctrl + S 保存库文件,命名为Math.slx

(6) 在Math.slx所在文件夹下,创建脚本文件slblocks.m,在该脚本文件中添加以下内容,并保存:

function blkStruct = slblocks

    Browser.Library = 'Math';
    % 'Math' 为库文件名,不需要带扩展名

    Browser.Name = 'Math';
    % 'Math' 是出现在库浏览器中的名词

    blkStruct.Browser = Browser;

 (7)将模型Math.slxslblocks.m文件所在的文件夹路径添加到Matlab的搜索路径中:

(8)打开Simulink库浏览器,按F5刷新,此时可以看到在库浏览器中出现了Math库与对应的模型。

2. 库浏览器的库里添加子库方法

        如果说需要将Math库作为子库,添加到另一个库(My FOC Library)中,需要按照如下操作:

(1)创建My FOC Library库文件;在Simulink的起始页面,点击空白库,点击创建库

(2)Ctrl + S 保存库文件到Math的同一个文件夹下面,命名为MyFOCLibrary.slx。 

(3)模型搭建完成后,回到Matlab工作区,在工作区输入以下代码: 

set_param(gcs,'EnableLBRepository','on');

(4)在MyFOCLibrary.slx中放入subsystem模块,在库文件中搜索subsystem模块,添加到MyFOCLibrary.slx中,并删除subsystem的输入输出,将其命名为Math。

 (5)右键单击命名为Math的Subsystem模块,选择属性,选择回调,选择OpenFcn,输入Math

 (6)在Matlab工作区输入以下代码后保存MyFOCLibrary.slx文件。

(7)将文件夹下的slblocks.m脚本文件进行修改以下内容并保存:

function blkStruct = slblocks
    Browser.Library = 'MyFOCLibrary';
    % 'MyFOCLibrary' is the name of the library

    Browser.Name = 'My FOC Library';
    % 'My FOC Library' is the library name that appears
    % in the Library Browser

    blkStruct.Browser = Browser;

(8)打开Simulink库浏览器,按F5刷新,即可看到My FOC Library库中包含了Math库。

3. 设置库在库浏览器中的位置

 (1)在需要调整位置的库的文件夹下添加sl_customization.m脚本文件,进行修改并保存:

function sl_customization(cm)
	% Change the order of libraries in the Simulink Library Browser. 
	cm.LibraryBrowserCustomizer.applyOrder({'My FOC Library',-2});
    %'My FOC Library'是要设置的库的名称,-2是库所在位置的优先级,越小排序越靠前
end

        Simulink Library Browser中各个工具箱的排列顺序是内置的,由优先级和名称2个因素决定。优先级数字越小工具箱排位越靠前;对于同一优先级的工具箱按照字母顺序排列。默认情况下Simulink库优先级为-1,其他工具箱优先级为0。

(2)在Matlab工作区输入以下代码:

sl_refresh_customizations

(3)重新打开库浏览器,可以看见My FOC Library被提到了最上面。

### STM32 SIMULINK 模型下载与使用教程 #### 准备工作 为了顺利配置并使用STM32的Simulink模型,需准备如下环境: - MATLAB 2018b 或更新版本软件[^2] - 安装有STM32工具箱 (STM32-MAT/TARGET)[^2] - STM32CubeMX V5.6.0 版本及以上图形化软件 #### 下载安装支持包 对于想要利用Simulink进行STM32项目开发而言,获取正确的支持包至关重要。具体操作为通过MathWorks官方网站下载适用于STMicroelectronics STM32处理器的支持包——Embedded Coder Support Package for STMicroelectronics STM32 Processors[^3]。 #### 配置开发环境 完成上述准备工作之后,启动MATLAB,并按照提示逐步安装已下载的支持包文件。安装完成后重启MATLAB使更改生效。此时应该可以在Simulink Library Browser中看到新增加的相关模块,这表明已经成功集成了用于STM32的目标硬件支持功能。 #### 创建新工程 打开STM32CubeMX创建一个新的工程项目,设置好目标芯片型号以及所需初始化的外设资源后导出至指定路径下的空白Simulink工程目录下[^1]。 #### 构建Simulink模型 进入MATLAB界面内的Simulink编辑器构建所需的控制逻辑框图;期间可以调用之前提到过的特定于STM32系列MCU的功能模块来简化设计流程。当涉及到具体的GPIO引脚配置时,则应参照所选用的具体型号数据手册来进行合理规划。 #### 编译部署固件 最后一步是在确保整个系统的连接无误情况下编译生成最终可用于实际运行的二进制映像文件(.bin),并通过编程器将其写入到物理器件当中去验证效果。 ```matlab % 示例:简单的LED闪烁程序编写过程中的部分命令行指令 set_param('model_name', 'TargetHWDeviceType', 'ARM Cortex-A/R/M') slbuild('model_name') % 编译模型 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无法复原的锟斤拷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值