0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Simulink的MAAB建模規(guī)范都說了啥?

冬至子 ? 來源:電力電子雜談 ? 作者:陳四川 ? 2023-07-13 10:08 ? 次閱讀

相信很多人都會(huì)和simulink打交道,用來仿真算法、生成代碼、構(gòu)建plant做測(cè)試。simulink的好處就是模塊拖過來、一連線就可以用,所見即所得,so easy!為什么還要談規(guī)范呢?

我們建立模型的目的,是為了實(shí)現(xiàn)一定的功能。如果是你一個(gè)人參與的工作,模型搭建完一段時(shí)間后你也許還會(huì)回來打開重新看看,解決一下bug、重理一下思路。如果你們是一個(gè)團(tuán)隊(duì),每個(gè)人做一部分建模的工作,就需要統(tǒng)一大家的建模風(fēng)格,這樣任何一個(gè)人的工作都能確保別人在短時(shí)間內(nèi)能理解和使用。如果大家有過代碼編程的經(jīng)歷,相信都知道拿到別人的混亂的代碼,去理解他背后的設(shè)計(jì)思想是一件多么痛苦的事情。如果這個(gè)別人就是你自己,你在心里就會(huì)反復(fù)的在問自己當(dāng)初為什么,為什么!

模型也跟代碼一樣,只是它是用圖形化的方式去表達(dá)設(shè)計(jì)思想而已。沒有規(guī)矩就不成方圓,合理的統(tǒng)一建模規(guī)范,有很多好處,比如:

  • 便于將各子模型做集成
  • 統(tǒng)一接口定義
  • 模型、代碼、文檔的統(tǒng)一風(fēng)格顯示
  • 模型復(fù)用性
  • 模型易讀性
  • 模型易維護(hù)性
  • 模型無障礙交流、傳遞

如果你不知道上述優(yōu)點(diǎn)的具體含義,你就理解為建??梢愿?高大上 、逼格更高就行了。

那具體的建模規(guī)范內(nèi)容有哪些?怎么遵循呢?這就不得不提MAAB了。

MAAB

mathworks自己在官網(wǎng)上已經(jīng)發(fā)布了具體的建模規(guī)范,MAAB( MathWorks Automotive Advisory Board)。

這個(gè)規(guī)范最開始的初衷并不是要弄一個(gè)建模規(guī)范出來,而是mathworks在汽車行業(yè)里有些重要的客戶,比如 Ford, Daimler Benz, and Toyota等,他們?cè)谑褂胹imulink的過程中,會(huì)對(duì)mathworks公司提出很多新功能的需求,為了統(tǒng)一他們提需求的規(guī)范,建立了MAAB?,F(xiàn)在MAAB更新到3.0了,度娘第一屏結(jié)果就能找到。

舉個(gè)栗子

MAAB里面講了simulink和stateflow的建模規(guī)范,100多頁(yè),上百條的規(guī)范。以后有時(shí)間我會(huì)挑一些重要的內(nèi)容寫出來。這里給大家舉個(gè)簡(jiǎn)單的例子,看看都是哪些類型的建模規(guī)范。

比如項(xiàng)目要實(shí)現(xiàn)一個(gè)模塊,模塊的輸入是一個(gè)模擬量in,模塊的輸出分兩部分,一是out1=3*in+1,二是如果in大于1,就輸出真,否則就輸出假。

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

圖片

這模型很簡(jiǎn)單吧,這樣搭建肯定能實(shí)現(xiàn)功能需求,但從建模規(guī)范的角度,有很多不合理的地方。修改了一下,得到如下模型,大家可以找找不同。

圖片

命名規(guī)范

maab中關(guān)于文件、路徑、變量、信號(hào)的命名都有規(guī)定。通常來說只能用大小寫字母、阿拉伯?dāng)?shù)字和“_”。最常犯的錯(cuò)誤就是用 空格 ??梢韵胂?a href="http://ttokpm.com/soft/data/21-24/" target="_blank">C語(yǔ)言里面,變量命名能加空格嗎?用空格對(duì)于后期寫腳本處理,也會(huì)帶來麻煩。

當(dāng)然有的公司自定義的規(guī)范里,也不許用"_",那命名就只能用駱駝方法,寫成MyIn,MyOut1, MyOut2這樣。

信號(hào)流向

按照大家的閱讀習(xí)慣,信號(hào)一定要從左到右流動(dòng)。也即輸入口在左邊,輸出口在右邊。讀模型的時(shí)候,大家的習(xí)慣都是先找輸入模塊,然后再看信號(hào)經(jīng)過了哪些模塊的處理,到哪里輸出了。

圖片

上面的錯(cuò)誤例子里面,讀者打開模型后,首先要找到正上方的輸入口,然后還要看goto連到了哪些from模塊,腦子要轉(zhuǎn)一大圈,很費(fèi)勁,體驗(yàn)感很差。

信號(hào)名

對(duì)于模型的輸入輸出口(包括bus、goto等),一定要有明確的命名,這主要是從模型易讀性、代碼生成、后期驗(yàn)證測(cè)試等方面考慮的。

圖片

模塊名

如果通過模塊的外觀,就能很明確的知道該模塊的功能,那就應(yīng)該隱藏模塊名。比如例子里面的add、constant、compare等模塊。

模塊參數(shù)

重要的模塊參數(shù),應(yīng)該顯式的表示出來。比如例子里面的乘法系數(shù)3、加法1、比較值1等。

具體的實(shí)現(xiàn)方法是,模型點(diǎn)擊右鍵properties->block annotaiton。

圖片

有人會(huì)問,例子里面的乘法系數(shù)不是已經(jīng)在模塊中間顯示出來了,為啥還要多此一舉?想想這種情況,如果gain的參數(shù)不是一個(gè)很短的一個(gè)數(shù)字,如果是3.1414926怎么辦?是把gain模塊拉得很長(zhǎng)來顯示嗎?

圖片

比較模塊

盡量用顯示比較模塊,這樣更容易閱讀。特別是switch模塊,輸入最好用u2~=0選項(xiàng)。

錯(cuò)誤的例子:

圖片

正確的例子:

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18930

    瀏覽量

    227298
  • 比較器
    +關(guān)注

    關(guān)注

    14

    文章

    1616

    瀏覽量

    106840
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134229
  • simulink仿真
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    8527
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Simulink建模與仿真教程

    ;quot;showtopic" title="simulink建模與仿真 下載" href="https
    發(fā)表于 04-19 22:21

    PDM+PLL調(diào)功simulink建模

    基于PDM對(duì)諧振逆變器功率調(diào)節(jié),同時(shí)PLL實(shí)現(xiàn)頻率跟蹤,用simulink建模仿真,請(qǐng)問各位大俠,怎樣建模?
    發(fā)表于 09-17 15:21

    西電《simulink建模與仿真》課

    西電《simulink建模與仿真》課
    發(fā)表于 11-19 16:37

    simulink建模仿真

    simulink仿真電子建模
    發(fā)表于 09-17 22:18

    simulink離合器建模

    simulink的離合器建模
    發(fā)表于 01-19 16:44

    Simulink建模與仿真的流程是怎樣的?

    什么是Simulink?Simulink建模與仿真的流程是怎樣的,大家一起分享啊
    發(fā)表于 06-22 08:06

    simulink建模與調(diào)試的相關(guān)資料分享

    《基于模型的設(shè)計(jì)_MCU篇(書簽)》【MATLAB simulinksimulink 建模與調(diào)試一些常用的模塊庫(kù);commonly used block;continuous;math
    發(fā)表于 11-04 07:49

    simulink建模與仿真 下載

    simulink建模與仿真目錄n第1章緒論n 第2章Simulink使用基礎(chǔ)n 第3章動(dòng)態(tài)系統(tǒng)模型及其Simulink表示n 第4章創(chuàng)建Simuli
    發(fā)表于 06-16 13:03 ?423次下載

    Simulink建模和仿真

    Simulink建模和仿真 支持Matlab仿真是Simulink工具箱,Simulink一般可以附在Matlab上同時(shí)安裝,也有獨(dú)立版本來單獨(dú)使用。但大多數(shù)用戶都是附在Matlab
    發(fā)表于 04-30 11:33 ?251次下載

    SIMUlink的異步電機(jī)的建模與仿真講解

    SIMUlink的異步電機(jī)的建模與仿真SIMUlink的異步電機(jī)的建模與仿真SIMUlink的異步電機(jī)的
    發(fā)表于 12-28 18:10 ?0次下載

    Simulink建模仿真實(shí)例快速入門

    Simulink建模仿真實(shí)例詳解Simulink建模仿真實(shí)例詳解Simulink建模仿真實(shí)例詳解
    發(fā)表于 12-28 18:15 ?0次下載

    simulink建模與仿真1

    第5章 simulink建模與仿真1第5章 simulink建模與仿真1第5章 simulink建模
    發(fā)表于 12-29 10:35 ?0次下載

    使用MATLAB和Simulink建模與仿真詳細(xì)課件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用MATLAB和Simulink建模與仿真詳細(xì)課件免費(fèi)下載包括了:1.MATLAB軟件,2.簡(jiǎn)介MATLAB仿真實(shí)例,3.什么是 Simulink?,4.Sim
    發(fā)表于 11-04 17:17 ?137次下載
    使用MATLAB和<b class='flag-5'>Simulink</b>的<b class='flag-5'>建模</b>與仿真詳細(xì)課件免費(fèi)下載

    Simulink建模規(guī)范(MAAB)之模型架構(gòu)設(shè)計(jì)

    更多精彩干貨分享,請(qǐng)關(guān)注我的個(gè)人微信公眾號(hào):MBD開發(fā)者星球;?1、na_0006: Guidelines for mixed use of Simulink and Stateflow ID
    發(fā)表于 11-05 20:51 ?9次下載
    <b class='flag-5'>Simulink</b><b class='flag-5'>建模</b><b class='flag-5'>規(guī)范</b>(<b class='flag-5'>MAAB</b>)之模型架構(gòu)設(shè)計(jì)

    simulink的stateflow建模規(guī)范

    建模規(guī)范適用于電動(dòng)車整車控制策略開發(fā)階段,快速原型模型的開 發(fā)和維護(hù)。 預(yù)期讀者對(duì)象為:熟悉整車結(jié)構(gòu),具有較強(qiáng)的 Simulink/Stateflow 建 模能力,并熟悉整車控制思想的相關(guān)專業(yè)人員。
    發(fā)表于 08-31 14:53 ?5次下載