分享

[转载]模型化开发过程中要基本掌握的Matl…

 stevin_lib 2018-07-18

    基于模型设计其实是一种设计方法,当然建模的软件以及代码生成工具也不是只有Matlab/Simulink这一种,比如还有Labview、以及ETAS公司的ASCET等等。当然前者由于需要特定板卡支持,而且系统移植性不好,在基于模型的设计中用的较少,更多的被用于测试领域;后者一般用于汽车行业,其实更多的用于博世集团的研发体系中。同时由于matlab\simulink在各个工程领域以及数学领域的广泛应用,以及比较开放灵活的软件构架更多的赢得了或者说是引领的基于模型的设计这片市场。

 

    现在越来越多的工程师使用Matlab/Simulink或者基于matlab平台的软件(比如dSPACE)进行模型化嵌入式开发。

 

    在基于模型开发的工作过程中一般要掌握如下工具或者知识:

 

    1、基础的M语言:用来初始化变量、定义信号、使用命令行调用模型进行仿真,编写测试脚本等等。

 

    2、SImulink、Stateflow:基本的图形化建模工具,逻辑系统的建模放在Stateflow更为合适。

 

    3、Simulink的数据类型和数据接口的管理:这里比较有用的两个工具ModelExplorer、DataObjectWizard。前者可以方便查看模型各个层次中包含的数据和信号,以及他们的定义,相当于一个数据字典;后者可以批量的进行数据和信号的类型的变更;

 

    4、模型的层次化管理:这里一般有几种方法主要是对模型进行封装和划分:Subsystem、Autosubsystem、Modellibrary、Modelreference等几种形式,其中可以对生成代码有影响的是后三种,第一种为虚拟化的层次结构。Autosubsystem通过配置可以影响到子模块是否生成的函数;Modellibrary一般是不经常修改的、通用的模块做成自定义库,有点类似标准件,可以随用随调;Modelreference一般是在多人协作时,最后集成模型调用各个工程师的模块时使用,可以方便的进行模块的修改,然后再主模型中刷新即可,而且可以将子模块生成单独的c文件和头文件。

 

     5、EmbedCoder的配置:老的版本中也叫RTW 模型的配置选项中诸多选项对模型的生成的代码的风格,注释,文件的多少都有直接的影响,这里不细说。

 

     6、外部代码的使用和集成方法。

 

     掌握到上面的内容就可以进行简单的模型设计仿真及代码生成工作了。如果要生成高质量的产品级代码可能还要掌握更多的工具,比如:Fixed-Piont(定点工具)、Model Advisor(模型规范化的工具)、ParameterEstimation(参数优化工具),如果要做测试工作还需要了解测试覆盖率的知识,以及怎么使用相关的工具箱进行覆盖率的检验和补充。

 

    本人暂时就想到和用到的也就这么多,以后再补充好了。

 

    另外想对刚出校园刚接触模型化开发的年轻工程师说的一点,Simulink只是一个方便开发的工具,它并不能直接的把你脑中的模糊概念,一口气帮你实现,不是说有了这个工具,基本的编程语言就可以不掌握了,只有更好的掌握了基础语言、数据类型,理解了编程思想和微机运行的本质原理,才能更好的用好这些上层的工具实现你脑中的想法。

 

   

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多