第6章 Simulink仿真_第1頁(yè)
第6章 Simulink仿真_第2頁(yè)
第6章 Simulink仿真_第3頁(yè)
第6章 Simulink仿真_第4頁(yè)
第6章 Simulink仿真_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 第6章Simulink仿真 Simulink是用來(lái)對(duì)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的交互工具。通過(guò) Simulink可以對(duì)電氣、機(jī)械、通信等的線性、非線性、連續(xù)、離散或是 混合系統(tǒng)進(jìn)行系統(tǒng)建模、仿真和分析研究。 6.1 Simulink6.1 Simulink集成環(huán)境集成環(huán)境 Simulink軟件與MATLAB密切相關(guān),它是以MATLAB為運(yùn)行基礎(chǔ)和運(yùn)行環(huán) 境。在MATLAB環(huán)境中,才能啟動(dòng)和使用Simulink。用戶可以使用以下方 法之一來(lái)啟動(dòng)Simulink: 點(diǎn)擊命令窗中工具欄上的Simulink按鈕圖標(biāo) ,便打開(kāi)Simulink模塊庫(kù)瀏 覽器,如圖6-1所示。在模塊庫(kù)瀏覽器中,點(diǎn)擊工具

2、欄上的新建模型(New model)按鈕圖標(biāo),或者選擇“File”菜單“New”“Model”命令, 便打開(kāi)名為untitled的空白模型窗口,如圖6-2所示。 在命令窗中輸入命令“simulink”,便打開(kāi)Simulink模塊庫(kù)瀏覽器。 在命令窗中,選擇菜單“File”“New”“Model”命令,便打開(kāi)模型 窗口。在模型窗口中,點(diǎn)擊工具欄上的Simulink按鈕,或選擇菜單 “View”“Library Browser”命令,打開(kāi)模塊庫(kù)瀏覽器。 啟動(dòng)Simulink,便進(jìn)入Simulink集成仿真環(huán)境,主要包括仿真模塊庫(kù) 瀏覽器窗口和模型窗口。 圖6-1 模塊庫(kù)瀏覽器 圖6-2 模型窗口

3、6.1.1 Simulink6.1.1 Simulink模塊庫(kù)瀏覽器模塊庫(kù)瀏覽器(Simulink Library Browser)(Simulink Library Browser) 模塊庫(kù)瀏覽器是Simulink的主要工作環(huán)境,它除了窗口常見(jiàn)的標(biāo) 題欄、菜單欄、工具欄外,還包含有模塊庫(kù)分類目錄、選中庫(kù)或子庫(kù) 內(nèi)容列表、選中模塊描述。 模塊庫(kù)向用戶提供了建模所需要的各類通用和專用的模塊,是用 戶創(chuàng)建動(dòng)態(tài)系統(tǒng)仿真模型的基礎(chǔ)。模塊庫(kù)是以分層結(jié)構(gòu)按類來(lái)組織和 管理的,在第一層中包含有Simulink庫(kù)和其他專用模塊庫(kù),例如, Communication Blockset(通信模塊組)、Contro

4、l System Toolbox(控 制系統(tǒng)工具箱)、Fuzzy Logic Toolbox(模糊邏輯工具箱)、Signal Processing Blockset(信號(hào)處理模塊組)、SimPowerSystem(電力系統(tǒng) 仿真庫(kù))等。 如果MATLAB所提供的模塊庫(kù)不能滿足用戶需求,用戶可以創(chuàng)建自己所 需的模塊及模塊庫(kù)。 6.1.2 6.1.2 仿真模型窗口仿真模型窗口 新建模型時(shí),Simulink提供一個(gè)空白模型窗口,如圖6-2所示。用戶 在空白模型窗口中,可用鼠標(biāo)將模塊庫(kù)中所需模塊拖曳到模型窗口中,并 進(jìn)行模塊操作和布局,設(shè)定模塊參數(shù),用信號(hào)線連接模塊,從而創(chuàng)建所需 的仿真模型,其表現(xiàn)形

5、式是一種方塊圖。用戶在模型窗口中,可以配置仿 真參數(shù),包括啟停時(shí)間、所有積分解法、數(shù)據(jù)導(dǎo)入/導(dǎo)出設(shè)置等。配置好 仿真參數(shù)后,可以啟動(dòng)和停止模型仿真,并對(duì)仿真結(jié)果進(jìn)行分析。用戶在 該環(huán)境下,還可保存所建立的模型,并打印模型方塊圖。 用戶也可在命令窗口、模塊庫(kù)瀏覽器或者模型窗口中打開(kāi)一個(gè) 已有模型。例如,打開(kāi)MATLAB提供的室內(nèi)溫度控制系統(tǒng)仿真模型 “sldemo_househeat.mdl”,如圖6-3所示。 圖6-3 室內(nèi)溫度控制系統(tǒng)仿真模型 圖6-2和圖6-3僅是模型窗的“單窗口”表現(xiàn)形式。點(diǎn)擊工具欄中的按 鈕,可切換到如圖6-4所示的“雙窗口”形式。它的左窗為“模型瀏覽 器”,用來(lái)展示該

6、模型的分層子系統(tǒng)名稱目錄;而右窗仍是相應(yīng)系統(tǒng)的連 接方塊圖。 圖6-4 “雙窗口”形式的模型窗 6.2 6.2 仿真模型的創(chuàng)建仿真模型的創(chuàng)建 模型是系統(tǒng)的一種抽象描述,是通過(guò)反復(fù)對(duì)系統(tǒng)進(jìn)行分析研究而得到 的系統(tǒng)的內(nèi)在聯(lián)系及其與外界的關(guān)系的一種描述。在進(jìn)行系統(tǒng)仿真時(shí)用 到的模型主要是實(shí)體模型和數(shù)學(xué)模型。 實(shí)體模型是指根據(jù)相似性建立起來(lái)的系統(tǒng)的物理模型; 數(shù)學(xué)模型是指用數(shù)學(xué)結(jié)構(gòu)表達(dá)式描述系統(tǒng)的本質(zhì)特征、內(nèi)在聯(lián)系和 運(yùn)動(dòng)規(guī)律的一種模型形式。在系統(tǒng)仿真中一般都采用數(shù)學(xué)模型。 Simulink模型在窗口視圖上表現(xiàn)為直觀的方框圖,它是由模塊和信 號(hào)線組成的系統(tǒng)仿真模型;在數(shù)學(xué)上體現(xiàn)了描述系統(tǒng)狀態(tài)和動(dòng)態(tài)特性

7、的 一組數(shù)學(xué)方程,例如微分方程組或差分方程組;在行為上模擬了系統(tǒng)的 動(dòng)態(tài)行為和動(dòng)態(tài)現(xiàn)象。 Simulink模型通常包括三種組件:信源(Source)、系統(tǒng)(System)和 信宿(Sink)。 信源可以是常數(shù)、正弦波、階梯波等信號(hào)源; 系統(tǒng)就是被研究系統(tǒng)的Simulink方框圖; 信宿可以是示波器、圖形記錄儀等信號(hào)接收器。 創(chuàng)建一個(gè)系統(tǒng)仿真模型首先從相應(yīng)的模塊庫(kù)中選擇需要的仿真模塊,用 鼠標(biāo)把它們依次拖到模型窗口中,并調(diào)整好模塊大小和位置。然后用信 號(hào)線把各模塊按照系統(tǒng)要求連接起來(lái),組成所需要的系統(tǒng)仿真模型。 6.2.1 6.2.1 模塊操作模塊操作 模塊是創(chuàng)建Simulink仿真模型的基本單

8、元。只有熟悉模塊的操作 方法,才能靈活高效地創(chuàng)建各種仿真系統(tǒng)模型。 1. 1. 模塊的添加模塊的添加 打開(kāi)模型窗口,在模塊庫(kù)瀏覽器頁(yè)面中選中所需添加的模塊,通過(guò) 以下兩種方法之一來(lái)向模型窗口添加模塊: 用鼠標(biāo)左鍵選中所需要的模塊,將其拖到模型窗口,松開(kāi)鼠標(biāo), 這時(shí)所選模塊出現(xiàn)在模型窗口中。 用鼠標(biāo)指向所需要的模塊,按下鼠標(biāo)右鍵,在彈出的快捷菜單中 選擇Add to file_name(其中file_name是模型窗文件名,若未命名, 則為untitled)。添加模塊后的模型窗如圖6-5所示。 圖6-5 添加模塊后的模型窗 2. 2. 模塊的選定模塊的選定 需要選定單個(gè)模塊時(shí),直接用鼠標(biāo)指向待選

9、模塊,單擊鼠標(biāo)左鍵 即可。當(dāng)需要選定多個(gè)模塊時(shí),可采用以下兩種方法之一: 按下Shift鍵,依次點(diǎn)擊所需選定的模塊。 按住鼠標(biāo)任一鍵,拉出矩形虛線框,將所有待選模塊包在其中,然后松 開(kāi)按鍵。 3. 3. 模塊的復(fù)制模塊的復(fù)制 選定需要復(fù)制的模塊,通過(guò)以下方法之一來(lái)實(shí)現(xiàn): 按下Ctrl鍵,再按下鼠標(biāo)左鍵,將模塊拖動(dòng)到目標(biāo)位置后釋放鼠標(biāo)。 執(zhí)行菜單“Edit”“Copy”命令,再執(zhí)行“Edit”“Paste”命令。 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Copy”命令,再在目標(biāo)位置 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Paste”命令。 4. 4. 模塊的刪除模塊的刪除 選定需要?jiǎng)h除的模塊,通過(guò)

10、以下方法之一來(lái)實(shí)現(xiàn): 按鍵盤上的Delete鍵。 執(zhí)行菜單“Edit”“Delete”命令。 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Delete”命令。 5. 5. 模塊的移動(dòng)模塊的移動(dòng) 選定需要移動(dòng)的模塊或模塊組,按下鼠標(biāo)左鍵將模塊拖到目標(biāo)位置, 釋放鼠標(biāo)。模塊移動(dòng)時(shí),與之相連的連線也隨之移動(dòng)。 6. 6. 模塊大小的調(diào)整模塊大小的調(diào)整 選定該模塊,模塊的四個(gè)對(duì)角點(diǎn)出現(xiàn)黑色的控制柄,將光標(biāo)指向適當(dāng) 的控制柄,此時(shí)鼠標(biāo)的指針形狀將發(fā)生變化。按下鼠標(biāo)左鍵向內(nèi)或向外拖 動(dòng),實(shí)現(xiàn)對(duì)模塊大小的調(diào)整。 7. 7. 模塊的旋轉(zhuǎn)模塊的旋轉(zhuǎn) 缺省狀態(tài)下的模塊總是輸入端在左,輸出端在右,即信號(hào)是從左端到 右端。

11、要對(duì)模塊進(jìn)行旋轉(zhuǎn)操作,首先選定待旋轉(zhuǎn)的模塊,再采用以下任一 種方法實(shí)現(xiàn): 執(zhí)行菜單“Format”“Rotate Block”命令“Clockwise”或 “Counterclockwise”,即可實(shí)現(xiàn)順時(shí)針旋轉(zhuǎn)90或逆時(shí)針旋轉(zhuǎn)90。 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Format”“Rotate Block”“Clockwise”或“Counterclockwise”。 執(zhí)行菜單“Format”“Flip Block”命令,模塊旋轉(zhuǎn)180。 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Format” “Flip Block”,模塊旋轉(zhuǎn)180。 8. 8. 模塊名的操作模塊名的操作 修改模塊名:

12、單擊模塊名,在原名字的四周出現(xiàn)一個(gè)編輯框,可以在 編輯框中輸入新的模塊名。 設(shè)置模塊名字體:選定模塊,執(zhí)行菜單“Format”“Font”命令, 或者單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Format”“Font”, 打開(kāi)字體對(duì)話框,根據(jù)需要設(shè)置。 改變模塊名的位置:?jiǎn)螕裟K名,直接用鼠標(biāo)將模塊名拖到新的位置; 或者選定模塊,執(zhí)行菜單“Format”“Flip Name”命令;或者選定 模塊,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中,選擇“Format”“Flip Name”。 注意注意:若模塊名在模塊下方,則只能被拖到模塊上方;若模塊名在模塊 左側(cè),則只能被拖到模塊右側(cè)。 隱藏模塊名:選定模塊,執(zhí)行

13、菜單“Format”“Hide Name”命令, 或者單擊鼠標(biāo)右鍵,在彈出的快捷菜單中,選擇“Format”“Hide Name”,就可隱藏模塊的名稱。同時(shí),該菜單選項(xiàng)對(duì)應(yīng)變?yōu)椤癝how Name”,執(zhí)行它可顯示模塊名。 9. 9. 模塊陰影效果的添加模塊陰影效果的添加 選定需要添加陰影的模塊,再用以下任一種方法來(lái)實(shí)現(xiàn): 執(zhí)行菜單“Format”“Show Drop Shadow”。 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“Format”“Show Drop Shadow”。 添加了模塊陰影效果后,對(duì)應(yīng)的菜單選項(xiàng)變?yōu)椤癏ide Drop Shadow”, 執(zhí)行它可去除陰影效果。 10. 10.

14、模塊參數(shù)的設(shè)置模塊參數(shù)的設(shè)置 由模塊庫(kù)添加到模型窗的各模塊,其參數(shù)是缺省值。有時(shí)需要對(duì)模 塊參數(shù)進(jìn)行設(shè)置。雙擊相應(yīng)模塊,打開(kāi)模塊的參數(shù)設(shè)置對(duì)話框。在參數(shù) 設(shè)置對(duì)話框中,有模塊功能和參數(shù)定義的簡(jiǎn)短描述,用戶可根據(jù)需要 修改各項(xiàng)參數(shù)的設(shè)置。圖6-6為信源正弦波的參數(shù)設(shè)置對(duì)話框 圖6-6 正弦波信源的參數(shù)設(shè)置對(duì)話框 6.2.2 6.2.2 信號(hào)線操作信號(hào)線操作 在Simulink模型中,模塊間的信號(hào)傳輸是通過(guò)連線來(lái)完成的,因此模 塊間的連線被稱為信號(hào)線。信號(hào)線上傳輸?shù)男盘?hào)可以是標(biāo)量信號(hào)也可以是 向量信號(hào)。在連接模塊的時(shí)候,要特別注意模塊的輸入輸出端和各模塊間 的信號(hào)流向。模塊總是由輸入口接收信號(hào),由

15、輸出口發(fā)送信號(hào)。Simulink 用一條帶箭頭的連線將模塊連接起來(lái),箭頭方向表示信號(hào)的傳輸方向。 1. 1. 模塊間信號(hào)線的連接模塊間信號(hào)線的連接 模塊之間信號(hào)線的連接可以通過(guò)以下方法來(lái)實(shí)現(xiàn): 方法一:將鼠標(biāo)指向連線的起點(diǎn)(即源模塊的輸出端),待鼠標(biāo)指針形 狀變?yōu)槭中?,按下鼠?biāo)鍵,拖動(dòng)至連線的終點(diǎn)(即目標(biāo)模塊的輸入端), 釋放鼠標(biāo)。 方法二:首先用鼠標(biāo)選定源模塊,然后在按下Ctrl鍵的同時(shí),用鼠標(biāo)左 鍵單擊目標(biāo)模塊完成模塊間信號(hào)線的連接。 通過(guò)以上兩種方法畫出的信號(hào)線是垂直的或者是水平的。 2. 2. 信號(hào)線的移動(dòng)和刪除信號(hào)線的移動(dòng)和刪除 移動(dòng)信號(hào)線的步驟是:選定待移動(dòng)的信號(hào)線,將鼠標(biāo)指向該

16、信號(hào) 線并按下鼠標(biāo)左鍵,此時(shí)鼠標(biāo)指針形狀變?yōu)樗膫€(gè)方向都有箭頭的十字 形,拖動(dòng)鼠標(biāo)至所希望的位置處,釋放鼠標(biāo)。 要?jiǎng)h除信號(hào)線,選定待刪除的信號(hào)線,再按鍵盤上的Delete鍵。 3. 3. 分支信號(hào)線的添加分支信號(hào)線的添加 分支信號(hào)線是從已存在的信號(hào)線上引出,將信號(hào)傳輸?shù)搅硪粋€(gè)模 塊輸入端的信號(hào)線。使用分支信號(hào)線可以將同一個(gè)信號(hào)傳輸給多個(gè)模 塊的輸入端。分支信號(hào)線的繪制可以采用以下方法之一: 將鼠標(biāo)指向分支信號(hào)線的起點(diǎn)(該起點(diǎn)是已存在的信號(hào)線上的某個(gè) 點(diǎn)),按下鼠標(biāo)右鍵,待光標(biāo)變?yōu)槭中危蟿?dòng)鼠標(biāo)至分支線的終點(diǎn) 處(目標(biāo)模塊的輸入端),釋放鼠標(biāo)。 將鼠標(biāo)指向分支信號(hào)線的起點(diǎn),按住Ctrl鍵,再按下

17、鼠標(biāo)左鍵,拖 動(dòng)鼠標(biāo)至分支線終點(diǎn),釋放鼠標(biāo)。 將鼠標(biāo)指向目標(biāo)模塊的輸入端,按住鼠標(biāo)左鍵,光標(biāo)變?yōu)槭中危?拖出信號(hào)線至分支信號(hào)線的引出點(diǎn),待光標(biāo)由十字形變?yōu)殡p十字形, 釋放鼠標(biāo)。 圖6-7是對(duì)圖6-5所示模型窗模塊進(jìn)行信號(hào)線繪制后的模型圖。圖中, 信源Sine Wave的信號(hào)同時(shí)輸出給Integrator模塊和Mux模塊。 圖6-7 繪制有信號(hào)線的模型圖 4. 4. 信號(hào)線的折曲信號(hào)線的折曲 信號(hào)線的折曲操作是將直線表示的信號(hào)線變成折線。其具體操作 為:選定待折曲的信號(hào)線,將鼠標(biāo)移至折點(diǎn)處(即分隔點(diǎn)),按下 Shift鍵和鼠標(biāo)左鍵,此時(shí)信號(hào)線上出現(xiàn)一個(gè)小圓圈即折點(diǎn),拖動(dòng)鼠 標(biāo)至所要求的位置,釋

18、放鼠標(biāo)。 5. 5. 在信號(hào)線間插入模塊在信號(hào)線間插入模塊 需在已經(jīng)存在的信號(hào)線上插入一個(gè)新的模塊。如果模塊只有一個(gè) 輸入端和一個(gè)輸出端,那么該模塊可以直接插入到一條信號(hào)線中去。 操作步驟是:選定需要插入的模塊,按下鼠標(biāo)左鍵,將模塊拖至希望 插入的信號(hào)線上,釋放鼠標(biāo)。 6. 6. 信號(hào)線標(biāo)識(shí)的設(shè)置信號(hào)線標(biāo)識(shí)的設(shè)置 要為信號(hào)線添加標(biāo)識(shí),雙擊需要添加標(biāo)識(shí)的信號(hào)線,在彈出的空 白編輯框中輸入標(biāo)識(shí)文本,輸入結(jié)束后將光標(biāo)移出編輯框,點(diǎn)擊鼠標(biāo) 即可。 對(duì)于信號(hào)線的標(biāo)識(shí)還可以進(jìn)行移動(dòng)、修改、復(fù)制和刪除等操作,具體方法 如下: 移動(dòng)標(biāo)識(shí):點(diǎn)擊標(biāo)識(shí),待編輯框出現(xiàn)后,將光標(biāo)指向編輯框,按下鼠 標(biāo)左鍵拖動(dòng)至所需位置

19、即可。 修改標(biāo)識(shí):點(diǎn)擊標(biāo)識(shí),待編輯框出現(xiàn)后,即可修改標(biāo)識(shí)。 復(fù)制標(biāo)識(shí):點(diǎn)擊標(biāo)識(shí),待編輯框出現(xiàn)后,將光標(biāo)指向編輯框,按下 Ctrl鍵,再按下鼠標(biāo)左鍵,移至所需位置,釋放鼠標(biāo)和Ctrl鍵。 刪除標(biāo)識(shí):點(diǎn)擊標(biāo)識(shí),待編輯框出現(xiàn)后,雙擊標(biāo)識(shí)選中整個(gè)標(biāo)識(shí)內(nèi)容, 按鍵盤上的Delete鍵,將光標(biāo)移出編輯框后點(diǎn)擊鼠標(biāo)。 6.2.3 6.2.3 對(duì)模型的注釋對(duì)模型的注釋 要添加注釋,首選選定作為注釋區(qū)的中心位置,雙擊鼠標(biāo)左鍵,待出 現(xiàn)編輯框后,在框中輸入作為注釋的文字。輸入完成后,將鼠標(biāo)移出編輯 框,單擊鼠標(biāo)左鍵即可。 對(duì)已有的注釋,也可以根據(jù)需要移動(dòng)位置。其方法是:用鼠標(biāo)左鍵單 擊注釋文字處,待出現(xiàn)編輯框后,

20、按下鼠標(biāo)左鍵,拖動(dòng)至所希望的位置。 6.3 6.3 動(dòng)態(tài)仿真動(dòng)態(tài)仿真 Simulink的仿真模型本質(zhì)上是一組計(jì)算機(jī)程序,它定義了描述被仿 真系統(tǒng)的一組微分方程或差分方程。當(dāng)啟動(dòng)系統(tǒng)仿真后,Simulink就開(kāi) 始用一種數(shù)值解算方法來(lái)求解方程。要完成一個(gè)系統(tǒng)模型的仿真,一般 需要設(shè)置仿真參數(shù)、開(kāi)始運(yùn)行仿真、查看與分析仿真結(jié)果三個(gè)步驟。 6.3.1 6.3.1 設(shè)置仿真參數(shù)設(shè)置仿真參數(shù) 需要設(shè)置的仿真參數(shù)主要包括:仿真起始時(shí)間和終止時(shí)間、仿真步 長(zhǎng)、數(shù)值積分解法、仿真容差、仿真數(shù)據(jù)的輸入和輸出等。 在模型窗中,執(zhí)行菜單“Simulink”“Configuration Parameters”命令,打

21、開(kāi)Configuration Parameters對(duì)話框,如圖6-8所 示。在該對(duì)話框中完成對(duì)各項(xiàng)仿真參數(shù)的設(shè)置。從圖6-8左側(cè)頁(yè)面可以看 出,仿真參數(shù)設(shè)置對(duì)話框包括Solver(解算器設(shè)置)、Data Import/Export(數(shù)據(jù)導(dǎo)入/導(dǎo)出設(shè)置)、Optimization(優(yōu)化)、 Diagnostics(診斷)等選項(xiàng)。 圖6-8 仿真參數(shù)設(shè)置對(duì)話框 1. 1. 設(shè)置解算器設(shè)置解算器SolverSolver的參數(shù)的參數(shù) 在“Configuration Parameters”對(duì)話框的左側(cè)選擇“Solver”選項(xiàng), 右側(cè)顯示出對(duì)應(yīng)的Solver面板,如圖6-8所示。 仿真時(shí)間Simulati

22、on time的設(shè)置 在Simulation time選項(xiàng)區(qū)修改Start time和Stop time文本框中的數(shù) 值可以設(shè)置仿真的起始時(shí)間和終止時(shí)間。默認(rèn)情況下,系統(tǒng)的起始時(shí)間為 0s,終止時(shí)間為10s。 解算器Solver options的設(shè)置 解算器類型Type下拉列表包括兩大類:變步長(zhǎng)解算器(Variable-step) 和固定步長(zhǎng)(Fixed-step)解算器。 變步長(zhǎng)解算是指在仿真過(guò)程中根據(jù)模型的動(dòng)態(tài)特征改變積分步長(zhǎng),這 類解算需提供誤差控制和過(guò)零檢測(cè)。 固定步長(zhǎng)解算是指在仿真過(guò)程中不改變積分步長(zhǎng),這類解算不需提供 誤差控制和過(guò)零檢測(cè)。 表6-1列出了這些常見(jiàn)的解法。 表6-1

23、Simulink中的解算器解法 變步長(zhǎng)固定步長(zhǎng) 解法指令使用方法解法指令使用方法 ode45Dormand-Prince法,采用顯 式Runge-kutta(4,5) ode5ode45的定步長(zhǎng)計(jì)算 ode23Bogacki-Shampine法,采用 顯式Runge-Kutta(2,3) ode4采用定步長(zhǎng)的經(jīng)典4階Runge- Kutta計(jì)算 ode113Adams法,使用變階Adams- Bashforth PECE 數(shù)值積分法 ode3ode23的定步長(zhǎng)計(jì)算 ode15s采用變階數(shù)值微分計(jì)算,適 合于剛性微分方程解算 ode2定步長(zhǎng)的2階Runge-Kutta計(jì) 算 ode23s采用二階

24、改進(jìn)型Rosenbrock 式計(jì)算,適合于剛性微分方 程解算 ode1定步長(zhǎng)的Euler法 ode23t采用梯形算法計(jì)算,適合于 中等剛性微分方程解算 ode14x采用牛頓法和外插組合計(jì)算, ode23tb采用多步TR-BDF2法計(jì)算,適 合于剛性微分方程解算 Discrete純離散系統(tǒng)的特殊計(jì)算方法 Discrete純離散系統(tǒng)的特殊計(jì)算方法 解算器的缺省設(shè)置是變步長(zhǎng)的ode45。這種解法能在保證計(jì)算精度的前 提下,使用盡可能大的步長(zhǎng),對(duì)于大多數(shù)有連續(xù)狀態(tài)量的模型解算是非常 有效的。但是當(dāng)模型中存在剛性方程問(wèn)題并且ode45解法不能求出仿真真 實(shí)解時(shí),采用ode15s等適合于剛性方程的解法。若

25、仿真模型中沒(méi)有連續(xù)狀 態(tài)量,則選擇離散解法Discrete。 當(dāng)解算器為變步長(zhǎng)類別時(shí),需要設(shè)置最大步長(zhǎng)、最小步長(zhǎng)、初始步長(zhǎng), 以及相對(duì)容差和絕對(duì)容差。這些選項(xiàng),通常取缺省值,例如最大步長(zhǎng)、最 小步長(zhǎng)、初始步長(zhǎng)和絕對(duì)容差取缺省auto。 2. 2. 仿真數(shù)據(jù)的輸入仿真數(shù)據(jù)的輸入/ /輸出輸出(Data Import/Export)(Data Import/Export)設(shè)置設(shè)置 在“Configuration Parameters”對(duì)話框的左側(cè)選擇“Data Import/Export”選項(xiàng),右側(cè)顯示出對(duì)應(yīng)的Data Import/Export面板,如 圖6-9所示。該面板是用于管理模型的仿真數(shù)

26、據(jù)從MATLAB工作空間的輸入 和輸出,它有三個(gè)選項(xiàng)區(qū)域:從工作空間加載(Load from workspace)、 保存到工作空間(Save to workspace)和保存選項(xiàng)(Save options)。 圖6-9 數(shù)據(jù)輸入輸出設(shè)置頁(yè) Load from workspace選項(xiàng)區(qū)設(shè)置 Input選項(xiàng)框:如果Simulink模型中選用了輸入模塊In,那么就必須勾選 Input選項(xiàng)框,并填寫MATLAB工作空間中的輸入數(shù)據(jù)變量名(即工作空間中存 在的變量),例如t,u或者TU。如果輸入模塊有n個(gè),則u的第1、2、3、 n列(或TU的第2、3、n+1列)分別送往輸入模塊In1、In2、Inn。

27、 注意,由工作空間變量組成的輸入矩陣,第1列必須是時(shí)間向量且按升序排 列,例如t,u中的t或者TU中的第1列。 Initial state選項(xiàng)框:如果勾選該選項(xiàng)框,則強(qiáng)迫模型從工作空間中 獲取模型所有內(nèi)部狀態(tài)變量的初始值。在選項(xiàng)框中填入工作空間中存儲(chǔ)有狀 態(tài)量初始值的變量名,缺省名為xInitial。 Save to workspace選項(xiàng)區(qū)設(shè)置 Time選項(xiàng)框:如果勾選該選項(xiàng)框,則模型將仿真時(shí)間以指定的變量名存 放在工作空間,缺省變量名為tout。 States選項(xiàng)框:如果勾選該選項(xiàng)框,則模型將把其狀態(tài)量以指定的變量 名存放在工作空間,缺省變量名為xout。 Output選項(xiàng)框:如果Simu

28、link模型中選用了輸出模塊Out,那么就必須勾 選該選項(xiàng)框,并填寫輸出數(shù)據(jù)變量名,將在MATLAB工作空間中創(chuàng)建該變量, 缺省變量名為yout。 Final state選項(xiàng)框:如果勾選該選項(xiàng)框,則模型將其最終狀態(tài)量以指 定的變量名存放在工作空間,缺省變量名為xFinal Save options選項(xiàng)區(qū)設(shè)置 Limit data points to last選項(xiàng)框:如果勾選該選項(xiàng)框,需要設(shè)定 保存到工作空間變量的數(shù)據(jù)長(zhǎng)度,缺省值為1000。如果輸入數(shù)據(jù)長(zhǎng)度超 過(guò)設(shè)定值,那么最早的數(shù)據(jù)會(huì)被清除。如果該選項(xiàng)不勾選,則對(duì)數(shù)據(jù)長(zhǎng) 度不做限制。 Decimation選項(xiàng)框:用于設(shè)定仿真輸出數(shù)據(jù)的抽取比率

29、。如果設(shè)定 為整數(shù)n,則每隔n-1個(gè)數(shù)據(jù)點(diǎn)保存一個(gè)數(shù)據(jù)。缺省值為1,表示保存所 有數(shù)據(jù)點(diǎn)。 Format選項(xiàng)框:用于設(shè)定保存到工作空間的狀態(tài)量和輸出數(shù)據(jù)的格式。 如果選擇Array,則數(shù)據(jù)格式是矩陣,每行對(duì)應(yīng)一個(gè)仿真時(shí)步。如果選 擇Structure,則數(shù)據(jù)格式為結(jié)構(gòu),該結(jié)構(gòu)包含了每個(gè)端口的子結(jié)構(gòu), 每個(gè)端口子結(jié)構(gòu)包含著該端口的信號(hào)數(shù)據(jù)。如果選擇Structure with time,則數(shù)據(jù)格式是帶有時(shí)間字段和信號(hào)字段的結(jié)構(gòu),時(shí)間字段包含模 型仿真時(shí)間向量,信號(hào)字段包含每個(gè)模型輸入端口(針對(duì)輸入數(shù)據(jù))或 輸出端口(針對(duì)輸出數(shù)據(jù))的子結(jié)構(gòu),每個(gè)端口子結(jié)構(gòu)包含有對(duì)應(yīng)端口 的信號(hào)數(shù)據(jù)。 Output

30、 options選項(xiàng)框:用于為變步長(zhǎng)解算器設(shè)定產(chǎn)生附加輸出信號(hào) 的選項(xiàng)。如果選擇Refine output,則在仿真時(shí)步間和仿真時(shí)間處產(chǎn)生數(shù) 據(jù)輸出,用Refine factor中的數(shù)據(jù)設(shè)定需在仿真時(shí)步間產(chǎn)生的數(shù)據(jù)點(diǎn)數(shù)。 如果選擇Produce additional output,則在指定時(shí)間處產(chǎn)生附加輸出, 用Output times設(shè)定Simulink應(yīng)該產(chǎn)生附加輸出的仿真時(shí)間。如果選擇 Produce specified output only,則僅在指定時(shí)間產(chǎn)生輸出,用Output times設(shè)定Simulink應(yīng)產(chǎn)生輸出的仿真時(shí)間。 6.3.2 6.3.2 運(yùn)行仿真運(yùn)行仿真 在完成仿

31、真參數(shù)的設(shè)置后,就可以開(kāi)始運(yùn)行仿真了。運(yùn)行仿真有命令 方式和窗口交互界面方式兩種。在此僅介紹窗口交互界面方式。 在模型窗環(huán)境下,可采用以下三種方法來(lái)運(yùn)行仿真: 執(zhí)行菜單“Simulation”“Start”命令。 按工具欄上圖標(biāo)為的“Start simulation”按鈕。 按下Ctrl+T組合鍵。 在仿真運(yùn)行過(guò)程中,如果打算停止仿真運(yùn)行,在模型窗環(huán)境下,可采 用以下三種方法: 執(zhí)行菜單“Simulation”“Stop”命令。 按工具欄上圖標(biāo)為的“Stop simulation”按鈕。 按下Ctrl+T組合鍵。 【例6-1】用示波器同時(shí)觀測(cè)正弦波信源的信號(hào)及其積分后的信號(hào)。 仿真過(guò)程如下:

32、(1)打開(kāi)一個(gè)空白仿真模型窗,如圖6-2所示。 (2)向模型窗添加所需模塊。本實(shí)例中需要的模塊有:正弦波信源 Sine Wave模塊、積分器Integrator模塊、信號(hào)組合器Mux模塊、示波 器Scope模塊。為此,從相應(yīng)模塊庫(kù)中將所需模塊添加到模型窗中, 并對(duì)模塊進(jìn)行排列布局,如圖6-3所示。 (3)設(shè)置模塊參數(shù)。雙擊正弦波信源模塊,彈出正弦波信源模塊參 數(shù)對(duì)話框,如圖6-6所示。在參數(shù)設(shè)置對(duì)話框中,將幅值A(chǔ)mplitude設(shè) 置為5,頻率Frequency設(shè)置為0.5,其它取缺省值,按Ok按鈕生效。 本例中的其它模塊取缺省值。 (4)用信號(hào)線連接模塊生成仿真模型。通過(guò)信號(hào)線操作,將模塊按

33、需要 連接成仿真模型,如圖6-7所示。 (5)設(shè)置仿真參數(shù)。打開(kāi)“Configuration Parameters”對(duì)話框,將 Simulation time中的Stop time時(shí)間設(shè)置為40,其它保持缺省值,按Ok 按鈕生效。 (6)運(yùn)行仿真。點(diǎn)擊模型窗中工具欄上的Start simulation按鈕,開(kāi)始 運(yùn)行仿真。 (7)觀察仿真結(jié)果。雙擊示波器Scope模塊,彈出Scope界面,可觀察正 弦波信號(hào)及其積分信號(hào),如圖6-10所示。通過(guò)點(diǎn)擊工具欄上的Autosave 按鈕,示波器將根據(jù)波形幅值自動(dòng)地調(diào)整縱軸范圍,如圖6-11所示,此 時(shí)顯示出波形全貌。也可以將光標(biāo)指向示波器坐標(biāo)框內(nèi)右擊鼠

34、標(biāo) ,執(zhí)行 快捷菜單上的“Axes Properties”命令,在彈出的 ScopeProperites:對(duì)話框中,人工設(shè)置縱軸坐標(biāo)范圍,例如Y-min 設(shè)置為-10,Y-max設(shè)置為30,點(diǎn)擊Ok按鈕,顯示效果如圖6-12所示。 (8)保存仿真模型。在模型窗口,執(zhí)行菜單“File”“Save”或 “Save As”命令,或者按工具欄上的保存按鈕,在彈出的“Save As” 對(duì)話框中,設(shè)定文件名,文件類型為.mdl,例如本例中文件名設(shè)定為 simple_model,點(diǎn)擊“保存(S)”按鈕。本例的模型文件為 simple_model.mdl。 圖6-10 仿真運(yùn)行結(jié)果波形圖6-11 自動(dòng)調(diào)整縱坐

35、標(biāo)范圍后的顯示 圖6-12 人工設(shè)置縱坐標(biāo)范圍后的 顯示 6.3.3 6.3.3 仿真結(jié)果分析仿真結(jié)果分析 通過(guò)仿真結(jié)果分析,有助于驗(yàn)證系統(tǒng)模型、改進(jìn)系統(tǒng)模型以及完善 系統(tǒng)性能。進(jìn)行仿真結(jié)果分析,既可采用Simulink提供的輸出模塊來(lái)實(shí) 現(xiàn),也可采用Matlab提供的一些函數(shù)或者命令來(lái)實(shí)現(xiàn)。 1. 1. 觀察輸出軌跡觀察輸出軌跡 Simulink提供多種觀察輸出軌跡的方法,有些方法直接顯示仿真的 輸出軌跡,而有些方法是將仿真信號(hào)導(dǎo)出到工作空間,再用Matlab繪圖 命令繪制輸出軌跡。 1 1)用)用ScopeScope模塊模塊 Scope模塊可實(shí)時(shí)顯示仿真所產(chǎn)生的標(biāo)量或向量信號(hào)波形(軌跡),

36、 是時(shí)間曲線。Scope模塊可以有多個(gè)坐標(biāo)軸,這些坐標(biāo)軸具有相同的時(shí) 間范圍,但y軸是相互獨(dú)立的。在示波器窗中,可調(diào)整顯示的時(shí)間量和 輸入數(shù)值范圍,可移動(dòng)和調(diào)整示波器窗,可設(shè)置示波器參數(shù)等。 雙擊Scope模塊,打開(kāi)示波器窗,再點(diǎn)擊工具欄上圖標(biāo)為 的Parameters按 鈕,打開(kāi)示波器參數(shù)設(shè)置窗,該窗有General和Data History兩個(gè)設(shè)置頁(yè)面, 如圖6-13所示。示波器相關(guān)參數(shù)設(shè)置說(shuō)明如下: 圖6-13 示波器參數(shù)設(shè)置對(duì)話框 坐標(biāo)軸數(shù)目的設(shè)置。在Number of axes欄中設(shè)定坐標(biāo)軸數(shù)目 ,缺省值為1,即Scope模塊只有1個(gè)輸入端,示波器窗只有1 個(gè)坐標(biāo)軸。如果將該欄設(shè)置為

37、2,則Scope模塊將有2個(gè)輸入 端,示波器窗有相應(yīng)的2個(gè)坐標(biāo)軸,如圖6-14所示。 圖6-14 具有2個(gè)顯示區(qū)的示波器窗 時(shí)間范圍的設(shè)置。在Time range欄中輸入時(shí)間值,單位:秒。缺省值 為auto,顯示仿真時(shí)間內(nèi)的信號(hào)。 坐標(biāo)軸標(biāo)記的設(shè)置。在Tick labels下拉列表框中選擇設(shè)置坐標(biāo)軸標(biāo)記 的顯示方式。如果選擇all,則將在所有坐標(biāo)軸外側(cè)標(biāo)注坐標(biāo)標(biāo)記;如果 選擇bottom axis only,則只在最下方的坐標(biāo)軸外側(cè)標(biāo)注時(shí)間標(biāo)記;如 果選擇none,則所有坐標(biāo)軸都不作標(biāo)注。缺省為bottom axis only。 信號(hào)抽取的設(shè)置。在Sampling中,有2個(gè)選項(xiàng),即Decima

38、tion和Sample time。Decimation設(shè)置顯示頻度。若設(shè)置為整數(shù)n,則每隔n-1個(gè)數(shù)據(jù)點(diǎn) 顯示。缺省值為1。Sample time設(shè)置顯示點(diǎn)的時(shí)間步長(zhǎng),缺省為0,表示 顯示連續(xù)信號(hào);取-1,表示顯示方式取決于輸入信號(hào);取任何大于0的數(shù) 則表示離散信號(hào)的時(shí)間間隔。 數(shù)據(jù)點(diǎn)數(shù)限制的設(shè)置。如果勾選Limit data points to last,可在右 側(cè)欄中設(shè)置要保存的數(shù)據(jù)點(diǎn)數(shù)(數(shù)據(jù)長(zhǎng)度)。缺省為勾選狀態(tài),其值為 5000。如果輸入數(shù)據(jù)點(diǎn)數(shù)超過(guò)設(shè)定值,最早的歷史數(shù)據(jù)被舍去。 將示波器數(shù)據(jù)存入工作空間的設(shè)置。如果勾選Save data to workspace,在Variable

39、name欄中輸入保存數(shù)據(jù)的變量名,在Format中 選擇數(shù)據(jù)格式,有Structure with time、Structure、Array三種。 在示波器窗中,可根據(jù)信號(hào)顯示需要手工設(shè)置縱坐標(biāo)范圍。在示波器 “坐標(biāo)軸區(qū)”內(nèi),點(diǎn)擊鼠標(biāo)右鍵,執(zhí)行快捷菜單中的“Axes properties” 命令,彈出坐標(biāo)軸設(shè)置對(duì)話框,如圖6-15所示。在Y-min欄和Y-max欄設(shè)置 縱坐標(biāo)的下限和上限,設(shè)置好后按Apply按鈕或Ok按鈕即可。 圖6-15 示波器坐標(biāo)軸設(shè)置界面 在圖6-15所示的軸屬性設(shè)置界面中,還可為坐標(biāo)軸設(shè)置圖名。其設(shè) 置方法是在Title下面的編輯框中輸入圖名字符串。例如,在編輯欄中 輸

40、入字符串Sine signal and its integrating signal,則在坐標(biāo)軸 上方顯示圖名Sine signal and its integrating signal。 2)使用)使用XY GraphXY Graph模塊模塊 XY Graph模塊是利用Matlab圖形窗顯示兩路輸入信號(hào)的X-Y曲線, 其中第一路輸入信號(hào)是X方向,第二路輸入信號(hào)是Y方向,該模塊繪制 出第二路輸入信號(hào)相對(duì)于第一路輸入信號(hào)的對(duì)比圖。雙擊XY模塊,打 開(kāi)該模塊參數(shù)設(shè)置對(duì)話框,可設(shè)置縱橫坐標(biāo)范圍。 3 3)使用)使用OutOut模塊模塊 在模型中,設(shè)置Out模塊。仿真結(jié)束后,在Matlab工作空間自動(dòng)

41、生 成兩個(gè)變量tout和yout,分別返回時(shí)間向量和各個(gè)輸出端子的仿真結(jié) 果。然后利用返回變量tout和yout,使用Matlab的繪圖函數(shù)繪制并標(biāo) 注仿真輸出軌跡,例如,用plot(tout,yout)。當(dāng)然,使用這種方法 之前首先需要在Configuration Parameters仿真參數(shù)設(shè)置對(duì)話框的 Data Import/Export頁(yè)面中,勾選Time和Output,并對(duì)相應(yīng)的時(shí)間變 量和保存輸出變量進(jìn)行設(shè)置,缺省是tout和yout。 圖6-16所示的模型中,使用了一個(gè)Out模塊,在Configuration Parameters對(duì)話框的Data Import/Export頁(yè)面中

42、,勾選Time和Output, 并取缺省變量名。運(yùn)行仿真后,在Matlab命令窗中,執(zhí)行 plot(tout,yout)命令,可繪制輸出軌跡,如圖6-17所示。 圖6-16 具有返回變量的模型 圖6-17 使用返回變量觀察輸出軌跡 圖6-17 使用返回變量觀察輸出軌跡 4 4)使用)使用To WorkspaceTo Workspace模塊模塊 To Workspace模塊能夠接受輸入信號(hào),并將信號(hào)數(shù)據(jù)寫入Matlab工作 空間的變量中,每一個(gè)輸入信號(hào)數(shù)據(jù)都保存在一個(gè)列向量中。信號(hào)數(shù)據(jù) 可寫到一個(gè)數(shù)組變量或者一個(gè)結(jié)構(gòu)變量中,其格式由模塊參數(shù)中的Save format選項(xiàng)設(shè)置。雙擊To Works

43、pace模塊,打開(kāi)模塊參數(shù)設(shè)置對(duì)話框, 可設(shè)置變量名、限制數(shù)據(jù)點(diǎn)數(shù)、抽取因子、采樣時(shí)間和保存格式等參數(shù)。 圖6-18所示的仿真模型,使用了一個(gè)To Workspace模塊。雙擊To Workspace模塊,設(shè)置變量名為y,保存格式為Structure,其它參數(shù)采 用缺省設(shè)置。運(yùn)行仿真后,在工作空間中,產(chǎn)生了變量tout和變量y。 其中,y是一個(gè)結(jié)構(gòu)變量。在Matlab命令窗中,執(zhí)行 plot(tout,y.signals.values)命令,繪制出與圖6-17一樣的圖形。 圖6-18 使用To Workspace模塊的仿真模型 2. 2. 使用使用To fileTo file模塊以文件形式輸出

44、仿真結(jié)果模塊以文件形式輸出仿真結(jié)果 使用To file模塊將仿真結(jié)果以Mat文件的格式直接保存 到數(shù)據(jù)文件中。雙擊To file模塊,打開(kāi)模塊參數(shù)設(shè)置對(duì)話框 ,需要設(shè)置保存的文件名等參數(shù)。運(yùn)行仿真,將仿真時(shí)間和 仿真結(jié)果(To file模塊輸入信號(hào))以行格式保存到指定文件中 ,文件中的第一行是記錄的仿真時(shí)間。 3. 3. 使用使用DisplayDisplay模塊直接顯示信號(hào)數(shù)值模塊直接顯示信號(hào)數(shù)值 Display模塊用于直接顯示輸入信號(hào)的數(shù)值。雙擊 Display模塊,打開(kāi)模塊參數(shù)設(shè)置對(duì)話框,可設(shè)置顯示的數(shù)值 格式,有short,long,short_e,long_e,bank,hex, bi

45、nary,decimal,octal格式。Display模塊可以同時(shí)顯示多 路信號(hào)。 4. 4. 使用信號(hào)處理模塊使用信號(hào)處理模塊 圖6-19 信號(hào)處理模塊庫(kù) 在模型中,如果需要對(duì)某些信號(hào)的特性作更為深入的分析,或者需 要對(duì)信號(hào)進(jìn)行相關(guān)的處理,可將信號(hào)連接到數(shù)字信號(hào)處理模塊,得到分 析和處理后的結(jié)果,如圖6-19所示。在Transforms子庫(kù)中提供了多種信 號(hào)變換模塊,如有DCT、DWT、FFT等;在Statistics子庫(kù)中提供了大量 數(shù)值統(tǒng)計(jì)分析模塊等。 6.4 6.4 子系統(tǒng)子系統(tǒng) 為了簡(jiǎn)化模型,增加模型的可讀性,按實(shí)現(xiàn)功能或者對(duì)應(yīng)物理器件的 存在將一些模塊劃分成一組(塊),構(gòu)成子系統(tǒng)

46、。 子系統(tǒng)創(chuàng)建系統(tǒng)仿真模型,使模型窗變得更加簡(jiǎn)潔,而且還建立了層 次化的模型結(jié)構(gòu),即在系統(tǒng)仿真模型層是由若干子系統(tǒng)等構(gòu)成,每個(gè)子系 統(tǒng)體現(xiàn)其實(shí)現(xiàn)的功能;各子系統(tǒng)層是由一個(gè)個(gè)具體基本模塊構(gòu)成,體現(xiàn)了 各子系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié)。因此,在進(jìn)行系統(tǒng)仿真模型設(shè)計(jì)中,應(yīng)充分使用子 系統(tǒng)來(lái)構(gòu)建系統(tǒng)模型。 6.4.1 6.4.1 子系統(tǒng)的創(chuàng)建子系統(tǒng)的創(chuàng)建 在Simulink中,有兩種方法創(chuàng)建子系統(tǒng)。一種是利用模型中已經(jīng)存在的 模塊創(chuàng)建子系統(tǒng);另一種是通過(guò)向子系統(tǒng)模塊(Subsystem模塊)添加基本 模塊創(chuàng)建子系統(tǒng)。 1. 1. 使用已有模塊組合創(chuàng)建子系統(tǒng)使用已有模塊組合創(chuàng)建子系統(tǒng) 首先是在模型窗中選定組成子系統(tǒng)的

47、所有模塊,然后執(zhí)行模型窗菜單 “Edit”“Create subsystem”命令,或者點(diǎn)擊鼠標(biāo)右鍵,執(zhí)行快捷菜 單中“Create subsystem”命令即可。 PID控制器在生產(chǎn)過(guò)程自動(dòng)控制系統(tǒng)中應(yīng)用非常廣泛,其控制規(guī)律為。 0 1( ) ( )( ( )( ) t pd i de t u tKe te t dtT Tdt ( )1 ( )(1) ( ) pd i U s G sKT s E sTs 或?qū)懗蓚鬟f函數(shù)的形式 式中,Kp是比例系數(shù),Ti是積分時(shí)間常數(shù),Td是微分時(shí)間常數(shù)。 創(chuàng)建帶有PID控制功能的仿真模型,如圖6-20所示。 選中組成PID控制器的所有模塊,除輸入模塊In1和

48、輸出模塊Out1。執(zhí)行 菜單“Edit”“Create subsystem”命令,或者點(diǎn)擊鼠標(biāo)右鍵,執(zhí)行快 捷菜單中“Create subsystem”命令,則把已經(jīng)選中的模塊裝入一個(gè)名為 subsystem的模塊,如圖6-21所示。 更改子系統(tǒng)模塊的名稱。用鼠標(biāo)點(diǎn)擊子系統(tǒng)模塊名稱處,將Subsystem 改為PID Controller;雙擊子系統(tǒng)模塊打開(kāi)子系統(tǒng),在打開(kāi)子系統(tǒng)模塊窗 口中將輸入輸出端口改為Input和Output,修改后的模型如圖6-22所示。 2. 2. 使用子系統(tǒng)模塊創(chuàng)建子系統(tǒng)使用子系統(tǒng)模塊創(chuàng)建子系統(tǒng) 圖6-20 PID控制器仿真模型 圖6-21 創(chuàng)建PID子系統(tǒng)之后 的

49、仿真模型 圖6-22 修改名稱之后的PID 子系統(tǒng)仿真模型 首先是要新建一個(gè)仿真模型窗,并將Ports & Subsystems模塊庫(kù) 中的Subsystem模塊復(fù)制到仿真模型窗。在模型窗中,雙擊子系統(tǒng) Subsystem模塊,彈出子系統(tǒng)模型窗,如圖6-23所示。將子系統(tǒng)中的所 有模塊從模塊庫(kù)中復(fù)制到其中,并進(jìn)行信號(hào)線連接。 圖6-23 子系統(tǒng)模型窗 使用這種方法創(chuàng)建PID控制器子系統(tǒng)的具體過(guò)程是:新建一個(gè)空白仿 真模型窗,從模塊庫(kù)復(fù)制一個(gè)子系統(tǒng)Subsystem模塊到其中,雙擊該模塊 打開(kāi)子系統(tǒng)模型窗,把PID控制器的所有模塊復(fù)制到其中,并進(jìn)行信號(hào)線 的連接,也可修改輸入輸出端口的名稱。點(diǎn)擊

50、Subsystem模塊名稱處,將 子系統(tǒng)模塊名修改為PID Controller。 6.4.2 子系統(tǒng)的封裝子系統(tǒng)的封裝 上面介紹的方法創(chuàng)建的子系統(tǒng),雖然簡(jiǎn)化了系統(tǒng)模型,提高了模 型可讀性。但是這種子系統(tǒng)要從Matlab工作空間直接獲取變量數(shù)值, 容易發(fā)生變量沖突,且與Simulink模塊庫(kù)中的基本模塊的結(jié)構(gòu)不一致, 規(guī)范化程度比較低。 所謂封裝子系統(tǒng)是指對(duì)簡(jiǎn)裝子系統(tǒng)進(jìn)行封裝之后的子系統(tǒng),它將 內(nèi)部結(jié)構(gòu)隱藏起來(lái),具有自己的工作空間。雙擊封裝子系統(tǒng)模塊,它 會(huì)彈出一個(gè)參數(shù)設(shè)置對(duì)話框,只要將所需要的變量參數(shù)輸入到對(duì)話框 中即可。從外表上來(lái)看,封裝子系統(tǒng)和Simulink模塊庫(kù)中的基本模塊 完全相同

51、,有著自己的圖標(biāo)、參數(shù)設(shè)置的對(duì)話框。 子系統(tǒng)的封裝過(guò)程如下: (1)選中需要封裝的子系統(tǒng),執(zhí)行菜單“Edit”“Mask Subsystem”命令,或者用鼠標(biāo)右擊需要封裝的子系統(tǒng),執(zhí)行快捷 菜單中的“Mask Subsystem”命令,打開(kāi)封裝編輯框,如圖6-24所 示; (2)在封裝編輯框中,設(shè)置封裝子系統(tǒng)的參數(shù)屬性、模塊描述、 幫助信息和圖形標(biāo)識(shí)等。 (3)關(guān)閉封裝編輯器,則得到新建的封裝子系統(tǒng)。 圖6-24 封裝編輯器 封裝編輯器中包括有Icon&Ports(圖標(biāo)與端口)、Parameters(參數(shù))、 Initialization(初始化)和Documentation(文檔)四個(gè)選項(xiàng)卡

52、。 1. Icon & Ports1. Icon & Ports選項(xiàng)卡的設(shè)置選項(xiàng)卡的設(shè)置 點(diǎn)擊Icon & Ports選項(xiàng)卡,顯示Icon & Ports選項(xiàng)頁(yè)面,可對(duì)圖標(biāo) 和端口進(jìn)行設(shè)置。 Block Frame下拉列表框用于設(shè)置圖標(biāo)邊框是否可見(jiàn),visible為可見(jiàn), invisible為不可見(jiàn)。 Icon Transparency下拉列表框用于設(shè)置圖標(biāo)下的信息是否可見(jiàn), 例如端口標(biāo)識(shí)。Opaque(不透明的)為不可見(jiàn),Transparent(透明的) 為可見(jiàn)。 Icon Units下拉列表框用于設(shè)置繪制圖標(biāo)的單位。 Icon Ratation下拉列表框用于設(shè)置圖標(biāo)是固定還是旋轉(zhuǎn)。設(shè)置為

53、Fiexed,表示在旋轉(zhuǎn)或翻轉(zhuǎn)子系統(tǒng)模塊時(shí),圖標(biāo)不會(huì)隨之旋轉(zhuǎn)或是 翻轉(zhuǎn)。設(shè)置為Ratates,則表示在旋轉(zhuǎn)或翻轉(zhuǎn)子系統(tǒng)模塊時(shí),圖標(biāo)隨 之旋轉(zhuǎn)或是翻轉(zhuǎn)。 Port Ratation下拉列表框用于設(shè)置端口封裝子系統(tǒng)端口旋轉(zhuǎn)類型。 在Icon Drawing Commands選框中輸入繪制命令,以繪制出封裝子 系統(tǒng)所需的圖標(biāo)。可以使用各種繪制命令,例如disp、dpoly、 fprintf、image、patch、plotport_label和text等。 在Examples of drawing commands面板中,每種命令都在右下角 顯示對(duì)應(yīng)的效果,用戶可以按照該選框中的命令格式和右側(cè)出現(xiàn)的

54、 示例圖標(biāo)效果來(lái)編寫圖標(biāo)繪制命令。 2. Parameters2. Parameters選項(xiàng)卡的設(shè)置選項(xiàng)卡的設(shè)置 Parameters選項(xiàng)卡,對(duì)封裝子系統(tǒng)的參數(shù)進(jìn)行設(shè)置,如圖6-25所示。 單擊“Add”按鈕,添加子系統(tǒng)的參數(shù)。在Prompt選框填寫參數(shù)對(duì)話 框中顯示的參數(shù)提示信息;在Variable選框中設(shè)置變量名;在Type選框 中設(shè)置編輯該參數(shù)數(shù)值的控件類型,有三種類型:edit,checkbox和 popup;勾選Evaluate,則計(jì)算編輯字段中的表達(dá)式值,并將計(jì)算結(jié)果賦 值給變量,否則僅是將編輯字段內(nèi)容作為字符串賦值給變量;勾選 Tunable,允許用戶在仿真運(yùn)行時(shí)修改封裝參數(shù)數(shù)值

55、。 圖6-25 封裝子系統(tǒng)的參數(shù)選項(xiàng)卡 在In dialog中,勾選Enable parameter使參數(shù)生效,勾選Show parameter使參數(shù)在封裝參數(shù)對(duì)話框中顯示。 3. Initialization3. Initialization選項(xiàng)卡的設(shè)置選項(xiàng)卡的設(shè)置 選擇Initialization選項(xiàng)卡,在其中設(shè)置封裝子系統(tǒng)的參數(shù)初始值。 可以定義封裝子系統(tǒng)的初始化命令。但是初始化命令不能訪問(wèn)Matlab工作 空間中的變量。 4. Documentation4. Documentation選項(xiàng)卡的設(shè)置選項(xiàng)卡的設(shè)置 選擇Documentation選項(xiàng)卡,在其中設(shè)置封裝子系統(tǒng)的性質(zhì)說(shuō)明和幫助

56、信息。它包括Mask type(封裝類型)、Mask description(封裝說(shuō)明) 和Mask help(封裝幫助)三個(gè)文本框。其中,Mask description文本框 用于編寫封裝子系統(tǒng)的簡(jiǎn)要性質(zhì)說(shuō)明,它將顯示在封裝后子系統(tǒng)模塊的參 數(shù)設(shè)置對(duì)話框中,允許使用中、英文。Mask help文本框用于編寫封裝子 系統(tǒng)的幫助信息,只允許使用英文。 【例6-2】PID控制器子系統(tǒng)的封裝。 假定PID控制器子系統(tǒng)已按前面介紹方法創(chuàng)建,其封裝過(guò)程如下: (1)在模型窗中,選中PID控制器子系統(tǒng),執(zhí)行菜單“Edit”“Mask Subsystem”命令,打開(kāi)封裝編輯器。 (2)選擇Icon & P

57、orts選項(xiàng)卡,在Block frame框中選visible,在 Icon Transparency框中選Transparent,在Icon Units框中選Normalized, 在Icon Ratation框中選Fixed,在Port Ratation框中選Default,在Icon drawing commands文本框中輸入disp(PIDnncontroller),其中n 表示回車換行。完成以上設(shè)置之后,PID控制器子系統(tǒng)模塊顯示如圖6-26 所示。 圖6-26 封裝后的PID控制器子系統(tǒng)模塊 (3)選擇Parameters選項(xiàng)卡,設(shè)計(jì)封裝子系統(tǒng)模塊的參數(shù)設(shè)置對(duì)話框。 PID控制器需要傳遞的變量參數(shù)有3個(gè),單擊Add

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論