MATLAB仿真-CATS實踐項目指導書_第1頁
MATLAB仿真-CATS實踐項目指導書_第2頁
MATLAB仿真-CATS實踐項目指導書_第3頁
MATLAB仿真-CATS實踐項目指導書_第4頁
MATLAB仿真-CATS實踐項目指導書_第5頁
已閱讀5頁,還剩87頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

MATLAB仿真-CATS實踐項目指導書

自動控制原理課程組編

浙江萬里學院電子信息學院

2012-5-24

目錄

第1章MATLAB軟件介紹..............................................3

1.1引言............................................................3

1.2MATLAB軟件.....................................................3

1.3MATLAB運行界面.................................................4

1.4MATLAB的基本使用說明..........................................6

第2章SIMULINK及CATS實驗設備介紹................................10

2.1SIMULINK簡介..................................................10

2.2建構模型.......................................................13

2.3仿真與分析.....................................................15

2.4CATS實驗裝置介紹..............................................17

2.4.1CATS功能與特性:...........................................17

2.4.2CATS仿真平臺軟件...........................................19

2.4.3CATS工具包.................................................20

2.5CATS電機控制示例.............................................21

2.5.1LapMap的沒置.............................................21

2.5.2建立傳遞函數..............................................29

第3章時域響應分析法..............................................33

3.1在SIMULINK中進行時域響應分析...................................33

3.2用M文件進行時域響應分析......................................34

第4章控制系統的穩定性分析.......................................42

第5章根軌跡分析法.................................................45

第6章系統頻域分析法..............................................50

6.1對數幅頻、對數相頻特性曲線的繪制..............................50

6.2NYQUIST圖(極坐標圖)的繪制...................................51

6.3頻域穩定性判斷.................................................53

第七章單輸入單輸出沒計工具一提高篇................................55

綜合項目-一直流電機咨制系統研究....................................63

第一章MATLAB軟件介紹

L1引言

控制系統計算機仿真這一學科是與計算機的發明、發展同步進行的。

安化什古幽理仿真

系統仿真|數學仿時?算機仿真)

物理仿真:利用幾何相似原理,仿制一個與實際系統工作原理相同、質地完全相

同但體積小得多的物理模型進行實驗研究。如將飛機模型放在氣流場

相似的風洞中來模仿真實的飛機在地球的大氣中。

計算機仿真:用計算機仿真來研究被仿真系統的工作特點,方便廉價、靈活可靠。

它越來越多取代了物理仿真。

控制系統計算機仿真過程:

第一步,建立自控系統的數學模型

解析法:利用物理、化學定律來列馬變量問輟學表達式

[實驗法:利用辨識技和&去一些次要因素

第二步,建立自控系統的仿真模型

原始的數摸如微分方程不能直接對系統進行仿真,轉換為傳函或動態結

構圖

第三步,編制仿真程序

用Basic、Fortran>C或匯編語言。

若用MATLAB的Toolbox工具箱及其Simulink仿真集成環境作仿真工

具,就是MATLAB仿真。

第四步,進行仿真試驗,并修改仿真模型、與程序輸出要求的結果。

1.2MATLAB軟件

MATLAB是MATrixLABoratoty縮寫,矩陣實驗室。是美國MathWorks

公司在20世紀80年代推出的高性能數值計算軟件。Moler博士開發MATLAB

最初目的是為線性代數的矩陣運算提供運算工具,后經完善擴充MATLAB可進

行各種科學與工程技術計算。成為線性代數、自動控制理論、數字信號處理等課

程的基本數學工具,成為大學生、碩、博士生必須掌握的基礎知識與基本技能。

發展歷程:

特點:

'(1)功能強的數值運算-可用于線性代數里的向量、數組、矩陣運算,復

數運算,高次方程求根,數值積分運算、最優化方法等兒乎所有科學研究與工程

技術方面(自動控制、生物醫學、語音圖像信號處理、建筑業、航空航天及半導

體制造行業)需要的計算均可用它求解。

例.求多項式尸(X)=/+2尤3+3/+4x+5的根

?p=[12345]

roots(p)

這些運算在控制理論及控制系統里大量存在,這一點就與自控密切聯系。

(2)使用MATLAB設計程序比Basic、Fortran.C等效率高,因為它有豐富的

庫函數(M文件),進行運算編程時可調用庫函數。

(3)界面友好,使用方便,MATLAB函數命令多,功能各異,格式:help+命

令或函數,幫助了解其功能與用法。如helpresidue。另外MATLAB是演算紙

式的計算語言,用它編程運算與人計算的思路表達方式一樣,如在演算紙上排列

書寫公式。

例.計算]:(4山工)2公=?

>>symsx;I=int((x*sin(x))*2,x,0,pi)

結果I=l/6*pi^3-l/4*pi

(4)強大的圖形功能,MATLAB有一系列繪圖函數命令,適于不同坐標系,

如線性、對數、半對數坐標及極坐標與三維坐標;可調整自變量可繪出不同顏色

與線型:點、實、復線等。MATLAB二維圖形功能:常用的plot。函數。格式:

plot(x1,)L選項Lxlyy2,選項2,??■)

(5)MATLAB功能齊備的自動控制軟件工具包

世界上許多自控專家在自己擅長的領域編寫了具有特殊功能的工具包如:控

制系統工具箱、模糊邏輯工具箱、神經網絡工具箱、最優控制、魯棒控制工具箱。

1.3MATLAB運行界面

(1)左下角有一開始[Start]按鈕,與windows桌面左下角開始按鈕功能一樣,

通過它可方便訪問常用程序。

MATLAB6.5提供了命令窗口、命令歷史、當前路徑和工作空間四個窗口,如

圖1T所示。

命令窗口:是用戶與MATLAR交互的主要方式,用戶可在其中運行函數和各

種操作。

命令歷史窗口:它顯示命令窗口中執行過的命令,用編輯菜單中的Clear

可查看曾經執行過的舲

CommandHistory選項清除歷史紀錄。

重復利用原來輸入的舲

當前目錄窗口:顯示當前目錄下所有文件的文件名、類型、最后修改時間等。

工作空間窗口:列出數據的變量信息,包括變量名、變量數組、字節大小和類型。

圖1-1MATLAB運行界面

(2)[File]選中[New]建立新文件命令,有4項子菜單如下:

打開M文件(即MATLAB程序)編輯/調試器,可編程調試程序.

[Figure]:建立一個空白圖形窗口。

[Model]:打開Sinmlink仿真庫,并打開一個用于建立、編輯與運行咨制

系統仿真新結構圖模型的窗口,標題為“unlilled”或在命令窗口

輸入SIMUUNK回車,打開Library模塊庫窗口,再點擊新建圖標

打開Simulink工作窗。

[GUI]:創建與打開圖形用戶,圖形用戶界面(GUI)以其友好和直觀性在

軟件編程上被廣泛使用。

⑶工具欄按鈕I口工?琳?

第八個相當于菜單[File]選中[New]下的[Model]命令

第九個相當于菜單[Help]下的[MATLABHelp]

1.4MATLAB的基本使用說明

(1)MATLAB表達式

格式:variable=expression;表達式后有分號,表達式的結果不顯示出來。

例:?a=14/8;%14/8為表達式

?m=a*3*5A2

m=131.2500

?a=14/8%14/8為表達式

a=1.7500

?m=a*3*5A2

m=131.2500

MATLAB的變量是有大小寫區分的,如a與A是不同變量名,他所提供的

函數名稱都是小寫的。變量或函數名必須以字母開頭,后跟字母或數字,其間可

用下劃線分隔。如f7_4,guoi4等。

MATLAB的數學表達式書寫注意事項

①表達式必須在同一行內書寫,所以水平除號線分式、乘方運算、開根號等

純數學寫法在MATLAB是不允許的。

②數值與變量或變量與變量相乘都不能連寫,需用乘號*加以連接。

③一般數學表達式可用大、中、小括號,MATLAB的數學表達式只能用小

括號,可多重小括號嵌套使用。

④三角函數與雙由函數及其反函數、對數函數的自變量須用小括號加以限

定。

⑤分式的書寫,注意分子分母最好都分別用小括號加以限定。

⑥求黑運算的指數兩側最好用小括號加以限定,否則,指數分式易出錯。

⑦某量k的平方根的表示,書寫形式sqrl(k)與2(1/2)等效。

⑧自然常數e的指數運算的書寫形式為exp()o

⑨自然常數》的書寫形式為pi;虛數單位的書寫形式為i或j;無窮大的書

寫形式為info

(2)MATLAB運算符

表1-1算術運算符

操作符功能說明操作符功能說明

+加\矩陣左除

-減A數組左除

*矩陣乘/矩陣右除

*數組乘./數組右除

A矩陣乘方矩陣轉置

A數組乘方數組轉置

表1-2關系運算符

操作符功能說明

——等于

不等于

>大于

<小于

>=大于等于

<=小于等于

表1-3邏輯運算符

&邏輯運算說明

1And邏輯與

1Or邏輯或

?Not邏輯非

Xor邏輯異或

表1-4特殊運算符

符號功能說明符號功能說明

?冒號,在MATLAB?小數點或域訪問符

中非常重要

分號,用于分隔行??父目錄

逗號,用于分隔列???用于語句行尾端表

示該行未完

()指出在算術表達式%注釋

先后次序

H構成向量或矩陣!調用操作系統命令

()構成單元數組—用于賦值

(3)多項式及其運算

在MATLAB中建立多項式就是輸入多項式系數行向量

多項式。(1)=劭工"+…++

系數行向量為:P=[44-an]

表1-5多項式運算函數

函數功能函數功能

conv多項式乘法(卷積)polyval多項式求值

deconv多項式除法(解卷)polyvalm矩陣多項式求值

poly由根求多項式residue部分分式展開(留數)

polyder多項式求導數roots多項式求根

polytit多項式曲線擬合

(4)常用的圖形命令

1.MATLAB有一系列繪圖函數命令,適于不同坐標系,如線性、對數、半對數

坐標及極坐標與三維坐標;可調整自變量可繪出不同顏色與線型:點、實、復線

等。

MATLAB二維圖形功能:常用的plot。函數。

格式:選項1,x2,>2,選項2,…)

有時需要在已經存在的圖上再重疊繪制一條或多條曲線的情況,為此

MATLAB提供以下指令:

holdon:當前圖不變,此后在此圖上再疊加繪制新曲線。

holdoff:取消holdon功能,此圖不能被刷新了。

gridon:在圖形中添加網格。

gridoff:在圖形中取消網格。

一般MATLAB會根據要繪制曲線數據的范圍自動選擇合適坐標系,盡可能

清晰現實曲線,一般用戶不需自己選擇,若要選擇可用函數axis()選擇新的坐標

系。

格式:axis(xuiiii,xinax,ymin,ymax,z,niiii,ziiiax)

2.圖形的標注

表1-6常用圖形標注函數及功能

函數功能函數功能

title為圖形添加標題legend為圖形添加圖例

xlable為X軸加標注text在指定位置添加文本字符串

ylable為y軸加標注gtext用鼠標在圖形上放置文本

zlable為z軸加標注

表中前四個函數調用格式基本類似以title為例titleCtexf)

作業一

1.求多項式2(x)=/+2/+31+4x+5的根。

2.已知多項式的根分別為1、5、8,求此根對應的多項式。

3.求多項式。(幻=/+2/+3/+4x+5在指定點x=3處的值。

4.求多項式/Xx)=x2+2x+3與40)=4/+5x+6的卷積。

5.自動控制的時域分析中,常要求像函數F(s)的反變換,可將其分解成部

分分式,求出部分分式的待定系數就可以了。

已知傳遞函數Rs)=,2-十2,,將其分解為部分分式。

6.求多項式P(x)=/+21+3,+4x+5的倒數。

作業二將以下數學表達式寫成MATLAB表達式

①y二4.sin(2x)?e-+8?cos(2x).e'

?y=--------------

31n(7-x)+9

?F(z)=id^

第二章SIMULINK及CATS實驗設備介紹

2.1SIMULINK簡介

SIMULINK是MATLAB工具箱之一,可實現動態系統建模、仿真與分析,

在實際系統做出之前,預先對系統進行仿真分析。

后動Simulink,單由MATLABCommand窗口工具條上的Simulink圖標,或

者在MATLAB命令窗口輸入simulink,即彈出圖2-1所示的模塊庫窗口界面

(SimulinkLibraryBrowser)oSIMULINK卜有13類基本模塊組,每個里存儲多個

相應標準基本功能模塊。

SIMULINK圖庫中

點擊模塊庫前面的號

SIMULINK圖庫目錄

其它類圖庫

圖2-1SIMULINK基本功能模塊

SIMULINK的模塊庫介紹

SIMILINK模塊庫按功能進行分為以下幾類子庫:

>Continuous(連續模塊)

>Discontinuities(斷續模塊)

>Discrete(離散模塊)

>Look-UpTables(表格模塊)

>MathOperations(數學模塊)

>ModelVerification(模型檢驗模塊)

>Model-WideUtilities(模型的充分使用)

>Ports&Subsystems(端口與子系統)

>SignalAttributes(信號屬性)

>SignalRouting(信號傳輸選擇)

>Sinks(接收器模塊)

>Sources(輸入源模塊)

>User-DefinedFunctions

連續模塊(Continuous)continuous.mdl

>Derivative:輸入信號微分

AIntegrator:輸入信號積分

>State-Space:線性狀態空間系統模型

>Transfer-Fen:線性傳遞函數模型

>Zero-Pole:以零極點表示的傳遞函數模型

>Memory:存儲上一時刻的狀態值

>TransportDelay:輸入信號延時一個固定時間再輸出

>VariableTransportDelay;輸入信號延時一1個可變時間再輸出

非線性模塊(Nonlinear)nonlinear.mdl

>Backlash:反沖模塊

>Coulomb&ViscousFriction:庫侖和粘性摩擦

>DeadZone:故障區域

>Saturation:飽和輸出,讓輸出超過某一值時能夠飽和。

>Relay:滯環比較器,限制輸出值在某一范圍內變化。

>Switch:開關選擇,當第二個輸入端大于臨界值時,輸出由第一個輸入端

而來,否則輸出由第三個輸入端而來。

>ManualSwitch:手動選擇開關

離散模塊(Discrete)discrete.mdl

ADiscreteTransfer-Fen:離散傳遞函數模型

>Discrete-timeIntegrator:離散時間積分器

>DiscreteFilter:IIR與FIR濾波器

ADiscreteState-Space:離散狀態空間系統模型

>DiscreteZero-Pole:以零極點表示的離散傳遞函數模型

>First-OrderHold:一階采樣和保持器

>Zero-OrderHold:零階采樣和保持器

>UnitDelay:一個采樣周期的延時

函數和平臺模塊(Function&Tables)function.mdl

>Fen:用自定義的函數(表達式)進行運算

>MATLABFen:利用matlab的現有函數進行運算

>S-Function:調用自編的S函數的程序進行運算

>Look-UpTable:建立輸入信號的查詢表(線性峰值匹配)

>Look-UpTable(2-D):建立兩個輸入信號的查詢表(線性峰值匹配)

數學模塊(MathOperations)math.mdl

>Abs:取絕對值

>AlgebraicConstraint:代數約束,限制輸入f(z)為(),且輸出?的z值能使輸入

的f⑵為0

>CombinatorialLogic:組合邏輯,對數字方面的模型創建,能以標準的真值

表來創建

>Sum:加減運算

>Product:乘運算,兩向量間元素與元素間相乘而不相加

>DotProduct:點乘運算,對兩愉入向量值做點積運算,產生一個標量:為輸

出值

>Gain:比例運算

>SliderGain:滑標增益,允許在仿真執行期間使用滑標改變一個標量增益

>MathFunction:包括指數函數、對數函數、求平方、開根號等常用數學函

>TrigonometricFunction:三角函數,包括正弦、余弦、正切等

>MinMax:最值運算,若為單一輸入端口巨為向量配置數據,則求取每一

元素的最大(小)值;若輸入端口不只一個,則為求取每一輸入端口元素

的最大(小)值

>Sign:符號函數,依據輸入值的正負決定輸出,若輸入大于零輸出為1;

若輸入等于零輸出為0;若輸入小于零輸已為-1;

>LogicalOperator:邏輯運算

>RelationalOperator:關系運算

>ComplextoMagnitude-Angle:由復數輸入轉為幅值和相角輸出

>Magnitude-AngletoComplex:由幅值和相向輸入合成復數輸出

>ComplextoRcal-Imag:由復數輸入轉為實部和虛部輸出

>Real-ImagtoComplex:由實部和虛部輸入合成復數輸出

信號和系統模塊(Signal&Systems)sigsys.mdl

>Ini:輸入端。將連接仿真系統的外部環境提供給仿真系統,對子系統,

每一個輸入端口都有一個相對應的inport模塊,即在子系統中抵達輸入端

口的信號將流經inporl模塊。

>Outl:輸出端。提供連接仿真系統至仿真系統之外的環境。子系統中抵達

至輸出端口的信號將會流出相對應的outport模塊,

>Mux:信號混合,將多個單一輸入轉化為一個復合輸出,如圖2-2。

圖2-2信號混合示例

>Demux:信號分解,將一個復合輸入轉化為多個單一輸出。

>Ground:連接到沒有連接到的輸入端。

>Terminator:連接到沒有連接到的輸出端。

>SubSystem:建立新的封裝(Mask)功能模塊

接收器模塊(Sinks)sinks.mdl

>Display:顯示輸入端口的數值數據,若輸入是向量配置的數值數據,可

調整模塊的大小,以便觀察全部數據。(模塊內右下角的倒三角形表示還

有其他數值數據)。

>FloatingScope:浮點式示波器。類似Scope,沒有輸入端口,能顯示模型

中任何二條經鼠標選擇的線段,及線段上所負載的信號波形變化。

>Scope:示波器<

>XYGraph:顯示二維圖形。

>ToWorkspace::將輸出寫入MATLAB的工作空間。

>ToFile(.mal):將輸出寫入數據文件。

輸入源模塊(Sources)sources.mdl

AConstant:常數信號。大小可為實數或復數,模塊輸出可為標量或向量值。

>Clock:時鐘信號。

>FromWorkspace:來自MATLAB的工作空間。

>FromFile(.mat):來自數據文件。

>PulseGenerator:脈沖發生器。

>RepeatingSequence:重復信號。

>SignalGeneralor:信號發生器,可以產生正弦、方波、鋸齒波及隨意波。

>SineWave:正弦波信號。

>Step:階躍波信號。

2.2建構模型

建模特點:將模塊庫中的標準模塊拷到SIMULINK的模型窗口untitled中,

再連接成完整動態結構圖。

模型窗口用來建立系統的仿真模型。只有先創建一個空白的模型窗口,才能

將模塊庫的相應模塊復制到該窗口,通過必要的連接,建立起Simulink仿真模

型。也將這種窗口稱為Simulink仿真模型窗口。如何打開空白模型窗口?

以下三種方法方法可用于打開一個空白模型窗口:(1)在MATLAB主界面中

選擇File,點擊New中的Model菜單項。(2)單擊模塊庫瀏覽器的新建圖標口。

(3)選中模塊庫瀏覽器,選擇File,點擊New中的Model菜單項。

在Simulink模型或模塊庫窗口內,用鼠標左鍵單擊所需模塊圖標拖到空白

模型窗口中建立Simulink仿真模型。

基本操作:鼠標點按住所需圖元,移入工作窗,松開鼠標。

連接:點圖元小三角拖到所需位置,松開鼠標。

轉動:鼠標選中圖元,使用Format菜單。

移動:點按所圖元拖到所需位置,松開鼠標。

復制:拖動鼠標選中圖元,使用編輯菜單復制。

改名:鼠標選中文字,直接修改。

刪除:鼠標選中圖元或線條,使用編輯菜單刪除(或del)。

從已知線段上加拉一條線段:將鼠標指針移到線段上,按住Ctrl不放,

同時按住鼠標左鍵拖到欲連接的模塊的

輸入端口即可

模塊參數設置:用鼠標雙擊指定模塊圖標,打開模塊對話框,根據對

話框欄目中提供的信息進行參數設置或修改。雙擊模

型窗口的傳遞函數模塊,彈出圖示對話框,在對話框

中分別輸入分子、分母多項式的系數,點擊0K鍵,完

成該模型的設置,如圖2-3所示:

Fen

2k

TransferFcrt

圖2-3修改參數后的模型

設置內容;階躍信號發生器一設起始時間、初值、終值

積分環節一設初值等,可加限幅

慣性環節一應設分子、分母向量(高階到低階,空一格)

加法器一設“+o可設多端輸入,順序從上至I]下

增益一設增益大小

2.3仿真與分析

構建好一個系統的模型之后,接下來的事情就是運行模型,得出仿真結果。

運行一個仿真的完整過程分成三個步驟:設置仿真參數(執行仿真前,要設置所

需參數值并選擇系統的數值算法),啟動仿真和仿真結果分析。

一、Simulation菜單SimulationParameters對話框說明

設置仿真參數:在模型窗口選取菜單【Simulation:Parameters】,彈出

“SimulationParameters”對話框,設置仿真參數如圖2-4,然后按【0K】即

可。

圖2-4仿真參數設置

(1)Solver解算器它允許用戶設置仿真的開始和結束時間,選擇解法器,

說明解法器參數及選擇一些輸出選項。

A、仿真時間---starttime:仿真開始時間;stoptime:結束時間。

B、解算器選項,SIMLUNK所建構的動態結構圖可用一個常微分方程組數值

積分來表示,解算器用于求解這些數值積分。根據仿真步長來選擇:

Variable-step可變步長,即仿真過程中會改變步長大小,提供誤差控制和

過零檢查。*變步長模式解法器有:ode45,ode23,odel13,ode15s,ode23s,

ode23t,ode23tb和discreteo

Fixed-step固定步長,即仿真過程中提供固定步長大小,不提供誤差控制

和過零檢查。*固定步長模式解法器有:ode5,ode4,ode3,ode2,odel和discrete。

c、步長參數:對于變步長模式,用戶可以設置最大的和推薦的初始步長參

數,缺省情況下,步長自動地確定,它由值auto表示。

D、仿真精度的定義(對于變步長模式),Relativetolerance(相對誤差):

它是指誤差相對于狀態的值,是一個百分比,缺省值為le-3,表示狀態的計算

值要精確到0.1%。Absolutetolerance(絕對誤差):表示誤差值的門限,或者

是說在狀態值為零的情況下,可以接受的誤差。如果它被設成了auto,那么

simulink為每一個狀態設置初始絕對誤差為le-60

(2)WorkspaceI/O是管理模型從MATLAB工作空間的輸入和對它的輸巴。

(3)Diagnostics診斷允許用戶選擇Simulink在仿真中顯示的警告信息的

等級。

二、啟動仿真

□設置仿真參數和選擇解法器之后,就可以啟動仿真而運行。

□選擇Simulink菜單下的start選項來啟動仿真,如果模型中有些參數沒

有定義,則會出現錯誤信息提示框。如果一切設置無誤,則開始仿真運行,

結束時系統會發出一鳴叫聲。

觀察仿真結果,scope模塊能在仿真進行中觀察軌跡,如圖2-5所示。

圖2-5仿真示例

使用Simulationparameters默認設置,雙擊scope,如圖2-6所示,其工具欄

說明如圖2-7所示。

調整示波器觀察運行結果

-X、y軸剛微大

r、軸放大

,出放大1c

日同E3

切作月用則目國

圖2-6示例仿真結果圖2-7窗口工具欄說明

總結SIMULINK系統仿真操作步驟:

1)啟動Simulink,打開Simulink模塊庫

2)打開空白模型窗口;

3)建立Smulink仿真模型;

4)設置仿真參數,進行仿真;

2.4CATS實驗裝置介紹

“CATS”控制與自動化專業培訓系統--理論與實踐教學于一體。

2.4.1CATS功能與特性:

(1)聯網實驗平臺------對多

實收室服吳韶

所有工作站都能控

制同一臺實驗設備

(2)聯網實驗平臺——多對多

(3)通過實驗實現先進過程自動化模擬

多臺實瞼設備通過軟總線連

接,并可由T工作站控制

生產流水

線也可以

通過本實

驗設備實

現摸擬

2.4.2CATS仿真平臺軟件

在帶有不同仿真軟件的分布式過程控制中,CATS能實現其仿真與可視化,

可以進行HIL解決方案的初步開發工作。

硬件在環也即是硬件在回路(HIL),如果將實際控制器的仿真稱為虛擬

控制遙,實際對象的仿真稱為虛擬對象,可得到控制系統仿真的3種形式:

①虛擬控制器+虛擬對象二動態仿直系統,是純粹的系統仿直:

②虛擬控制器+實際對象二快速控制原型(RCP)仿真系統,是系統的一種

半實物仿真;

③實際控制器+虛擬對象二硬件在回路(HIL)仿真系統,是系統的另一種

半實物仿真。

WinFACT

2.4.3CATS工具包

(1)軟總線LabMap

好LabMapdemov5.1(core5.1....[?"|口區|

(2)WAGO-I/O系統,帶有以太網/ModBus總線連接器的模塊系統

(3)接口一連接到您電腦上通用的仿真軟件,帶有與?MATLAB/Simulink?

LabVIEW?WinCC等仿真軟件的接口。

2.5CATS電機控制示例

2.5.1LapMap的設置

(1)打開LapMap,從處理文本框你會發現你的輸入和輸出【量。從圖2-8

中我們可以發現連接狀態是“成功”。然后把“5V電壓通過“sendIhenew

valve”.輸入IP地址:192.168.0.31的電機,電機將會運行。

Real|01/min

Status|Success

圖2-8電機運行的數據

(2)實現與Matlab/Similink連接。打開“Matlab軟件”,找到并

打開“Simulink圖標",在瀏覽器左上角,有一個新建模式按鈕如圖2-9

所示,新建一個空白的model文件。

SimulinkLibraryBrowser

FileEditViewHelp

□目制一

Step:Outputastep.

E)Simulink

untitled.matFromFHe

先ICommonlyUsedBlocks

耳IContinuous

些|DiscontinuitiesFromWorkspace

aDiscrete

空]LogicandBitOperationsGround

LookupTables0

斗IMathOperationsIni

ihlModelVerification

耳IModel-Wid?Jtiities

PukeGenerator

±^-|Ports&Subsystems

刻SignalAttributes

Ranp

SignalRoutingCT

.9Sinks

)ISourcesRandomNumber

斗IUser-DefinedFunctions

回AdditionalMath&DiscreteRepeatingSequence

SControlSystemToolboxra

由HDAS1601sRepeatingSequence

?IDigitalControllerInterpolated

國0]EmbeddedTargetforInfineonC166Mier四RepeatingSequence

0]LabMopFunctionBlocksetStar

0:Real-TimeWindowsTargetE

EP.oal-TimoWorkshop^l5sq.nltSignalBuilder

B晝Real-TimeWorkshopEmbeddedCoder

mQ|SimulinkExtrasSignalGenerator

.1Stateflow

由1fN_atmSineWave

mnxPCTarget

mStep

UmlormRandomNumber

■IIM

3Ready

圖2-eSimulink和LapMap功能模塊

在Simulink庫窗口在右邊找見LapMapFunctionBlockset工具箱。將

獲取get和發送send模塊拖到空白model窗口,連接各模塊如圖2-10所示。

untitled*I口I

£ileRdityiew2icnulaticnFormatlootsHelp

口|00當IX電電卜?■(10.0"(Normal三]|S

Ready100%ode45

圖2T0新建模型

(3)雙擊并設置“Send”和“Get”的LapMap如圖2T1、2T2所示;

圖2-11“Send”設置

/Simulink<->LabMap:Get兇

下GlobalPafametersrHandlePtopeKys

FAbortwhenrealtimefault

NameDrehzahl[Phoenix31type4*

「Noparameterchangesat

runtime

I/O:OutputHandle

[—DisableinterruptionsJrocn

inputdevicesatrun-time

p-Use$ubtmestepin

corUinuous$immodel

Simulinkthreadpriority

lownormalhioh

|OK||Cancel

NoType]g|Name

3102intEncodercontrol[Phoenix31type=wa...

3101real1/minDrehzahl[Phoerix31type?iaddr-1L

3100sdVMotorSpannung[Phoenix31type?ia...

圖2-12“Ged”設置

⑷設置“ModelProperties^:步驟“File”Model

Properties"->"Callbacks"->“InitFca"&"StopFcn”,如圖2T3,

圖2-14,圖2-15所示。

圖2T3模型的屬性

S2-14InitiFcn的設置

圖2-15StopFcn的設置

sendreal(3100,0):意思是系統發送0到31號電機,使電機在仿真結

束后停止。否則電機將在運行完后繼續保持運行狀態運。

(5)設置aConfigurationParametersw

點擊菜單“Simulation”->“ConfigurationParameters",如圖2T6

和2-17所示。

圖2T6仿真參數設置

圖2-17參數設置對話框

(7)設置階躍信號參數對話框如圖2-18所示,接下來按仿真按鈕開始

仿真如圖2T9所示:

圖2-18設置信號源參數對話框

圖2-19仿真運行界面

界向如圖所示2-20所示,觀察不同電壓值對直流電機的控制作用,輸入信號

為階躍函數,運行這個mdl文件,電機開始運行。嘗試不同的階躍函數值(即輸

入電壓),會發現,數值越大,電機轉速越快。如果將最終值設置為負數,直流

電機將反向運轉。

圖2-20不同階躍值下電機運行狀態

界面如圖2-21所示,不僅能實際觀察電機轉速,還能通過其階

躍響應曲線進行分析。

設置步長1秒,仿真時間初始值0,仿真運行最終時間10秒。輸入電

壓為5V。電機轉速響應如圖2-22所示。

圖2-21通過示波器觀察轉速

匚JScopeGJ回區)

a份a於超四ga*

25DD

,如1111平叫lAAi”gHJirAmJiAALr」―

21工1I

1JJJ

5,1I

圖2-22電機運行狀態

其中上圖的響應曲線橫坐標是電機的運行時間,縱坐標是電機的運行速

度。從圖中曲線很容易的了解電機在10S內的運行狀態。

2.5.2建立傳遞函數

(1)我先用階躍響應進行采樣,數據反饋到計算機中,并保存如圖2?23。

圖2-23階躍響應SIMULINK模型

然后在MATLAB中使用函數idvar如圖2-24所示。

罩Editor-D:\cbbsoftvare-GBbH\SiMulinkModel\cats3_Bodel_real_syste>.B

FileEditTextCellToolsDebugDesktopWindowHelp

D九曰相知Stack:

1-|[num,den,sty]=idvar([tout,response,step],[],[],[0,2]);

2-roots(den)

圖2-24idver函數的應用

M文件中顯示的是系統的仿真時間,輸入信號是階躍信號,從實際系統的

響應曲線中得到的傳遞函數的分子和分母數據。根據idvar功能,得到了系統傳

遞函數為:

19815.53490

F(s)=-------------------------------

43.25781+42.38108sAl+sA2

作業一:畫以下習題的SIMULINK模塊圖,并觀察仿真結果,目的是學習Simulink

實驗的基本要求和基本操作,熟悉并掌握Simulink的建模與仿真。

(1)、

(2)、

設置滯后環節的延遲時間為80;

(3)、PID控制器G(£)=&+&S+&,其中4=2.0,⑥=0.54=5.0來校正

S

受控裝置的單位閉環階躍響應的性能,試畫它的模塊圖,運行觀察仿真

結果。

作業二:將圖(1)這兩種系統在simulink中建模,設置合適仿真參數以得到光

滑曲線,在同一scope中比較它們的單位階躍響應,Td取0.2。

圖⑴圖(2)

作業三:將圖(2)這兩種系統在simulink中建模,設置合適仿直參數以得到光

滑曲線,在同一scope中比較它們的單位階躍響應,Kt分別取0.1。

作業四:高階系統的近似簡化,利用主導極點法可以將高階系統化成低階(一階

或二階)系統來近似地對高階系統進行等效分析.在simulink中建立模型如圖

所示。

作業五:按照實驗指導書內容,在電腦上噪作完成電機控制示例。

第三章時域響應分析法

3.1.在simulink中進行時域響應分析

如何在simulink中計算單位階躍響應的性能指標。如超調量、峰值時間、上

升時間、調節時間。在simulink中建立模型如圖3T所示。

圖3-1動態性能指標計算

建立M文件

final_value=l;

[ymax,k]=max(y);

peak_oOime=t(k)

pcrccnt_ovcrshoot=1OO*(ymax-final_valuc)/final_valuc

i=l;

whiley(i)<0.1*final_value

i=i+l;

end

j=U

whiley(j)<0.9*final_value

j=j+1;

end

rise_time=l(j)-t(i)

k=length(t);

while(y(k)>0.98*final_value)&(y(k)<1.02*final_value)

k=k-l;

end

setting_timc=t(k)

可得運行結果:peak_of_time=1.0313

percent_overshoot=35.0474

rise_time=0.4333

settingtime=3.5313

3.2用M文件進行時域響應分析

MATLAB中控制系統數學模型(傳遞函數)的表示方法:

(1)傳遞函數為多項式模型:G(s)=

溫馨提示

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

評論

0/150

提交評論