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

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

3天内不再提示

Simulink的MAAB建模规范都说了啥?

冬至子 来源:电力电子杂谈 作者:陈四川 2023-07-13 10:08 次阅读

相信很多人都会和simulink打交道,用来仿真算法、生成代码、构建plant做测试。simulink的好处就是模块拖过来、一连线就可以用,所见即所得,so easy!为什么还要谈规范呢?

我们建立模型的目的,是为了实现一定的功能。如果是你一个人参与的工作,模型搭建完一段时间后你也许还会回来打开重新看看,解决一下bug、重理一下思路。如果你们是一个团队,每个人做一部分建模的工作,就需要统一大家的建模风格,这样任何一个人的工作都能确保别人在短时间内能理解和使用。如果大家有过代码编程的经历,相信都知道拿到别人的混乱的代码,去理解他背后的设计思想是一件多么痛苦的事情。如果这个别人就是你自己,你在心里就会反复的在问自己当初为什么,为什么!

模型也跟代码一样,只是它是用图形化的方式去表达设计思想而已。没有规矩就不成方圆,合理的统一建模规范,有很多好处,比如:

  • 便于将各子模型做集成
  • 统一接口定义
  • 模型、代码、文档的统一风格显示
  • 模型复用性
  • 模型易读性
  • 模型易维护性
  • 模型无障碍交流、传递

如果你不知道上述优点的具体含义,你就理解为建模可以更 高大上逼格更高就行了。

那具体的建模规范内容有哪些?怎么遵循呢?这就不得不提MAAB了。

MAAB

mathworks自己在官网上已经发布了具体的建模规范,MAAB( MathWorks Automotive Advisory Board)。

这个规范最开始的初衷并不是要弄一个建模规范出来,而是mathworks在汽车行业里有些重要的客户,比如 Ford, Daimler Benz, and Toyota等,他们在使用simulink的过程中,会对mathworks公司提出很多新功能的需求,为了统一他们提需求的规范,建立了MAAB。现在MAAB更新到3.0了,度娘第一屏结果就能找到。

举个栗子

MAAB里面讲了simulink和stateflow的建模规范,100多页,上百条的规范。以后有时间我会挑一些重要的内容写出来。这里给大家举个简单的例子,看看都是哪些类型的建模规范。

比如项目要实现一个模块,模块的输入是一个模拟量in,模块的输出分两部分,一是out1=3*in+1,二是如果in大于1,就输出真,否则就输出假。

于是很快就得到了下面的模型

图片

这模型很简单吧,这样搭建肯定能实现功能需求,但从建模规范的角度,有很多不合理的地方。修改了一下,得到如下模型,大家可以找找不同。

图片

命名规范

maab中关于文件、路径、变量、信号的命名都有规定。通常来说只能用大小写字母、阿拉伯数字和“_”。最常犯的错误就是用 空格 。可以想想C语言里面,变量命名能加空格吗?用空格对于后期写脚本处理,也会带来麻烦。

当然有的公司自定义的规范里,也不许用"_",那命名就只能用骆驼方法,写成MyIn,MyOut1, MyOut2这样。

信号流向

按照大家的阅读习惯,信号一定要从左到右流动。也即输入口在左边,输出口在右边。读模型的时候,大家的习惯都是先找输入模块,然后再看信号经过了哪些模块的处理,到哪里输出了。

图片

上面的错误例子里面,读者打开模型后,首先要找到正上方的输入口,然后还要看goto连到了哪些from模块,脑子要转一大圈,很费劲,体验感很差。

信号名

对于模型的输入输出口(包括bus、goto等),一定要有明确的命名,这主要是从模型易读性、代码生成、后期验证测试等方面考虑的。

图片

模块名

如果通过模块的外观,就能很明确的知道该模块的功能,那就应该隐藏模块名。比如例子里面的add、constant、compare等模块。

模块参数

重要的模块参数,应该显式的表示出来。比如例子里面的乘法系数3、加法1、比较值1等。

具体的实现方法是,模型点击右键properties->block annotaiton。

图片

有人会问,例子里面的乘法系数不是已经在模块中间显示出来了,为啥还要多此一举?想想这种情况,如果gain的参数不是一个很短的一个数字,如果是3.1414926怎么办?是把gain模块拉得很长来显示吗?

图片

比较模块

尽量用显示比较模块,这样更容易阅读。特别是switch模块,输入最好用u2~=0选项。

错误的例子:

图片

正确的例子:

图片

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

    关注

    68

    文章

    19265

    浏览量

    229684
  • 比较器
    +关注

    关注

    14

    文章

    1650

    浏览量

    107193
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136713
  • simulink仿真
    +关注

    关注

    0

    文章

    75

    浏览量

    8575
收藏 人收藏

    评论

    相关推荐

    Simulink建模与仿真教程

    ;quot;showtopic" title="simulink建模与仿真 下载" href="https
    发表于 04-19 22:21

    PDM+PLL调功simulink建模

    基于PDM对谐振逆变器功率调节,同时PLL实现频率跟踪,用simulink建模仿真,请问各位大侠,怎样建模
    发表于 09-17 15:21

    西电《simulink建模与仿真》课

    西电《simulink建模与仿真》课
    发表于 11-19 16:37

    simulink建模仿真

    simulink仿真电子建模
    发表于 09-17 22:18

    simulink离合器建模

    simulink的离合器建模
    发表于 01-19 16:44

    Simulink建模与仿真的流程是怎样的?

    什么是SimulinkSimulink建模与仿真的流程是怎样的,大家一起分享啊
    发表于 06-22 08:06

    simulink建模与调试的相关资料分享

    《基于模型的设计_MCU篇(书签)》【MATLAB simulinksimulink 建模与调试一些常用的模块库;commonly used block;continuous;math
    发表于 11-04 07:49

    simulink建模与仿真 下载

    simulink建模与仿真目录n第1章绪论n 第2章Simulink使用基础n 第3章动态系统模型及其Simulink表示n 第4章创建Simuli
    发表于 06-16 13:03 423次下载

    Simulink建模和仿真

    Simulink建模和仿真 支持Matlab仿真是Simulink工具箱,Simulink一般可以附在Matlab上同时安装,也有独立版本来单独使用。但大多数用户都是附在Matlab
    发表于 04-30 11:33 251次下载

    SIMUlink的异步电机的建模与仿真讲解

    SIMUlink的异步电机的建模与仿真SIMUlink的异步电机的建模与仿真SIMUlink的异步电机的
    发表于 12-28 18:10 0次下载

    Simulink建模仿真实例快速入门

    Simulink建模仿真实例详解Simulink建模仿真实例详解Simulink建模仿真实例详解
    发表于 12-28 18:15 0次下载

    simulink建模与仿真1

    第5章 simulink建模与仿真1第5章 simulink建模与仿真1第5章 simulink建模
    发表于 12-29 10:35 0次下载

    Simulink建模规范(MAAB)之模型架构设计

    更多精彩干货分享,请关注我的个人微信公众号:MBD开发者星球;​1、na_0006: Guidelines for mixed use of Simulink and Stateflow ID
    发表于 11-05 20:51 9次下载
    <b class='flag-5'>Simulink</b><b class='flag-5'>建模</b><b class='flag-5'>规范</b>(<b class='flag-5'>MAAB</b>)之模型架构设计

    simulink的stateflow建模规范

    建模规范适用于电动车整车控制策略开发阶段,快速原型模型的开 发和维护。 预期读者对象为:熟悉整车结构,具有较强的 Simulink/Stateflow 建 模能力,并熟悉整车控制思想的相关专业人员。
    发表于 08-31 14:53 5次下载

    金句来了!听深开鸿和TA的伙伴们都说了什么?

    金句来了!听深开鸿和TA的伙伴们都说了什么?
    的头像 发表于 09-30 08:06 316次阅读
    金句来了!听深开鸿和TA的伙伴们<b class='flag-5'>都说了</b>什么?