Simulink建模之模型的構建風格(二

2021-07-31 08:46:38 字數 1764 閱讀 6337

翻譯了maab的建議指南中有關模型構件風格的建議,這些建議對與汽車行業的工程師還是很有幫助的。

三、模型的層級結構以及用法

對模型進行層級結構劃分有利於提高模型的可讀性、可維護性。一般在進行邏輯系統建模時,進行層級結構劃分時,會用到下面的一些模組: ·

subsystem ·

subsystem

(condition)

·atomic subsystem ·

model reference ·

sateflow ·

…… mathwork

的汽車諮詢委員會發布隨著

matlab

的發布同時發布了《使用

matlab

、simulink

和stateflow

進行控制系統建模指南》,目前的版本是

2.2。

對於建模層級規範提出了一些建議,我把主要的部分翻譯如下:

1、

simulink

和stateflow

的混合使用

選擇使用

simulink

或stateflow

來建立控制演算法模型,要根據模型本來所需要表達的屬性來進行

一般來說,模型的主要功能是邏輯運算,或者模型的本次運算與上次運算的結果有相關聯,應該使用

stateflow

建模。

模型的主要功能是數**算,則使用

simulink。

但有些特殊情況處理如下:

主要的程式是邏輯運算,但是有小部分是數**算,則在

stateflow

中可以使用

stateflow

中的語言進行編寫,如下圖:

如果主要的程式是數**算,但是需要一些簡單的邏輯對演算法進行支援,可以使用基本的邏輯運算模組。

如果邏輯運算過程中,遇到較複雜的數**算應該採用

stateflow

進行主要邏輯運算,然後使用

fuction-call

的呼叫simulink

的模組完成數**算,如下圖。

不要使用

stateflow

描述數學表示式,要採用

simulink

的形式如下圖:

2、

每個層級使用相同的模組型別

也就是說每個層級要麼全部使用「基本模組」,要不全部使用「子系統模組」,下面這些基本模組例外,他們可以用於模型的任何層次。

3、

模型層級

所有的層級應該和控制系統具備的各個功能及其結構保持一一對應的關係。

並保證可讀性、良好的工作流,可以被測試驗證,可以生成**。

4、

模型層級分解

在建模時推薦按照如下方式進行層級劃分:

·頂層·觸發層(非必須)

·結構層

·資料層

一般有兩種形式,如下圖:

頂層僅包括模型主體和輸入輸出變數定義。

觸發層表明了各個子模組的觸發時序,如果有必要還要設定其優先順序,並用注釋方式表達出來。

結構層主要進行進一步的功能劃分,在其中的各個子系統模組必須設定為原子子系統,如果採用

typeb

的總體結構,需要明確定義出各個子模組及輸入輸出埠的取樣時間,並在模組名稱下注釋。

資料層由「基本模組」構成進行資料處理運算,一般來說在輸入模組上要用注釋表明取樣時間。

Simulink建模之模型的構建風格(一

劃分兩個部分,第一部分說一下什麼是基本模組,虛擬模組,以及非虛擬模組及其對模型執行順序的影響 第二個部分翻譯了mathwork 的汽車諮詢委員會發布的 使用matlab simulink 和stateflow 進行控制系統建模指南 中關於模型構建風格的部分內容。參考軟體版本 matlab2012b ...

5 ABC模型之業務建模

業務建模是最關鍵的乙個環節,如何真實的反應業務流程,讓成本更精確的分攤到對應的服務物件上,這個過程需要業務的專家和負責人,業務系統的產品經理 工程師都需要加入進來,並且共同討論和決策,讓業務加入是確定成本的分攤是否合理,各個利益部門是否達成共識,讓技術加入是討論資料和系統是否支援。在建模過程我們需要...

關於建立模型的例項

建立的是乙個工資查詢的模型 實現模型首先需要找到相應的表 然後在表裡面找到相應的資料 進行查詢 得到結果 員工工資查詢 主要是需要查到 員工的 客戶號 賬號 和 交易流水 select a.emp no,a.emp name,a.card no,a.idcard no,c.custno,d.khmc...