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

    文章

    6792

    浏览量

    88725
  • 自动化
    +关注

    关注

    29

    文章

    5467

    浏览量

    78978
收藏 人收藏

    评论

    相关推荐

    Matlab/Simulink/Stateflow建模开发及仿真测试

    matlab 模拟仿真 熟悉Matlab/Simulink/Stateflow建模开发及仿真测试,熟悉V模型开发流程。 熟悉自动代码生成,能够编写或者配置自动代码生成脚本。
    发表于 10-24 17:23

    simulink动态系统建模仿真-第9章

    电子发烧友网站提供《simulink动态系统建模仿真-第9章.ppt》资料免费下载
    发表于 07-26 11:47 1次下载

    机械自动化和电气自动化区别是什么

    机械自动化和电气自动化是现代工业生产中两个重要的领域,它们在许多方面有着密切的联系,但也存在一些明显的区别。 一、基本概念 机械自动化 机械自动化是指利用机械设备、传感器、控制系统等技
    的头像 发表于 07-01 09:33 3418次阅读

    机械自动化自动化的一种吗

    引言 自动化技术是指利用控制装置对生产过程进行控制,以实现生产过程的自动化。机械自动化自动化技术的一种,它主要涉及到使用机械设备和控制系统来实现生产过程的
    的头像 发表于 07-01 09:32 1471次阅读

    工业自动化中的控制方式

    方式,包括反馈控制、前馈控制、最优控制、分散控制以及智能控制等,并结合相关数字和信息进行阐述,以期为工业自动化领域的研究和应用提供参考。
    的头像 发表于 06-17 11:41 652次阅读

    如何实现PLC的自动化控制逻辑

    地提高了生产效率和设备运行的稳定性。本文将详细介绍如何实现PLC的自动化控制逻辑,包括PLC的基本概念、编程工具、逻辑实现方法以及实际应用案例。
    的头像 发表于 06-15 16:44 1006次阅读

    机械制造与自动化自动化类吗

    机械制造与自动化自动化领域的一个重要分支,它涉及到机械设计、制造、检测、控制等多个方面,是现代制造业的核心组成部分。 机械制造与自动化是指利用计算机、机器人、传感器等自动化设备和技术
    的头像 发表于 06-11 11:18 1371次阅读

    工业自动化自动化区别是什么

    工业自动化自动化是两个密切相关但又有所区别的概念。在这篇文章中,我们将详细探讨它们之间的区别,以及它们在现代工业生产中的应用。 一、自动化的定义
    的头像 发表于 06-11 11:13 1451次阅读

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

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

    非标自动化设备

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

    DC电源模块在工业自动化中的关键应用案例分析

    DC电源模块在工业自动化中的关键应用案例分析
    的头像 发表于 12-21 10:36 398次阅读
    DC电源模块在工业<b class='flag-5'>自动化</b>中的关键应用案例<b class='flag-5'>分析</b>

    电源测试怎么自动化?电源模块自动化测试系统如何实现?

    纳米软件在电测行业深耕十余年,在行业的大背景下,为了进一步完善自动化测试,开发出了新的智能的电源模块自动化测试系统ATECLOUD-POWER,实现自动化测试,
    的头像 发表于 12-15 14:40 784次阅读
    电源测试怎么<b class='flag-5'>自动化</b>?电源模块<b class='flag-5'>自动化</b>测试系统如何实现?

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

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

    浅析中国工业自动化与智能应用

    自动化驱动产品与智能操控系统主要用于工业自动化中的设备自动化领域,其中自动化驱动产品是实现设备单机自动化的核心部件;智能操控系统是在设备单机
    发表于 12-01 10:11 890次阅读
    浅析中国工业<b class='flag-5'>自动化</b>与智能<b class='flag-5'>化</b>应用

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

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