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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

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

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

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

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

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

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

MAAB

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

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

舉個栗子

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

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

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

圖片

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

圖片

命名規(guī)范

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

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

信號流向

按照大家的閱讀習慣,信號一定要從左到右流動。也即輸入口在左邊,輸出口在右邊。讀模型的時候,大家的習慣都是先找輸入模塊,然后再看信號經過了哪些模塊的處理,到哪里輸出了。

圖片

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

信號名

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

圖片

模塊名

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

模塊參數

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

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

圖片

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

圖片

比較模塊

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

錯誤的例子:

圖片

正確的例子:

圖片

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

    關注

    68

    文章

    19293

    瀏覽量

    229965
  • 比較器
    +關注

    關注

    14

    文章

    1651

    瀏覽量

    107232
  • C語言
    +關注

    關注

    180

    文章

    7605

    瀏覽量

    136934
  • simulink仿真
    +關注

    關注

    0

    文章

    75

    瀏覽量

    8579
收藏 人收藏

    評論

    相關推薦

    Simulink建模與仿真教程

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

    PDM+PLL調功simulink建模

    基于PDM對諧振逆變器功率調節(jié),同時PLL實現(xiàn)頻率跟蹤,用simulink建模仿真,請問各位大俠,怎樣建模?
    發(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建模與仿真的流程是怎樣的?

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

    simulink建模與調試的相關資料分享

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

    simulink建模與仿真 下載

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

    Simulink建模和仿真

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

    SIMUlink的異步電機的建模與仿真講解

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

    Simulink建模仿真實例快速入門

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

    simulink建模與仿真1

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

    Simulink建模規(guī)范(MAAB)之模型架構設計

    更多精彩干貨分享,請關注我的個人微信公眾號: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>)之模型架構設計

    simulink的stateflow建模規(guī)范

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

    金句來了!聽深開鴻和TA的伙伴們都說了什么?

    金句來了!聽深開鴻和TA的伙伴們都說了什么?
    的頭像 發(fā)表于 09-30 08:06 ?325次閱讀
    金句來了!聽深開鴻和TA的伙伴們<b class='flag-5'>都說了</b>什么?