天天看點

Matlab模型開發之——從模組化規範開啟旅程3 模型結構

前言:

之前給自己埋的作業,最後一篇終于來了。這章節内容不多,前兩節才是模組化規範的精華。MAAB4中介紹了一下模型的一般結構,這裡就是翻譯?總結?了一下。

指路前兩篇:

Matlab模型開發之——從模組化規範開啟旅程1 Simulink_gaoxuexidan0307的部落格-CSDN部落格_mab模組化規範

Matlab模型開發之——從模組化規範開啟旅程2 Stateflow_gaoxuexidan0307的部落格-CSDN部落格

一個功能子產品,在結構上基本可以劃分為功能層、時間計劃層、控制流層、資料流層。

功能層:廣泛的功能劃分,也就是功能子產品的頂層。就是模型的最外層哈,不多介紹。

時間計劃層:用來使用觸發子子產品或函數調用子子產品訓示過程計時,一般用于功能中含有多個獨立的子功能的情況。各個子產品之間有明顯資料流向,或沒有先後執行順序要求,不宜搭建時間計劃層。

 一般存在時序排程的時候會用到。

時間計劃層示例:

Matlab模型開發之——從模組化規範開啟旅程3 模型結構

控制流層:控制層的排列是一個用于表達一個函數中所有輸入處理、中間處理和輸出處理的層。在控制流層中,水準方向表明具有不同意義的處理,具有相同意義的子產品是垂直排列的。控制流層可以與具有函數的子產品共存。控制流層可能存在需要獨立生成代碼的函數子子產品。

為規範化,輸入處理及輸出處理包括資料類型轉換、資料機關換算等,不包括算法及邏輯處理。

控制流層示例:這是MAAB4中推薦的分塊方式

Matlab模型開發之——從模組化規範開啟旅程3 模型結構

資料流層:也就是功能子產品的底層,由基本子產品構成

一個複雜資料流層示例:

Matlab模型開發之——從模組化規範開啟旅程3 模型結構

 注意:

  1. 一個結構層(功能層或時間計劃層)和資料流層不應混合在同一層中。(層次結構劃厘清晰)
  2. 應避免為了節省圖的空間而将子產品集合成子系統,子產品圖中的每一個子系統應代表實作模型或子模型的目的所需要的一個功能單元。根據行為變量或時間計劃,子產品也可以組合在一起。

繼續閱讀