版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第6章 Simulink建模與仿真 6.1 Simulink6.1 Simulink模塊庫簡介與使用模塊庫簡介與使用 6.2 6.2 構(gòu)建構(gòu)建SimulinkSimulink框圖框圖 6.3 6.3 設(shè)計設(shè)計SimulinkSimulink框圖的界面框圖的界面 6.4 Simulink6.4 Simulink與與MATLABMATLAB的接口設(shè)計的接口設(shè)計 6.5 6.5 簡單系統(tǒng)的仿真分析簡單系統(tǒng)的仿真分析 6.6 Simulink6.6 Simulink的調(diào)試技術(shù)的調(diào)試技術(shù)6.1 Simulink模塊庫簡介與使用 Simulink是基于MATLAB環(huán)境之上的高性能的系統(tǒng)級仿真設(shè)計平臺,因此
2、啟動Simulink之前必須首先運(yùn)行MATLAB,然后才能啟動Simulink并建立系統(tǒng)模型。啟動Simulink有兩種方式: (1) 用命令行方式啟動Simulink。即在MATLAB的命令窗口中直接鍵入如下命令: simulink利用利用SimulinkSimulink進(jìn)行系統(tǒng)仿真的步驟是:進(jìn)行系統(tǒng)仿真的步驟是:啟動Simulink,打開Simulink模塊庫;打開空白模型窗口;建立Smulink仿真模型;設(shè)置仿真參數(shù),進(jìn)行仿真;輸出仿真結(jié)果。 (2) 使用工具欄按鈕啟動Simulink。即用鼠標(biāo)單擊MATLAB工具欄中的Simulink按鈕。啟動Simulink,建立系統(tǒng)模型,其相應(yīng)的基
3、本操作如圖6.1所示。 依次表示新建、打開系統(tǒng)模型文件 依次表示新建、打開與保存系統(tǒng)模型文件 圖6.1 啟動Simulink,建立系統(tǒng)模型的基本操作為便于用戶能夠快速構(gòu)建自己所需的動態(tài)系統(tǒng),Simulink提供了大量以圖形方式給出的內(nèi)置系統(tǒng)模塊,使用這些內(nèi)置模塊可以快速方便地設(shè)計出特定的動態(tài)系統(tǒng)。為了便于用戶對Simulink內(nèi)置模塊庫的認(rèn)識與使用,本節(jié)簡單介紹Simulink中的模塊庫以及模塊庫中具有代表意義的系統(tǒng)模塊。圖6.2所示Simulink的模塊庫瀏覽器。 模塊搜索 模塊描述 系統(tǒng)模塊 系統(tǒng)模塊庫 圖6.2 Simulink的模塊庫瀏覽器 6.1.2 Simulink公共模塊庫 Si
4、mulink公共模塊庫是Simulink中最為基礎(chǔ)、最為通用的模塊庫,它可以被應(yīng)用到不同的專業(yè)領(lǐng)域中。Simulink公共模塊庫主要包含9個模塊庫,如圖6.3所示。下面分別介紹各個模塊的功能: 1. Continuous(連續(xù)系統(tǒng)模塊庫) 連續(xù)系統(tǒng)模塊庫以及其中各模塊的功能如圖6.4所示。 2. Discrete(離散系統(tǒng)模塊庫) 離散系統(tǒng)模塊庫以及其中各模塊的功能如圖6.5所示。 連續(xù)系統(tǒng)模塊庫 離散系統(tǒng)模塊庫 函數(shù)與表庫 數(shù)學(xué)運(yùn)算庫 非線性系統(tǒng)模塊庫 信號與系統(tǒng)模塊庫 系統(tǒng)輸出模塊庫 系統(tǒng)輸入信號模塊庫 Simulink 子系統(tǒng)模塊庫 連續(xù)系統(tǒng)模塊庫離散系統(tǒng)模塊庫函數(shù)與表庫數(shù)學(xué)運(yùn)算庫非線性
5、系統(tǒng)模塊庫信號與系統(tǒng)模塊庫系統(tǒng)輸出模塊庫系統(tǒng)輸入模塊庫子系統(tǒng)模塊庫圖6.3 Simulink的公共模塊庫 模模塊塊功功能能說說明明: 連續(xù)信號的數(shù)值微分 輸入信號的連續(xù)時間積分 單步積分延遲,輸出為前一個輸入 線性連續(xù)系統(tǒng)的狀態(tài)空間描述 線性連續(xù)系統(tǒng)的傳遞函數(shù)描述 對輸入信號進(jìn)行固定時間延遲 對輸入信號進(jìn)行可變時間延遲 線性連續(xù)系統(tǒng)的零極點(diǎn)模型 模塊功能說明:連續(xù)信號的數(shù)值微分輸入信號的連續(xù)時間積分單步積分延遲,輸出為前一個輸入線性連續(xù)系統(tǒng)的狀態(tài)空間描述線性連續(xù)系統(tǒng)的傳遞函數(shù)描述對輸入信號進(jìn)行固定時間延遲對輸入信號進(jìn)行可變時間延遲線性連續(xù)系統(tǒng)的零極點(diǎn)模型圖6.4 連續(xù)系統(tǒng)模塊庫及其功能 模塊功
6、能說明模塊功能說明: 線性離散系統(tǒng)的傳遞函數(shù)描述 線性離散系統(tǒng)的零極點(diǎn)模型描述 線性離散系統(tǒng)的濾波器描述 線性離散系統(tǒng)的狀態(tài)空間描述 離散時間積分器 離散信號的一階保持器 單位延遲 離散信號的零階保持器 模塊功能說明模塊功能說明: 線性離散系統(tǒng)的傳遞函數(shù)描述 線性離散系統(tǒng)的零極點(diǎn)模型描述 線性離散系統(tǒng)的濾波器描述 線性離散系統(tǒng)的狀態(tài)空間描述 離散時間積分器 離散信號的一階保持器 單位延遲 離散信號的零階保持器 模塊功能說明:線性離散系統(tǒng)的傳遞函數(shù)描述線性離散系統(tǒng)的零極點(diǎn)模型描述線性離散系統(tǒng)的濾波器描述線性離散系統(tǒng)的狀態(tài)空間描述離散時間積分器離散信號的一階保持器單位延遲離散信號的零階保持器圖6.
7、5 離散系統(tǒng)模塊庫及其功能3. Functions & Tables(函數(shù)與表庫)函數(shù)與表庫以及其中各模塊的功能如圖6.6所示。4. Math(數(shù)學(xué)運(yùn)算庫)數(shù)學(xué)運(yùn)算庫以及其中各模塊的功能如圖6.7所示。5. Nonlinear(非線性系統(tǒng)模塊庫)非線性系統(tǒng)模塊庫以及其中各模塊的功能如圖6.8所示。6. Signals & Systems(信號與系統(tǒng)模塊庫) 信號與系統(tǒng)模塊庫以及其中各模塊的功能如圖6.9所示。 模塊功能說明模塊功能說明: 表數(shù)據(jù)選擇器(從表中選擇數(shù)據(jù)) 求取輸入信號的數(shù)學(xué)函數(shù)值 對輸入信號進(jìn)行內(nèi)插運(yùn)算 輸入信號的一維線性內(nèi)插 輸入信號的二維線性內(nèi)插 輸入信號的
8、n 維線性內(nèi)插 M 函數(shù),對輸入進(jìn)行運(yùn)算輸出結(jié)果 多項(xiàng)式求值 查找輸入信號所在范圍 S 函數(shù)模塊 S 函數(shù)生成器 模塊功能說明:表數(shù)據(jù)選擇器(從表中選擇數(shù)據(jù))求取輸入信號的數(shù)學(xué)函數(shù)值對輸入信號進(jìn)行內(nèi)插運(yùn)算輸入信號的一維線性內(nèi)插輸入信號的二維線性內(nèi)插輸入信號的n維線性內(nèi)插M函數(shù)(對輸入進(jìn)行運(yùn)算輸出結(jié)果)多項(xiàng)式求值查找輸入信號所在范圍S-函數(shù)模塊S-函數(shù)生成器圖6.6 函數(shù)與表庫及其功能模塊功能說明模塊功能說明: 求取信號的絕對值 輸出強(qiáng)制系統(tǒng)輸入為零的代數(shù)狀態(tài) 按位邏輯運(yùn)算 邏輯真值查找 輸出輸入復(fù)數(shù)的幅值與相位 輸出系統(tǒng)輸入的實(shí)部或虛部 點(diǎn)乘運(yùn)算 信號增益 信號邏輯運(yùn)算 幅值與相位轉(zhuǎn)化為復(fù)數(shù)形
9、式 特定的一些數(shù)學(xué)函數(shù) 矩陣增益 求取輸入的最小或最大值 乘法或除法器 從輸入實(shí)部與虛部構(gòu)造復(fù)數(shù) 關(guān)系運(yùn)算器 求整運(yùn)算器 符號運(yùn)算 漸變增益 對輸入求和或差 三角與雙曲函數(shù) 模塊功能說明:求取信號的絕對值輸出強(qiáng)制系統(tǒng)輸入為零的代數(shù)狀態(tài)按位邏輯運(yùn)算邏輯真值查找輸出輸入復(fù)數(shù)的幅值與相位輸出系統(tǒng)輸入的實(shí)部或虛部點(diǎn)乘運(yùn)算信號增益信號邏輯運(yùn)算幅值與相位轉(zhuǎn)化為復(fù)數(shù)形式特定的一些數(shù)學(xué)函數(shù)矩陣增益求取輸入的最小或最大值乘法或除法器從輸入實(shí)部與虛部構(gòu)造復(fù)數(shù)關(guān)系運(yùn)算器求整運(yùn)算器符號運(yùn)算漸變增益對輸入求和或差三角與雙曲函數(shù)圖6.7 數(shù)學(xué)運(yùn)算庫及其能2模塊功能說明:模塊功能說明:死區(qū)間隙庫侖粘滯信號死區(qū)信號雙輸出選擇
10、器(手動)多端口輸出選擇器量化器信號上升、下降速率控制器信號延遲器飽和信號三路選擇器、根據(jù)輸入控制輸出模塊功能說明:死區(qū)間隙庫侖粘滯信號死區(qū)信號雙輸出選擇器(手動)多端口輸出選擇器量化器信號上升、下降速率控制器信號延遲器飽和信號三路選擇器(根據(jù)輸入2控制輸出)圖6.8 非線性系統(tǒng)模塊庫及其功能 模模塊塊功功能能說說明明: 數(shù)據(jù)類型轉(zhuǎn)換器 信號分解器 從 Goto 模塊中獲得信號 函數(shù)調(diào)用發(fā)生器 向 Goto 模塊傳遞信號 Goto 模塊標(biāo)記控制器 將信號與特定的偏移值比較 初始化信號 矩陣串聯(lián)器 合并輸入信號為一個輸出 模塊控制信息 信號組合器 信號探測器 信號維數(shù)改變器 選擇或重組信號 信號
11、線屬性修改 輸入信號寬度 模塊功能說明:數(shù)據(jù)類型轉(zhuǎn)換器信號分解器從Goto 模塊中獲得信號函數(shù)調(diào)用發(fā)生器向Goto 模塊傳遞信號Goto 模塊標(biāo)記控制器將信號與特定的偏移值比較初始化信號矩陣串聯(lián)器合并輸入信號為一個輸出模塊控制信息信號組合器信號探測器信號維數(shù)改變器選擇或重組信號信號線屬性修改輸入信號寬度模模塊塊功功能能說說明明: 對信號進(jìn)行分配 由輸入產(chǎn)生總線信號 總線信號選擇器 用戶定義的數(shù)據(jù)存儲區(qū) 從數(shù)據(jù)存儲區(qū)中讀取數(shù)據(jù) 向數(shù)據(jù)存儲區(qū)寫數(shù)據(jù) 模塊功能說明:對信號進(jìn)行分配由輸入產(chǎn)生總線信號總線信號選擇器用戶定義的數(shù)據(jù)存儲區(qū)從數(shù)據(jù)存儲區(qū)中讀取數(shù)據(jù)向數(shù)據(jù)存儲區(qū)寫數(shù)據(jù) 圖6.9 信號與系統(tǒng)模塊庫及
12、其功能 7. Sinks(系統(tǒng)輸出模塊庫)系統(tǒng)輸出模塊庫以及其中各模塊的功能如圖6.10所示。8. Sources(系統(tǒng)輸入模塊庫)系統(tǒng)輸入模塊庫以及其中各模塊的功能如圖6.11所示。9. Subsystems(子系統(tǒng)模塊庫) 子系統(tǒng)模塊庫以及其中各模塊功能如圖6.12所示。 模模塊塊功功能能說說明明: 以數(shù)值形式顯示輸入信號 懸浮信號顯示器 為子系統(tǒng)或模型提供輸出端口 信號顯示器 當(dāng)輸入非零時停止仿真 中斷輸出信號 將仿真數(shù)據(jù)寫入 mat 文件 將仿真數(shù)據(jù)輸出到 Matlab 工作空間 使用 Matlab 圖形顯示數(shù)據(jù) 模塊功能說明:以數(shù)值形式顯示輸入信號懸浮信號顯示器為子系統(tǒng)或模型提供輸出
13、端口信號顯示器當(dāng)輸入非零時停止仿真中斷輸出信號將仿真數(shù)據(jù)寫入.mat文件將仿真數(shù)據(jù)輸出到MATLAB工作空間使用MATLAB圖形顯示數(shù)據(jù)圖6.10 系統(tǒng)輸出模塊庫及其功能 模塊功能說明:模塊功能說明: 有限帶寬白噪聲 輸出頻率隨時間線性變換的正弦信號 輸出當(dāng)前仿真時間 常數(shù)輸入 以固定速率輸出當(dāng)前仿真時間 從 Matlab 工作空間中輸入數(shù)據(jù) 從 mat 文件中輸入數(shù)據(jù) 接地信號 為子系統(tǒng)或其它模型提供輸入端口 輸入脈沖信號 輸入斜坡信號 輸入服從高斯分布的隨機(jī)信號 輸入周期信號 信號發(fā)生器 正弦信號初始器 輸入階躍信號 輸入服從高斯分布的隨機(jī)信號 模塊功能說明:有限帶寬白噪聲輸出頻率隨時間線
14、性變換的正弦信號輸出當(dāng)前仿真時間常數(shù)輸入以固定速率輸出當(dāng)前仿真時間從MATLAB工作空間中輸入數(shù)據(jù)從.mat文件中輸入數(shù)據(jù)接地信號為子系統(tǒng)或其它模型提供輸入端口輸入脈沖信號輸入斜坡信號輸入服從高斯分布的隨機(jī)信號輸入周期信號信號發(fā)生器正弦信號初始器輸入階躍信號輸入服從高斯分布的隨機(jī)信號圖6.11 系統(tǒng)輸入模塊庫及其功能模塊功能說明:模塊功能說明: 可配置子系統(tǒng) 原子子系統(tǒng) 使能子系統(tǒng) 使能觸發(fā)子系統(tǒng) For 循環(huán)子系統(tǒng) 函數(shù)調(diào)用子系統(tǒng) If 條件子系統(tǒng) 條件執(zhí)行子系統(tǒng) 通用子系統(tǒng) 子系統(tǒng)示例 SwitchCase 子系統(tǒng) SwitchCase 動作子系統(tǒng) 觸發(fā)子系統(tǒng) 當(dāng)型循環(huán)子系統(tǒng) 模塊功能說明
15、:可配置子系統(tǒng)原子子系統(tǒng)使能子系統(tǒng)使能觸發(fā)子系統(tǒng)For循環(huán)子系統(tǒng)函數(shù)調(diào)用子系統(tǒng)If條件子系統(tǒng)條件執(zhí)行子系統(tǒng)通用子系統(tǒng)Switch-Case子系統(tǒng)Switch-Case動作子系統(tǒng)觸發(fā)子系統(tǒng)當(dāng)型循環(huán)子系統(tǒng)圖6.12 子系統(tǒng)模塊庫及其功能6.1.3 Simulink專業(yè)模塊庫 Simulink集成了許多面向各專業(yè)領(lǐng)域的系統(tǒng)模塊庫,不同領(lǐng)域的系統(tǒng)設(shè)計者可以使用這些系統(tǒng)模塊快速構(gòu)建自己的系統(tǒng)模型,然后在此基礎(chǔ)上進(jìn)行系統(tǒng)的仿真與分析,從而完成系統(tǒng)設(shè)計的任務(wù)。這里僅簡單介紹部分專業(yè)模塊庫的主要功能。 (1) Control System Toolbox模塊庫:面向控制系統(tǒng)的設(shè)計與分析,主要提供線性時不變系統(tǒng)
16、的模塊。 (2) DSP Blockset模塊庫:面向數(shù)字信號處理系統(tǒng)的設(shè)計與分析,主要提供DSP輸入模塊、DSP輸出模塊、信號預(yù)測與估計模塊、濾波器模塊、DSP數(shù)學(xué)函數(shù)庫、量化器模塊、信號管理模塊、信號操作模塊、統(tǒng)計模塊以及信號變換模塊等。 (3) Simulink Extras模塊庫:主要補(bǔ)充Simulink公共模塊庫,提供附加連續(xù)模塊庫、附加線性系統(tǒng)模塊庫、附加輸出模塊庫、觸發(fā)器模塊庫、線性化模塊庫、系統(tǒng)轉(zhuǎn)換模塊庫以及航空航天系統(tǒng)模塊庫等。 (4) S-function demos模塊庫:主要提供C+、C、FORTRAN以及M文件下S-函數(shù)的模塊庫的演示模塊。 (5) Real-Time
17、 Workshop與Real-Time Windows Target模塊庫:主要提供各種用來進(jìn)行獨(dú)立可執(zhí)行代碼或嵌入式代碼生成,以實(shí)現(xiàn)高效實(shí)時仿真的模塊。它們和RTW、TLC有著密切的聯(lián)系。 (6) Stateflow庫:對使用狀態(tài)圖所表達(dá)的有限狀態(tài)機(jī)模型進(jìn)行建模仿真和代碼生成。有限狀態(tài)機(jī)用來描述基于事件的控制邏輯,也可用于描述響應(yīng)型系統(tǒng)。 (7) 定點(diǎn)模塊庫:包含一組用于定點(diǎn)算法仿真的模塊。 (8) 通信模塊庫:專用于通信系統(tǒng)仿真的一組模塊。 (9) Dials & Gauges庫:圖形儀表模塊庫,它們實(shí)際上是一組ActiveX控件。 (10) 神經(jīng)網(wǎng)絡(luò)模塊庫:用于神經(jīng)網(wǎng)絡(luò)的分析設(shè)計
18、和實(shí)現(xiàn)的一組模塊。 (11)模糊控制模塊庫:包括一組有關(guān)模糊控制的分析設(shè)計和實(shí)現(xiàn)的模塊。 (12) xPC模塊庫:提供了一組用于xPC仿真的模塊。 6.2 構(gòu)建Simulink框圖 6.1節(jié)中簡單介紹了Simulink中的一些比較常用的系統(tǒng)模塊。本節(jié)將介紹如何使用這些系統(tǒng)模塊以構(gòu)建用戶自己的系統(tǒng)模型。當(dāng)Simulink庫瀏覽器被啟動之后,通過鼠標(biāo)左鍵單擊模塊庫的名稱可以查看模塊庫中的模塊。模塊庫中包含的系統(tǒng)模塊顯示在Simulink庫瀏覽器右邊的一欄中。對Simulink庫瀏覽器的基本操作有: (1) 使用鼠標(biāo)左鍵單擊系統(tǒng)模塊庫,如果模塊庫為多層結(jié)構(gòu),則單擊“+”號載入庫。 (2) 使用鼠標(biāo)右
19、鍵單擊系統(tǒng)模塊庫,在單獨(dú)的窗口打開庫。 (3) 使用鼠標(biāo)左鍵單擊系統(tǒng)模塊,在模塊描述欄中顯示此模塊的描述。 (4) 使用鼠標(biāo)右鍵單擊系統(tǒng)模塊,可以得到系統(tǒng)模塊的幫助信息,將系統(tǒng)模塊插入到系統(tǒng)模型中,查看系統(tǒng)模塊的參數(shù)設(shè)置,以及回到系統(tǒng)模塊的上一層庫。 6.2.1 模塊選擇 用一個非常簡單的例子介紹如何建立動態(tài)系統(tǒng)模型。此簡單系統(tǒng)的輸入為一個正弦波信號,輸出為此正弦波信號與一個常數(shù)的乘積。要求建立系統(tǒng)模型,并以圖形方式輸出系統(tǒng)運(yùn)算結(jié)果。已知系統(tǒng)的數(shù)學(xué)描述為 系統(tǒng)輸入: , t0 系統(tǒng)輸出: 0),()(atautyttusin)( 啟動Simulink并新建一個系統(tǒng)模型文件。欲建立此簡單系統(tǒng)的模
20、型,需要如下的系統(tǒng)模塊(均在Simulink公共模塊庫中): (1) 系統(tǒng)輸入模塊庫Sources中的Sine Wave模塊:產(chǎn)生一個正弦波信號。 (2) 數(shù)學(xué)庫Math中的Gain模塊:將信號乘上一個常數(shù)(即信號增益)。 (3) 系統(tǒng)輸出庫Sinks中的Scope模塊:圖形方式顯示結(jié)果。 選擇相應(yīng)的系統(tǒng)模塊并將其拷貝(或拖動)到新建的系統(tǒng)模型中,如圖6.13所示。圖6.13 選擇系統(tǒng)所需模塊 在選擇構(gòu)建系統(tǒng)模型所需的所有模塊后,需要按照系統(tǒng)的信號流程將各系統(tǒng)模塊正確連接起來。連接系統(tǒng)模塊的步驟如下: (1) 將光標(biāo)指向起始塊的輸出端口,此時光標(biāo)變成“+”。 (2) 單擊鼠標(biāo)左鍵并拖動到目標(biāo)模
21、塊的輸入端口,在接近到一定程度時光標(biāo)變成雙十字。這時松開鼠標(biāo)鍵,連接完成。完成后在連接點(diǎn)處出現(xiàn)一個箭頭,表示系統(tǒng)中信號的流向。 (3) 在Simulink的最新版本中,連接系統(tǒng)模塊還有如下更有效的方式: 使用鼠標(biāo)左鍵單擊起始模塊。 按下Ctrl鍵,并用鼠標(biāo)左鍵單擊目標(biāo)塊。 6.2.2 模塊操作 下面介紹一些對系統(tǒng)模塊進(jìn)行操作的基本技巧,掌握它們可使建立動態(tài)系統(tǒng)模型變得更為方便快捷。 1. 模塊的復(fù)制 如果需要幾個同樣的模塊,可以使用鼠標(biāo)右鍵單擊并拖動某個塊進(jìn)行拷貝。也可以在選中所需的模塊后,使用Edit菜單上的 Copy 和Paste 或使用熱鍵Ctrl+C和Ctrl+V完成同樣的功能,如圖6
22、.15所示。 圖6.15 模塊的復(fù)制 2. 模塊的插入 如果用戶需要在信號連線上插入一個模塊,只需將這個模塊移到線上就可以自動連接。注意這個功能只支持單輸入單輸出模塊。對于其他的模塊,只能先刪除連線,放置塊,然后再重新連線。具體操作如圖6.16所示。 圖6.16 系統(tǒng)模塊的插入3. 連線分支與連線改變 在某些情況下,一個系統(tǒng)模塊的輸出同時作為多個其它模塊的輸入,這時需要從此模塊中引出若干連線,以連接多個其它模塊。對信號連線進(jìn)行分支的操作方式為:使用鼠標(biāo)右鍵單擊需要分支的信號連線(光標(biāo)變成“+”),然后拖動到目標(biāo)模塊。 對信號連線還有以下幾種常用的操作: (1) 使用鼠標(biāo)左鍵單擊并拖動以改變信號
23、連線的路徑。 (2) 按下Shift鍵的同時,在信號連線上單擊鼠標(biāo)左鍵并拖動,可以生成新的節(jié)點(diǎn)。 (3) 在節(jié)點(diǎn)上使用鼠標(biāo)左鍵單擊并拖動,可以改變信號連線路徑。 信號連線分支與連線改變?nèi)鐖D6.17所示。 改變粗細(xì)改變粗細(xì):選中Format菜單下的Wide Vector Lines時,線的粗細(xì)會根據(jù)線所引出的信號是標(biāo)量還是向量而改變,如果信號為標(biāo)量則為細(xì)線,若為向量則為粗線。 設(shè)定標(biāo)簽設(shè)定標(biāo)簽:在線上雙擊鼠標(biāo),即可輸入該線的說明標(biāo)簽。也可以通過選中線,然后打開Edit菜單下的Signal Properties進(jìn)行設(shè)定 右鍵單擊連線拖動到目標(biāo)模塊 按下 Shift 鍵、左鍵單擊并拖動 左鍵單擊并拖
24、動 使用鼠標(biāo)右鍵單擊連線拖動到目標(biāo)模塊按下Shift鍵、使用鼠標(biāo)左鍵單擊并拖動使用鼠標(biāo)左鍵單擊并拖動圖6.17 連線分支與連線改變 4. 信號組合 在利用Simulink進(jìn)行系統(tǒng)仿真時,在很多情況下,需要將系統(tǒng)中某些模塊的輸出信號(一般為標(biāo)量)組合成一個向量信號,并將得到的信號作為另外一個模塊的輸入。 圖6.18 信號組合Signals & Systems 庫庫 :信號分路器 。 將混路器輸出的信號依照原來的構(gòu)成方法分解成多路信號。 :信號匯總器 將多路信號依照向量的形式混合成一路信號。 (a)(b)Simulink中的LTI Viewer 在Simulink中建立的仿真模型也可直接輸
25、入到LTI Viewer中進(jìn)行分析,具體方法如下:在Simulink 模型窗建立起仿真模型(線性系統(tǒng))。點(diǎn)擊Simulink模型窗上的【Tool:Linear analysis】,在彈出的界面中將輸入輸出接點(diǎn)分別復(fù)制到仿真模型的輸入和輸出。仿真模型的輸入輸出接點(diǎn) 再次點(diǎn)擊SIMULINK模型窗上的ToolLinear analysis,打開LTI Viewer仿真界面,點(diǎn)擊該界面上Simulink Get Linearized Model選項(xiàng),即畫出系統(tǒng)的階躍響應(yīng)曲線,表明SIMULINK中的仿真模型已和LTI Viewer相連接,因此可利用LTI Viewer對該系統(tǒng)進(jìn)行分析。 LTI Vi
26、ewer獲取模型窗中模型 LTI Viewer繪制的階躍響應(yīng)曲線如果在Simulink模型窗對已輸入到LTI Viewer中的模型進(jìn)行了修改,應(yīng)重復(fù)步驟(3)重新裝入模型,并刪除掉舊模型。方法是點(diǎn)擊LTI Viewer仿真界面上的【EditDelete systems】,在彈出的對話框中,進(jìn)行模型的刪除,如圖所示。 模型的刪除6.2.3 運(yùn)行仿真 1. 系統(tǒng)模塊參數(shù)設(shè)置與系統(tǒng)仿真參數(shù)設(shè)置 當(dāng)用戶按照信號的輸入輸出關(guān)系連接各系統(tǒng)模塊之后,系統(tǒng)模型的創(chuàng)建工作便已結(jié)束。為了對動態(tài)系統(tǒng)進(jìn)行正確的仿真與分析,必須設(shè)置正確的系統(tǒng)模塊參數(shù)與系統(tǒng)仿真參數(shù)。系統(tǒng)模塊參數(shù)的設(shè)置方法如下: (1) 雙擊系統(tǒng)模塊,打
27、開系統(tǒng)模塊的參數(shù)設(shè)置對話框。 (2) 在參數(shù)設(shè)置對話框中設(shè)置合適的模塊參數(shù)。 (3)當(dāng)系統(tǒng)中各模塊的參數(shù)設(shè)置完畢后,可設(shè)置合適的系統(tǒng)仿真參數(shù)以進(jìn)行動態(tài)系統(tǒng)的仿真。雙擊系統(tǒng)模塊出現(xiàn)相應(yīng)的模塊參數(shù)設(shè)置對話框以設(shè)置系統(tǒng)參數(shù)區(qū)分向量信號并顯示向量信號的維數(shù)雙擊系統(tǒng)模塊,出現(xiàn)相應(yīng)的模塊參數(shù)設(shè)置對話框以設(shè)置系統(tǒng)參數(shù)區(qū)分向量信號并顯示向量信號的維數(shù)圖6.19 系統(tǒng)模塊參數(shù)設(shè)置 2. 運(yùn)行仿真 當(dāng)對系統(tǒng)中各模塊參數(shù)以及系統(tǒng)仿真參數(shù)進(jìn)行正確設(shè)置之后,單擊系統(tǒng)模型編輯器上的Play圖標(biāo)(黑色三角)或選擇Simulation菜單下的Start便可以對系統(tǒng)進(jìn)行仿真分析。對于圖6.19所示的動態(tài)系統(tǒng),采用上述的模塊參數(shù)
28、設(shè)置與默認(rèn)的仿真參數(shù)進(jìn)行仿真。仿真結(jié)束后雙擊Scope模塊以顯示系統(tǒng)仿真的輸出結(jié)果,如圖6.20所示。 , 單擊 Start Simulation 按鈕以缺省參數(shù)仿真 向量信號輸出, 其中黃色顯示為 Mux 第一端口的信號、紫色顯示為 Mux第二端口的信號。 圖6.20 系統(tǒng)仿真及結(jié)果輸出示波器示波器 :顯示在仿真過程產(chǎn)生的信號波形。雙擊該圖標(biāo),彈出示波器窗如右圖所示:分別管理X-Y、X和Y軸向變焦取當(dāng)前窗中信號最大、最小值為縱坐標(biāo)的上下限把當(dāng)前軸的設(shè)置保存為該示波器的缺省設(shè)置打開示波器屬性對話框設(shè)置為浮動示波器示波器屬性對話框示波器屬性對話框設(shè)置Y軸個數(shù)設(shè)置顯示的時間范圍選擇軸的標(biāo)注方法確定
29、顯示頻度(每隔n-1個數(shù) 據(jù) 點(diǎn) 顯 示 一 次 )確定顯示點(diǎn)的時間間隔(缺省 為 0 表 示 連 續(xù) 顯 示 )示波器屬性對話框General頁示波器屬性對話框Data history頁設(shè)定緩沖區(qū)接受數(shù)據(jù)的長度,勾選為缺省狀態(tài),其值為5000確定示波器數(shù)據(jù)是 否 保 存 到MATLAB工作空間。若勾選則為保存,且需確定變量名和保存格式(缺省時,不被勾選)MATLAB 命令窗口下的仿真運(yùn)行命令窗口下的仿真運(yùn)行在Matlab命令窗口下可直接運(yùn)行一個已存在的Simulink模型:t,x,y=sim(model,timespan,option,ut)其中,t為返回的仿真時間向量; x為返回的狀態(tài)矩陣
30、; y為返回的輸出矩陣; model為系統(tǒng)Simulink模型文件名; timespan為仿真時間;option為仿真參數(shù)選擇項(xiàng),由simset設(shè)置;ut為選擇外部產(chǎn)生輸入,ut=T,u1,u2,un。說明上述參數(shù)中,若省略timespan,option,ut則由框圖模型的對話框Simulation Parameters設(shè)置仿真參數(shù)。Simulink建模和仿真的基本步驟:1、根據(jù)系統(tǒng)的物理模型或數(shù)學(xué)模型,在Simulink Browser中選取相關(guān)模塊2、將選取的模塊按照模塊間的輸入輸出關(guān)系進(jìn)行連接3、設(shè)置系統(tǒng)的模塊參數(shù)4、設(shè)置系統(tǒng)的仿真參數(shù)5、運(yùn)行仿真模型,進(jìn)行分析和調(diào)試6.3 設(shè)計Simu
31、link框圖的界面 6.2節(jié)對使用Simulink進(jìn)行系統(tǒng)建模與仿真做了簡單的介紹,任何動態(tài)系統(tǒng)的模型構(gòu)建與仿真的步驟都與此類似。本節(jié)所要介紹的Simulink界面設(shè)計主要用來改善系統(tǒng)模型的界面,以便于用戶對系統(tǒng)模型的理解與維護(hù)。 6.3.1 模塊及框圖屬性編輯 1. 框圖的視圖調(diào)整 在Simulink系統(tǒng)模型編輯器中,可以對系統(tǒng)模型的視圖進(jìn)行調(diào)整以便更好地觀察系統(tǒng)模型。視圖調(diào)整的方法如下所述: (1) 使用View菜單控制模型在視圖區(qū)的顯示,用戶可以對模型視圖進(jìn)行任意縮放。 (2) 使用系統(tǒng)熱鍵R(放大)或V(縮小)。 (3) 按空格鍵可以使系統(tǒng)模型充滿整個視圖窗口。 視圖調(diào)整效果如圖6.2
32、1所示: 2. 模塊的名稱操作 在使用Simulink中的系統(tǒng)模塊構(gòu)建系統(tǒng)模型時,Simulink會自動給系統(tǒng)模型中的模塊命名,如在6.2節(jié)的簡單動態(tài)系統(tǒng)中,正弦信號模塊名稱為Sine Wave;對于系統(tǒng)模型中相同的模塊,Simulink會自動對其進(jìn)行編號。一般對于簡單的系統(tǒng),可以采用Simulink的自動命名;但對于復(fù)雜系統(tǒng),給每個模塊取一個具有明顯意義的名稱非常有利于系統(tǒng)模型的理解與維護(hù)。下面簡單介紹一下模塊名稱的操作。 (1) 模塊命名:使用鼠標(biāo)左鍵單擊模塊名稱,進(jìn)入編輯狀態(tài),然后鍵入新的名稱。 (2) 名稱移動:使用鼠標(biāo)左鍵單擊模塊名稱并拖動到模塊的另一側(cè),或選擇Format菜單中的F
33、lip Name翻轉(zhuǎn)模塊名稱。 (3) 名稱隱藏:選擇Format菜單中的Hide Name隱藏系統(tǒng)模塊名稱。 注意注意: 系統(tǒng)模型中模塊的名稱應(yīng)當(dāng)是唯一的,否則Simulink會給出警告并自動改變名稱。系統(tǒng)模型中模塊的名稱操作如圖6.22所示。 3. 模塊的其它操作 Simulink允許用戶對模塊的幾何尺寸進(jìn)行修改,以改善系統(tǒng)模型框圖的界面。例如,對于具有多個輸入端口的模塊,需要調(diào)整其大小使其能夠較好地容納多個信號連線,而非采用模塊的默認(rèn)大?。涣硗?,對于某些系統(tǒng)模塊,當(dāng)模塊的尺寸足夠大時,模塊的參數(shù)將直接顯示在模塊上面,這非常有利于用戶對模型的理解。 Simulink允許改變模塊的顏色。使用
34、鼠標(biāo)右鍵單擊模塊,選擇Foreground color或Background color菜單來設(shè)置顏色;或使用模型編輯器中Format菜單中的相應(yīng)命令設(shè)置模塊顏色。如果模塊的前景色發(fā)生改變,則所有由此模塊引出的信號線顏色也隨之改變;當(dāng)系統(tǒng)模型框圖很復(fù)雜時,這個特性能夠有效地增強(qiáng)框圖的可讀性。 此外,還可以使用Format菜單中的Show Drop Shadow為模塊生成陰影,或使用Flip Block、Rotate Block對模塊進(jìn)行翻轉(zhuǎn)與旋轉(zhuǎn),或使用Font對模塊字體進(jìn)行設(shè)置等。對模塊的操作如圖6.23所示。 Sine Wave 模塊的前景色改變?yōu)?Magenta, 由其引出的信號線也隨之
35、改變 Gain 模塊的尺寸變大、Scope模塊顯示陰影 圖6.23 模塊的其它操作 4. 系統(tǒng)框圖注釋 作為友好的Simulink系統(tǒng)模型界面,對系統(tǒng)模型的注釋是不可缺少的。在Simulink中對系統(tǒng)模型框圖進(jìn)行注釋的方法非常簡單,只需在系統(tǒng)模型編輯器的背景上雙擊鼠標(biāo)左鍵以確定添加注釋文本的位置,并打開一個文本編輯框,用戶便可以在此輸入相應(yīng)的注釋文本。輸入完畢后,使用鼠標(biāo)左鍵單擊以退出編輯并移動文本位置(編輯框未被選中情況下)到合適的地方。 此外,在文本對象上單擊鼠標(biāo)右鍵,可以改變文本的屬性如大小、字體和對齊方式等。在任何時候都可以雙擊注釋文本進(jìn)行編輯。系統(tǒng)框圖注釋如圖6.24所示。 左鍵雙擊
36、背景進(jìn)行注釋 右鍵單擊注釋文本以編輯文本的各種屬性 使用鼠標(biāo)左鍵雙擊背景進(jìn)行注釋使用鼠標(biāo)右鍵單擊注釋文本以編輯文本的各種屬性 圖6.24 系統(tǒng)模型框圖注釋 6.3.2 信號標(biāo)簽與標(biāo)簽傳遞 1. 信號標(biāo)簽 所謂的信號標(biāo)簽,也可以稱為信號的“名稱”或“標(biāo)記”,它與特定的信號相聯(lián)系,是信號的一個固有屬性。這一點(diǎn)與系統(tǒng)框圖注釋不同,框圖注釋是對整個或局部系統(tǒng)模型進(jìn)行說明的文字信息,它與系統(tǒng)模型相分離。 生成信號標(biāo)簽的方法有如下兩種: (1) 使用鼠標(biāo)左鍵雙擊需要加入標(biāo)簽的信號(即系統(tǒng)模型中與信號相對應(yīng)的模塊連線),這時便會出現(xiàn)標(biāo)簽編輯框,在其中鍵入標(biāo)簽文本即可。與框圖注釋類似,信號標(biāo)簽可以移動到希望的
37、位置,但只能是在信號線的附近。如果強(qiáng)行將標(biāo)簽拖動離開信號線,標(biāo)簽會自動回到原處。當(dāng)一個信號定義了標(biāo)簽后,從這條信號線引出的分支線會繼承這個標(biāo)簽,如圖6.25所示。 左鍵雙擊信號鍵入信號標(biāo)簽 信號分支線自動繼承標(biāo)簽 用鼠標(biāo)左鍵雙擊信號鍵入信號標(biāo)簽信號分支線自動繼承標(biāo)簽圖6.25 信號標(biāo)簽操作之一 (2) 首先選擇需要加入標(biāo)簽的信號,用鼠標(biāo)左鍵單擊信號連線;然后使用Edit菜單下的 Signal Properties項(xiàng),在打開的界面中編輯信號的名稱,而且還可以使用這個界面對信號作簡單的描述,并建立HTML文檔鏈接,如圖6.26所示。 注意注意: 雖然信號標(biāo)簽的內(nèi)容可以任意指定,但為了系統(tǒng)模型可讀性
38、,信號標(biāo)簽最好使用能夠代表信號特征的名稱(如信號類型、信號作用等)。圖6.26 信號標(biāo)簽操作之二 2. 信號標(biāo)簽的傳遞 在系統(tǒng)模型中,信號標(biāo)簽可以由某些稱之為“虛塊”的系統(tǒng)模塊來進(jìn)行傳遞。這些虛塊主要用來完成對信號的選擇、組合與傳遞,它不改變信號的任何屬性。如Signals & Systems模塊庫中的Mux模塊的功能是組合信號,但并不改變信號的值。 信號標(biāo)簽傳遞的方法有如下幾種: (1) 選擇信號線并用鼠標(biāo)左鍵雙擊,在信號標(biāo)簽編輯框中鍵入,在此尖括號中鍵入信號標(biāo)簽即可傳遞信號標(biāo)簽。 (2) 選擇信號線,然后選擇Edit菜單中的SignalProperties;或單擊鼠標(biāo)右鍵,選擇彈出
39、式菜單中的Signal Properties,將Show Propagated Signals設(shè)置為 on即可。 注意:只能在信號的前進(jìn)方向上傳遞該信號標(biāo)簽。當(dāng)一個帶有標(biāo)簽的信號與Scope塊連接時,信號標(biāo)簽將作為標(biāo)題顯示。 6.3.3 Simulink子系統(tǒng)介紹 對于簡單的動態(tài)系統(tǒng)而言,用戶很容易建立系統(tǒng)模型并分析系統(tǒng)模型中各模塊之間的相互關(guān)系,以及模塊的輸入輸出關(guān)系。但是對于比較復(fù)雜的系統(tǒng),系統(tǒng)模型中包含的模塊數(shù)目較多,模塊之間的輸入輸出關(guān)系比較復(fù)雜。這時對于分析與設(shè)計系統(tǒng)而言,都會給用戶帶來諸多的不便,而使用子系統(tǒng)技術(shù)則可以較好地解決這一問題。 1. 子系統(tǒng)生成 Simulink提供的子
40、系統(tǒng)功能可以大大地增強(qiáng)Simulink系統(tǒng)模型框圖的可讀性。所謂的子系統(tǒng)可以理解為一種“容器”,此容器能夠?qū)⒁唤M相關(guān)的模塊封裝到一個單獨(dú)的模塊中,并且與原來系統(tǒng)模塊組的功能一致。 子系統(tǒng)的建立方法有如下兩種: (1) 在已有的系統(tǒng)模型中建立子系統(tǒng) 首先框選待封裝的區(qū)域,即在模型編輯器背景中單擊鼠標(biāo)左鍵并拖動,選中需要放置到子系統(tǒng)中的模塊與信號(或在按下Shift鍵的同時,用鼠標(biāo)左鍵單擊所需模塊);然后選擇Edit菜單下的Create Subsystem,即可建立子系統(tǒng)。如圖6.28所示。 框選模塊,選擇 Edit 菜單中的 Create Subsystem 左鍵雙擊子系統(tǒng)顯示其內(nèi)容 用鼠標(biāo)左鍵
41、雙擊子系統(tǒng)顯示其內(nèi)容圖6.28 子系統(tǒng)建立:選擇模塊生成子系統(tǒng) 組合已存在的模塊來建立子系統(tǒng) 如果現(xiàn)有的模型已經(jīng)包含了需要轉(zhuǎn)化成子系統(tǒng)的模塊,就可以通過組合這些模塊的方式建立子系統(tǒng)。步驟如下: 確定需建立Subsystem的模型(被選中的均標(biāo)記有黑塊) 圈選欲建子系統(tǒng)的模塊點(diǎn)擊模型窗Edit菜單下的Create Subsystem 命令,則所選定的模型組合自動轉(zhuǎn)化成子系統(tǒng):雙擊該圖標(biāo),可打開該子系統(tǒng)窗口,改寫輸入輸出符號:關(guān)閉子系統(tǒng)編輯窗口,設(shè)置子系統(tǒng)標(biāo)簽,則系統(tǒng)模型如下圖所示: (2) 建立空的子系統(tǒng):使用Subsystems (有的版本在Signals & Systems子庫里)模
42、塊庫中的模塊建立子系統(tǒng)。這樣建立的子系統(tǒng)內(nèi)容為空,然后雙擊子系統(tǒng)對其進(jìn)行編輯。如圖6.29所示。 使 用 多 個 Outport 模 塊 ,即 Out1 模 塊 以 產(chǎn) 生 多 個輸 出 信 號 左 鍵 雙 擊 Subsystem以 編 輯 子 系 統(tǒng) 使用鼠標(biāo)左鍵雙擊Subsystem以編輯子系統(tǒng)圖6.29 子系統(tǒng)建立:生成并編輯空子系統(tǒng)下面以PID控制器子系統(tǒng)創(chuàng)建,說明子系統(tǒng)的創(chuàng)建過程:將子系統(tǒng)庫模塊中的Subsystem模塊復(fù)制到模型窗,如右圖所示。雙擊該圖標(biāo)即打開該子系統(tǒng)的編輯窗口,如下圖所示。 子系統(tǒng)模塊復(fù)制到模型窗 原始子系統(tǒng)模塊的內(nèi)部結(jié)構(gòu)型窗 將組成子系統(tǒng)的模塊添加到子系統(tǒng)編輯窗
43、口:將模塊按設(shè)計要求連接: 設(shè)置子系統(tǒng)各模塊參數(shù)(可以是變量);修改 in1 和 out1 模塊下面的標(biāo)簽;關(guān)閉子系統(tǒng)的編輯窗口,返回模型窗口,修改子系統(tǒng)的標(biāo)簽(PID),該P(yáng)ID子系統(tǒng)即可作為模塊在構(gòu)造系統(tǒng)模型時使用。 2. 子系統(tǒng)的封裝 子系統(tǒng)可以建立自己的參數(shù)設(shè)置對話框,以避免對子系統(tǒng)內(nèi)的每個模塊分別進(jìn)行參數(shù)設(shè)置,因此在子系統(tǒng)建立好以后,需對其進(jìn)行封裝。子系統(tǒng)封裝的基本步驟為:設(shè)置好子系統(tǒng)中各模塊的參數(shù)變量;定義提示對話框及其特性;定義被封裝子系統(tǒng)的描述和幫助文檔;定義產(chǎn)生模塊圖標(biāo)的命令。 設(shè)置子系統(tǒng)參數(shù)變量設(shè)置子系統(tǒng)參數(shù)變量將原子系統(tǒng)中的常數(shù)改為變量,其中飽和環(huán)節(jié)的上、下限分別設(shè)為au
44、、ab (需打開該環(huán)節(jié)的參數(shù)設(shè)置框)。產(chǎn)生提示對話框產(chǎn)生提示對話框 選擇需要封裝的子系統(tǒng),從模型窗口的 Edit 菜單選擇Mask Subsystem命令,即彈出封裝編輯器:該編輯器分為四頁:Icon(圖標(biāo))頁P(yáng)arameters(參數(shù)頁)Initialiation(初始化)頁Documentation(文檔)頁 其中子系統(tǒng)封裝最關(guān)鍵的是Parameters項(xiàng),用于設(shè)置參數(shù)變量及其類型等。(1)Icon標(biāo)簽頁標(biāo)簽頁q此頁最重要的部分是Drawing Commands,在該區(qū)域內(nèi)可以用disp指令設(shè)定功能模塊的文字名稱,用plot指令畫線,用dpoly指令畫轉(zhuǎn)換函數(shù)。qdisp(text)可以在
45、功能模塊上顯示設(shè)定的文字內(nèi)容。qplot(x1 x2 xn,y1 y2 yn)指令在功能模塊上畫出直線。qdpoly(num,den):按s次數(shù)的降冪排序,在功能模塊上顯示連續(xù)的傳遞函數(shù)。q用戶還可以設(shè)置一些參數(shù)來控制圖標(biāo)的屬性,這些屬性在Icon頁右下端的下拉式列表中進(jìn)行選擇。qIcon frame:Visible 顯示外框線;Invisible:隱藏外框線。qIcon Transparency:Opaque 隱藏輸入輸出的標(biāo)簽;Transparent:顯示輸入輸出的標(biāo)簽。qIcon Rotation:旋轉(zhuǎn)模塊。qDrawing coordinate:畫圖時的坐標(biāo)系。(2)Initializ
46、ation標(biāo)簽頁標(biāo)簽頁q此頁主要用來設(shè)計輸入提示(prompt)以及對應(yīng)的變量名稱variable)。q在prompt編輯框中輸入文字,這些文字就會出現(xiàn)在prompt列表中;在variable列表中輸入變量名稱,則prompt中的文字對應(yīng)該變量的說明。qControl type列表給用戶提供選擇設(shè)計的編輯區(qū),選擇Edit會出現(xiàn)供輸入的空白區(qū)域,所輸入的值代表對應(yīng)的variable。qAssignment屬性用于配合Control type的不同選擇來提供不同的變量值,變量值有Evaluate和Literal兩種。(3)Documentation標(biāo)簽頁標(biāo)簽頁q此頁針對完成的功能模塊編寫相應(yīng)的說明
47、文字和Help。q在Block description中輸入的文字,會出現(xiàn)在參數(shù)窗口的說明部分。qMask type:此處輸入的文字作為封裝模塊的標(biāo)注說明,在模型窗口下,將鼠標(biāo)指向模塊,會顯示該文字。Parameters頁頁 AddDeleteUpDown提示符變量名直接輸入變量名變量的類型為數(shù)值變量的數(shù)值可在線調(diào)節(jié)假定子系統(tǒng)(Nonlinear system)的參數(shù)變量名已由封裝編輯器全部輸入。雙擊該子系統(tǒng)圖標(biāo),即彈出如圖所示子系統(tǒng)的參數(shù)設(shè)置框圖。如圖所示逐欄輸入與變量所對應(yīng)的參數(shù),即完成對該子系統(tǒng)的參數(shù)設(shè)置。3.條件子系統(tǒng)(1)使能子系統(tǒng)使能子系統(tǒng)該子系統(tǒng)當(dāng)使能端控制信號為正時,系統(tǒng)處于“
48、允許”狀態(tài),否則為“禁止”狀態(tài)?!笆鼓堋笨刂菩盘柨梢詾闃?biāo)量,也可以為向量。當(dāng)為標(biāo)量信號時,只要該信號大于零,子系統(tǒng)就開始執(zhí)行;當(dāng)為向量信號時,只要其中一個信號大于零,也“使能”子系統(tǒng)。例:積分分離式PID控制器。這種PID控制器可以讓控制器中的積分項(xiàng)在系統(tǒng)響應(yīng)進(jìn)入穩(wěn)態(tài)時投入運(yùn)行,以提高穩(wěn)態(tài)精度;而在系統(tǒng)響應(yīng)處于瞬態(tài)過程時,將積分項(xiàng)斷開以改善系統(tǒng)動態(tài)響應(yīng)質(zhì)量。積分分離式PID控制器建立如圖所示: 使能模塊的控制信號為delta與abs(e)的差值。delta為一很小的正數(shù),當(dāng)偏差e的絕對值小于delta時,控制器的積分項(xiàng)才投入使用,從而實(shí)現(xiàn)了控制器中的積分項(xiàng)的分離控制。(2)觸發(fā)子系統(tǒng)觸發(fā)子系統(tǒng)
49、觸發(fā)子系統(tǒng)只在觸發(fā)事件發(fā)生的時刻執(zhí)行。所謂觸發(fā)事件也就是觸發(fā)子系統(tǒng)的控制信號,一個觸發(fā)子系統(tǒng)只能有一個控制信號,在Simulink中稱之為觸發(fā)輸入。(a) 觸發(fā)子系統(tǒng)模塊(b) 觸發(fā)子系統(tǒng)模型n觸發(fā)事件有4種類型,即上升沿觸發(fā)、下降沿觸發(fā)、跳變觸發(fā)和回調(diào)函數(shù)觸發(fā)。雙擊觸發(fā)子系統(tǒng)中的觸發(fā)器模塊(Trigger),在彈出的對話框中可選擇觸發(fā)類型。 觸發(fā)子系統(tǒng)應(yīng)用的一個示例觸發(fā)子系統(tǒng)應(yīng)用的一個示例。觸發(fā)器設(shè)為下降沿觸發(fā),正弦輸入經(jīng)觸發(fā)。觸發(fā)器設(shè)為下降沿觸發(fā),正弦輸入經(jīng)觸發(fā)控制后,成為階梯波,如圖所示??刂坪螅蔀殡A梯波,如圖所示。系統(tǒng)僅在脈沖信號的下降沿導(dǎo)通,并保持導(dǎo)通時刻的輸入值至下一個脈沖下降沿
50、。 4. 子系統(tǒng)操作 在生成子系統(tǒng)之后,用戶可以對子系統(tǒng)進(jìn)行各種與系統(tǒng)模塊相類似的操作,這時子系統(tǒng)相當(dāng)于具有一定功能的系統(tǒng)模塊。例如,子系統(tǒng)的命名、子系統(tǒng)視圖的修改、子系統(tǒng)的顯示顏色等等。當(dāng)然子系統(tǒng)也有其特有的操作,如子系統(tǒng)的顯示(用鼠標(biāo)左鍵雙擊子系統(tǒng)模塊即可打開子系統(tǒng))、子系統(tǒng)的封裝等等。 6.3.4 建立復(fù)雜系統(tǒng)模型 Simulink適合建立大型復(fù)雜系統(tǒng)的模型,它為仿真系統(tǒng)模型的界面組織與設(shè)計提供了強(qiáng)大的支持。一般而言,建立復(fù)雜系統(tǒng)模型有兩種不同的思路: (1) 自下而上的設(shè)計思路:如果用戶從草圖開始建立一個復(fù)雜的模型,可以先建底層模型,然后對已經(jīng)建好的塊生成子系統(tǒng)。 (2) 自上而下的設(shè)
51、計思路:首先設(shè)計系統(tǒng)的總體模型,然后再進(jìn)行細(xì)節(jié)設(shè)計。采用這種方法,可以在頂層使用空的子系統(tǒng)塊,然后再實(shí)現(xiàn)具體的細(xì)節(jié)。 6.3.5 SIMULINK仿真運(yùn)行1、設(shè)置仿真參數(shù)和選擇解法器q選擇Simulation菜單下的Parameters命令,彈出一個仿真參數(shù)對話框,有三個管理仿真參數(shù)的頁面。qSolver頁,允許用戶設(shè)置仿真的開始和結(jié)束時間,選擇解法器,說明解法器參數(shù)及選擇一些輸出選項(xiàng)。qWorkspace I/O頁,設(shè)置模型從MATLAB工作空間的輸入和對它的輸出。qDiagnostics頁,允許用戶選擇仿真中顯示的警告信息等級。 運(yùn)行一個仿真的完整過程分成三個步驟:設(shè)置仿真參數(shù),啟動仿真和
52、仿真結(jié)果分析。(1)Solver頁(2)Workspace I/O頁q此頁主要用來設(shè)置SIMULINK與MATLAB工作空間交換數(shù)值的有關(guān)選項(xiàng)。(3)Diagnostics頁q此頁分兩個部分:仿真選項(xiàng)和配置選項(xiàng)。配置選項(xiàng)下的列表框主要列舉了常見的事件類型。仿真選項(xiàng)options主要包括是否進(jìn)行一致性檢驗(yàn)、是否禁用過零檢測、是否禁止復(fù)用緩存等。 除上述3個主要的頁外,仿真參數(shù)設(shè)置窗口還包括real-time workshop頁,主要用于與C語言編輯器的交換,通過它可直接從SIMULINK模型生成代碼并自動建立可在不同環(huán)境下運(yùn)行的程序。2、啟動仿真6.4 Simulink與MATLAB的接口設(shè)計6
53、.4.1 由MATLAB工作空間變量設(shè)置系統(tǒng)模塊參數(shù) 如前所述,用戶可以雙擊一個模塊以打開模塊參數(shù)設(shè)置對話框,然后直接輸入數(shù)據(jù)以設(shè)置模塊參數(shù)。其實(shí)用戶也可以使用MATLAB工作空間中的變量設(shè)置系統(tǒng)模塊參數(shù),這對于多個模塊的參數(shù)均依賴于同一個變量時非常有用。 (1) 直接使用MATLAB工作空間中的變量設(shè)置模塊參數(shù)。 (2) 使用變量構(gòu)成的表達(dá)式設(shè)置模塊參數(shù)。 例如,如果a是定義在MATLAB中的變量,則表達(dá)式a、a2+5、exp(a)等均可以作為系統(tǒng)模塊的參數(shù),如圖6.30所示。 模塊參數(shù)設(shè)置對話框中相應(yīng)的設(shè)置使用 Matlab 工作空間中的變量 模塊參數(shù)設(shè)置對話框中相應(yīng)的設(shè)置使用MATLAB
54、工作空間中的變量圖6.30 使用MATLAB工作空間變量設(shè)置模塊參數(shù)6.4.2 將信號輸出到MATLAB工作空間中 使用示波器模塊Scope的輸出信號,可以使用戶對輸出的信號進(jìn)行簡單的定性分析。 使用Sinks模塊庫中的To Workspace 模塊,可以輕易地將信號輸出到MATLAB工作空間中。信號輸出的名稱在To Workspace模塊的對話框中設(shè)置,此對話框還可以設(shè)置輸出數(shù)據(jù)的點(diǎn)數(shù)、輸出的間隔,以及輸出數(shù)據(jù)的類型等。其中輸出類型有三種形式:數(shù)組、結(jié)構(gòu)以及帶有時間變量的結(jié)構(gòu)。仿真結(jié)束或暫停時信號被輸出到工作空間中,如圖6.31所示。 使用Sinks模塊庫中的 To Workspace 模塊
55、輸出系統(tǒng)模型中指定的信號至Matlab 工作空間 使用Sinks模塊庫中的To Workspace模塊輸出系統(tǒng)模型中指定的信號至MATLAB工作空間圖6.31 系統(tǒng)模型中信號輸出6.4.3 使用工作空間變量作為系統(tǒng)輸入信號 Simulink與MATLAB的數(shù)據(jù)交互是相互的,除了可以將信號輸出到MATLAB工作空間中之外,用戶還可以使用MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號。使用Sources模塊庫中的From Workspace模塊可以將MATLAB工作空間中的變量作為系統(tǒng)模型的輸入信號。此變量的格式如下所示:t=0:time_step:final_time; % 表示信號輸入時間
56、范圍與時間步長x=func(t); % 表示在每一時刻的信號值input=t,x;%表示信號的輸入向量,輸入變量第一列須為時間序列,接下來的各列代表信號的取值例如,在MATLAB命令窗口中鍵入如下的語句并運(yùn)行。t=0:0.1:10;x=sin(t);input=t,x; 此窗口為 From Workspace 模塊的參數(shù)設(shè)置窗口 圖6.32 MATLAB工作空間變量作為系統(tǒng)輸入信號 運(yùn)行此系統(tǒng)進(jìn)行仿真,系統(tǒng)輸入信號input的作用相當(dāng)于Sources模塊中的Sine Wave模塊,其結(jié)果如圖6.33所示(Scope1顯示結(jié)果)。 圖6.33 使用input信號作為輸入的仿真結(jié)果 6.4.4 向
57、量與矩陣 在前面的系統(tǒng)模型中,Simulink所使用的信號均是標(biāo)量。其實(shí),Simulink 也能夠傳遞和使用向量信號。例如,向量增益可以作用在一個標(biāo)量信號上,產(chǎn)生一個向量輸出。在缺省情況下,模塊對向量中的逐個元素進(jìn)行操作,就像MATLAB中的數(shù)組運(yùn)算一樣,如圖6.34所示。 向量增益 乘法類型,共有三種:按元素操作、 按矩陣左乘以及按矩陣右乘。 對不同信號必須采用適當(dāng)?shù)呐渲谩?乘法類型共有三種:按元素操作、按矩陣左乘以及按矩陣右乘。對不同信號必須采用適當(dāng)?shù)呐渲脠D6.34 向量增益示意圖 Simulink最重要的特性就是支持矩陣形式的信號,它可以區(qū)分行和列向量并傳遞矩陣。通過對模塊做適當(dāng)?shù)呐渲茫?/p>
58、可以使模塊能夠接受矩陣作為模塊參數(shù)。在上面的例子中,如果Constant模塊的參數(shù)為一矩陣,并且Gain增益模塊被配置成按矩陣乘的定義從左邊乘上輸入向量,則Display 塊能夠感知到輸入信號的尺寸,即12行向量,并對邊框做適當(dāng)調(diào)整,如圖6.35所示。圖6.35 矩陣輸入與向量增益示意圖 6.4.5 MATLAB Function與Function模塊 除了使用上述的方式進(jìn)行Simulink與MATLAB之間的數(shù)據(jù)交互,用戶還可以使用Functions and Tables 模塊庫中的 Function模塊(簡稱為Fcn模塊)或Functions and Tables 模塊庫中的MATLAB
59、Function模塊(簡稱為MATLAB Fcn模塊)進(jìn)行彼此間的數(shù)據(jù)交互。 Fcn模塊一般用來實(shí)現(xiàn)簡單的函數(shù)關(guān)系,在Fcn模塊中: (1) 輸入總是表示成u,u可以是一個向量。 (2) 可以使用 C 語言表達(dá)式,例如sin(u1)+cos(u2)。 (3) 輸出永遠(yuǎn)為一個標(biāo)量。 MATLAB Fcn一般用來調(diào)用MATLAB函數(shù)來實(shí)現(xiàn)一定的功能,在MATLAB Fcn模塊中: (1) 所要調(diào)用的函數(shù)只能有一個輸出(可以是一個向量)。 (2) 單輸入函數(shù)只需使用函數(shù)名,多輸入函數(shù)輸入需要引用相應(yīng)的元素,如mean、sqrt、myfunc(u(1),u(2)。 (3) 在每個仿真步長內(nèi)都需要調(diào)用M
60、ATLAB解釋器。 使用Fcn模塊與MATLAB Fcn模塊進(jìn)行Simulink與MATLAB之間的數(shù)據(jù)交互如圖6.36所示。函數(shù)表達(dá)式 Matlab 函數(shù) MATLAB函數(shù)圖6.36 使用Fcn與MATLAB Fcn模塊進(jìn)行數(shù)據(jù)交互6.5 使用Simulink進(jìn)行簡單的仿真 例:信號平方運(yùn)算。系統(tǒng)的功能是對輸入的信號進(jìn)行平方運(yùn)算?,F(xiàn)要求建立系統(tǒng)的Simulink模型并進(jìn)行簡單的仿真分析。具體要求如下: (1) 系統(tǒng)輸入信號源:幅值為 2 的正弦波 (2) 使用Scope 顯示原始信號和結(jié)果信號 (3) 生成系統(tǒng)運(yùn)算部分的子系統(tǒng) (4) 生成信號標(biāo)簽并傳遞 解:首先選擇系統(tǒng)所需的如下模塊(組件): (1) Sources 庫中的Sine
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工招標(biāo)文件范本
- 建筑工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)和規(guī)范
- 2024高中地理第四章自然環(huán)境對人類活動的影響3自然資源與人類活動學(xué)案湘教版必修1
- 2024高中生物第6章生態(tài)環(huán)境的保護(hù)第1節(jié)人口增長對生態(tài)環(huán)境的影響課堂演練含解析新人教版必修3
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題三現(xiàn)代中國的政治建設(shè)祖國統(tǒng)一與對外關(guān)系第8講現(xiàn)代中國的對外關(guān)系教學(xué)案+練習(xí)人民版
- 2024高考地理一輪復(fù)習(xí)第一部分自然地理-重在理解第一章行星地球第5講地球公轉(zhuǎn)及其地理意義學(xué)案新人教版
- (譯林版)二年級英語上冊期中檢測卷-附參考答案
- 變頻技術(shù)及應(yīng)用 課件 學(xué)習(xí)情境1、2 變頻器的基礎(chǔ)知識、認(rèn)識變頻器
- 部編版九年級上冊語文期中復(fù)習(xí):文學(xué)類文本閱讀-專項(xiàng)練習(xí)題(文本版-含答案)
- 農(nóng)業(yè)土地政策資料講解
- Unit 3 We should obey the rules. Lesson15(說課稿)-2023-2024學(xué)年人教精通版英語五年級下冊
- 綿陽市高中2022級(2025屆)高三第二次診斷性考試(二診)語文試卷(含答案)
- 2024年聊城市東昌府區(qū)中醫(yī)院招聘備案制工作人員考試真題
- 2025年極兔速遞有限公司招聘筆試參考題庫含答案解析
- 人力資源許可證制度(服務(wù)流程、服務(wù)協(xié)議、收費(fèi)標(biāo)準(zhǔn)、信息發(fā)布審查和投訴處理)
- 借條的正規(guī)模板(2024版)
- 建設(shè)工程監(jiān)理費(fèi)計算器(免費(fèi))
- 春節(jié)期間安全管理實(shí)施方案與春節(jié)期間施工現(xiàn)場維穩(wěn)方案匯編
- spc 應(yīng)用表格-控制圖 P管制圖表
- 建材公司財務(wù)管理制度
- 作業(yè)布置批改檢查量化評分細(xì)則(完整版)
評論
0/150
提交評論