首頁 > 其他

如何在Matlab/Simulink中封裝子系統/模組

2019-12-25 13:36:07

在Simulink模擬中經常需要封裝子系統,以便於在一個對話方塊裡進行引數設定,如圖所示為雙擊Sine Wave子模組後出現的引數設定介面。本文介紹如何完成這樣的介面的編輯。


1

步驟1:先建立一個子系統。通常有兩種方式,一為在庫選擇Subsystem,然後建立子系統;一為選中要封裝為子系統的部分,然後生成。兩種方式如圖所示



2

步驟2:建立所要實現的子系統,本例實現一個sin信號源,即,

Out(t) = Amp*Sin(Freq*t+Phase) + Bias,如圖所示。

未進行編輯的子模組還不能進行引數值的設定



3

步驟3:模組編輯。右擊模組→Mask→Create Mask,或者選擇模組,按快捷鍵Ctrl+M,出現如圖所示的編輯介面


4

步驟4:圖示顯示,即子模組的外觀顯示。可以在Icon Drawing Commands裡面用plot畫,也可以直接用image命令匯入。其他命令見Command,可以根據需要自定義。

在Icon Drawing Commands裡輸入如下命令,得到所要顯示的圖

t=0:0.2:2*pi;y=sin(t);

plot(t,y,[0 0],[-1 1],[0 2*pi],[0 0])


5

步驟5:引數編輯。新增需要編輯或設定的引數,以幅值為例,按圖所示的1,2,3,4進行編輯


6

步驟6:要能夠對相應引數的值進行設定,還需要對需要編輯的引數進行選擇,

如圖所示,按照圖中1,2,3,4,5分別進行操作。完成後會看到方框中出現該幅值的變數Amp



7

步驟7:其他引數如Bias,Frequency,Phase都按照相似的方式進行設定


8

步驟8:其他。如對該模組的描述,初始值設定等。如在Documentation的Mask description視窗輸入

Output a sine wave:

O(t) = Amp*Sin(Freq*t+Phase) + Bias

則介面顯示提示,如圖所示



9

步驟9:模擬。設定好值後,進行模擬,結果如圖所示



IT145.com E-mail:sddin#qq.com