




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