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

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

3天内不再提示

关于Simulink的建模自动化的分析和说明以及应用

MATLAB 来源:djl 作者:龚小平 2019-09-16 17:32 次阅读

随着Simulink模型的产品化开发进程,许多模型开发人员会关心模型的建模自动化问题。比如如何对模型中的元素进行批量查找和修改;如何构建自己的建模规则对模型进行检查;如何实现测试自动化等。在这些使用场景中我们都需要了解一些Simulink函数,或者称之为Simulink API。以下我们通过两个小例子来演示Simulink常见函数的功能吧。

案例一:自动创建并保存Simulink模型

% 新建一个名为‘mymodel’的模型,并返回句柄值h

h = new_system('mymodel');

% 打开刚才新创建的模型

open_system(h);

% 保存模型并重命名为‘newsysname’

save_system('mymodel', 'newsysname.slx');

% 或者做一些防错处理,如在MATLAB路径中发现已有待保存的同名模型时给出命令行提示

save_system('mymodel','newsysname.slx','ErrorIfShadowed',true);

接下来可以创建MATLAB快捷方式,取名为‘createModel’,将上述代码作为快捷方式的回调函数,这样在需要快速新建一个模型,直接点击该快捷方式即可。

关于Simulink的建模自动化的分析和说明以及应用

案例二:批量查找并修改Simulink模块

%创建一个名为setBlocks的函数,用于批量修改模型中的所有输入模块的数据类型

function setBlocks(sys)

%查找模型中所有模块类型为Inport的模块,并将结果保存到blk中

blk = find_system(sys,'BlockType','Inport');

blk会返回查找到的所有符合条件的模块对象:

关于Simulink的建模自动化的分析和说明以及应用

%在for循环中依次修改所得模块的属性

for n=1:length(blk)

set_param(blk{n},'OutDataTypeStr','int16')

end

最后在命令行中调用上述函数,输入参数为模型名。

>>setBlocks('test')

调用setBlocks前的test模型如下:

关于Simulink的建模自动化的分析和说明以及应用

调用setBlocks后的test模型:

关于Simulink的建模自动化的分析和说明以及应用

小贴士

在需要察看模块具备哪些属性时,可将鼠标单击该模块并在命令行输入:

>>inspect (gcbh)

即可打开如下属性观测器:

关于Simulink的建模自动化的分析和说明以及应用

在上述案例中我们用到了Simulink的new_system, open_system, save_system, find_system, set_Param等API, 此外更多的API可以在MATLAB的帮助文档中找到,灵活运用这些API可以帮助提高建模效率,实现许多很酷又实用的功能。

精彩技术文章

老胡专栏:自动生成的代码支持哪些硬件平台?

怎样生成我想要的C代码系列

解锁隐藏技能 | 使用Stateflow调用外部C代码

移动通信的时代 | MATLAB加速移动通信技术的研发

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

    关注

    8

    文章

    6515

    浏览量

    87635
  • 自动化
    +关注

    关注

    28

    文章

    5043

    浏览量

    77791
收藏 人收藏

    评论

    相关推荐

    电路仿真软件simulink的工作原理

    Simulink是MATLAB的一个模块,它采用图形化的方式来创建动态系统模型并进行仿真分析Simulink的工作原理主要基于模块化的建模和仿真方式。
    的头像 发表于 03-29 15:21 278次阅读

    非标自动化设备

    1、非标自动化设备 2、根据需求设计和制造 3、完成代替人工的目标
    发表于 03-25 09:52

    simulink常用模块有哪些 simulink模块执行顺序

    Simulink是一个基于图形的仿真环境,广泛应用于动态系统和控制设计的多领域建模和仿真。
    的头像 发表于 02-18 17:18 1163次阅读

    TC397怎么自动化烧录?

    TC397第一次烧录的时候需要先烧录六个包,使用Infineon Memtool 4.8软件,如果想要量产,怎么实现不用手动选择文件的烧录方式,使用自动化烧录
    发表于 01-25 07:03

    ETC自动化测试系统ETC Runsys. #ETC #自动化测试 #OBU #RSU

    自动化测试
    度纬仪器
    发布于 :2024年01月12日 10:01:20

    分布式IO工业自动化数据采集与分析的核心

    随着工业自动化技术的不断发展,分布式IO在工业自动化领域的应用越来越广泛。作为一种先进的控制技术,分布式IO能够实现设备的分布式控制和监测,提高生产效率、降低能耗和减少故障率。 分布式IO可以提高
    发表于 12-28 14:47

    LabVIEW与Tektronix示波器实现电源测试自动化

    MDO MSO DPO2000/3000/4000系列示波器,开发一个自动化测试项目。该项目旨在自动化执行一系列电子信号的捕获、分析和报告生成,提高测试过程的效率和准确性。 项目的核心在于实现测试流程
    发表于 12-09 20:37

    自动化建模和优化112G封装过孔 ——封装Core层过孔和BGA焊盘区域的阻抗优化

    自动化建模和优化112G封装过孔 ——封装Core层过孔和BGA焊盘区域的阻抗优化
    的头像 发表于 11-29 15:19 254次阅读
    <b class='flag-5'>自动化</b><b class='flag-5'>建模</b>和优化112G封装过孔 ——封装Core层过孔和BGA焊盘区域的阻抗优化

    基于Arduino的家庭自动化项目

    包含相关代码、详细图文、物料表一个简单的基于DIY Arduino的家庭自动化项目,它使用土壤湿度传感器、泵和其他电子元件来自动浇水植物。它由一个适合室内园艺的混凝土花盆箱组成。自流式播种机也可作为水培系统使用。电气系统可根据农业和农业需求
    发表于 09-26 08:16

    基于机器视觉和运动控制的工业自动化介绍

    运动控制 • 精确的位置控制 – 多轴协调 – 选择放置, 成形切削 – 自动化测试, DUT处理 • 精确的速度控制 – 传送带,变速电动机 • 高速I/O同步
    发表于 09-19 06:25

    工厂自动化解决方案和调试

    工厂自动化 提高生产效率,产品利用率高得多,减少人工手工作业,节约能源和资源。云计算新技术、预测分析、机器学习使能源及公用事业公司能够建立数字客户模型。智能制造可减少空气污染,实现弹性运转,改善人们生活。
    发表于 09-07 07:21

    工厂自动化系统分享

    工厂自动化结构 PLC系统应用 IO-Link系统解决方案 工厂自动化中的工业机器人 问答环节
    发表于 09-07 06:32

    求一种基于Simulink搭建的柴油发动机建模方法

    汽油机和柴油机是目前汽车中最为广泛使用的动力源。其中,本期带来基于Simulink搭建的柴油发动机建模方法。
    发表于 06-29 11:26 1513次阅读
    求一种基于<b class='flag-5'>Simulink</b>搭建的柴油发动机<b class='flag-5'>建模</b>方法

    00009 自动化控制必学的重点内容 #自动化 #电气

    自动化控制
    学习电子知识
    发布于 :2023年05月06日 22:56:52