第四章面向結(jié)構(gòu)圖的數(shù)字仿真法_第1頁
第四章面向結(jié)構(gòu)圖的數(shù)字仿真法_第2頁
第四章面向結(jié)構(gòu)圖的數(shù)字仿真法_第3頁
第四章面向結(jié)構(gòu)圖的數(shù)字仿真法_第4頁
第四章面向結(jié)構(gòu)圖的數(shù)字仿真法_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四章 面向結(jié)構(gòu)圖的數(shù)字仿真法對一個控制系統(tǒng)進行研究,其中一個很重要的問題就是考察系統(tǒng)中一些參數(shù) 改變對系統(tǒng)動態(tài)性能的影響,面向微分方程的仿真方法很難得到這一點。這主要是由小回路的傳遞函數(shù) 得到的全系統(tǒng)大回路的傳遞函數(shù)之間的參數(shù)對應(yīng)關(guān)系將變得非常復(fù)雜。其次,將復(fù)雜系統(tǒng)中諸多小回路 化簡求出總的系統(tǒng)模型也是十分麻煩的,更何況對于非線性系統(tǒng),或難以用非數(shù)學(xué)模型描述的系統(tǒng),則 無法找到系統(tǒng)的總的閉環(huán)模型。本章介紹兩種由一些典型環(huán)節(jié)構(gòu)成的復(fù)雜系統(tǒng)仿真的方法。在這類仿真程序 中,先將仿真這些典型環(huán)節(jié)特性的仿真子程序編制好;在仿真時,只要輸入各典型環(huán)節(jié)的參數(shù)以及環(huán)節(jié) 間的連接關(guān)系的參數(shù)便可以作系統(tǒng)的仿真。

2、這就是面向結(jié)構(gòu)圖的數(shù)字仿真法,它可以解決上述困難,且 具有一些優(yōu)點:(1很容易改變某些參數(shù)環(huán)節(jié),便于研究各環(huán)節(jié)參數(shù)對 系統(tǒng)的影響。(2不需要計算出總的傳遞函數(shù),并且可以直接得到各 個環(huán)節(jié)的動態(tài)性能。(3系統(tǒng)中含有非線性環(huán)節(jié)時也比較容易處理。本章第一節(jié)介紹面向結(jié)構(gòu)圖仿真各典型環(huán)節(jié)仿真模型的確定。第二節(jié)介紹面 向結(jié)構(gòu)圖模型離散相似法仿真的方法。第三節(jié)介紹對于含有典型非線性環(huán)節(jié)的處理方法。第四節(jié)介紹連 續(xù)系統(tǒng)結(jié)構(gòu)圖仿真方法、程序的編制及應(yīng)用。4.1 典型環(huán)節(jié)仿真模型的確定在第二章第四節(jié)中已經(jīng)介紹了狀態(tài)方程離散化的方法,即對一個狀態(tài)方程加入虛擬的采樣器和保持器,當(dāng)采樣頻率合適時則可實現(xiàn)信號重構(gòu)。面向結(jié)

3、構(gòu)圖仿真方法其基本思想就是將結(jié)構(gòu)圖化簡為各個典型環(huán)節(jié)組成,然后在各個典型環(huán)節(jié)前加入虛擬的采樣器和保持器使各環(huán)節(jié)獨自構(gòu)成一個便于計算機仿真的差分方程。本節(jié)就是求出個典型環(huán)節(jié)對應(yīng) 的離散狀態(tài)方程得系數(shù)矩陣,即。1.積分環(huán)節(jié)積分環(huán)節(jié)如圖4.1.1所示,其傳遞函數(shù)可寫為 (4.1.1 狀態(tài)方程為 (4.1.2根據(jù)(2.4.9式可得 其中。離散狀態(tài)方程為 (4.1.3 圖4.1.1 積分環(huán)節(jié)結(jié)構(gòu)圖2.比例積分環(huán)節(jié)比例積分環(huán)節(jié)如圖4.1.2所示。顯見,狀態(tài)方程與積分環(huán)節(jié)一致,不同的是輸出方程、傳遞函數(shù)可寫為 (4.1.4其中:根據(jù)(2.4.9式,比例積分環(huán)節(jié)的狀態(tài)方程和輸出方程可寫為 (4.1.5 顯見同

4、積分環(huán)節(jié)一樣,僅離散狀態(tài)方程中的輸出方程與(4.1.3是不一樣。即(4.1.6 圖4.1.2 比例積分環(huán)節(jié)結(jié)構(gòu)圖3.慣性環(huán)節(jié)慣性環(huán)節(jié)的結(jié)構(gòu)圖如圖4.1.3所示,其傳遞函數(shù)可寫為 (4.1.7其中:環(huán)節(jié)的狀態(tài)方程和輸出方程為 (4.1.8根據(jù)(2.4.9式,其差分方程的各項系數(shù)為 離散狀態(tài)方程為(4.1.9 圖4.1.3 慣性環(huán)節(jié)結(jié)構(gòu)圖4.比例慣性環(huán)節(jié)比例慣性環(huán)節(jié)的結(jié)構(gòu)圖如圖4.1.4所示。傳遞函數(shù)可寫為 (4.1.10其中:。狀態(tài)方程為(4.1.11 圖4.1.4 比例慣性環(huán)節(jié)結(jié)構(gòu)圖顯見狀態(tài)方程與慣性環(huán)節(jié)一樣,故的計算也一樣,僅輸出方程不一樣,故得離散狀態(tài)方程為(4.1.12處理上述幾種典型環(huán)

5、節(jié)外,常用的還有二階環(huán)節(jié),它可由圖 4.1.5所示結(jié)構(gòu)組成。 圖4.1.5 二階環(huán)節(jié)等效結(jié)構(gòu)圖可見高階環(huán)節(jié)均可用前述幾種典型環(huán)節(jié)獲得。4.2 結(jié)構(gòu)圖離散相似法仿真面向結(jié)構(gòu)圖模型的離散相似法仿真除了需要建立典型環(huán)節(jié)的差分式外,還需要建立能描述系統(tǒng)連接方式的方程。在上一節(jié)的基礎(chǔ)上,本節(jié)將進一步介紹系統(tǒng)連接矩陣的建立和面向結(jié)構(gòu)圖模型的離散相似法仿真方法以及計算程序的實現(xiàn)。一、連接矩陣上一節(jié),介紹了環(huán)節(jié)離散化方法以及所得到的差分方程模型的形式。但這僅僅表示了各個單獨環(huán)節(jié)輸入和輸出之間的關(guān)系。為了實現(xiàn)面向結(jié)構(gòu)圖離散相似法仿真,還必須把這些環(huán)節(jié)按照系統(tǒng)結(jié)構(gòu)圖的要求連接起來、以保證正確的計算次序。設(shè)系統(tǒng)的第

6、i各環(huán)節(jié)輸入、輸出分別用表示,y0為系統(tǒng)的外部輸入量,則(4.2.1可把(4.2.1式寫成(4.2.2式中W是一個n(n+1維長方矩陣。這是把表示輸入信號與系統(tǒng)連接情況的W0矩陣放在原連接矩陣的第一列,也就是 W ij表示第j個環(huán)節(jié)輸入之間的連接方式。而Y是一個(n+11的列矢量。例如,有一系統(tǒng)如圖4.2.1所示。如果已知各環(huán)節(jié)的傳遞函數(shù),則很容易將其離散化,各個環(huán)節(jié)的輸入輸出關(guān)系為(4.2.3 (4.2.4 圖4.2.1 系統(tǒng)結(jié)構(gòu)圖二、仿真程序的設(shè)計把不同類型環(huán)節(jié)的離散系數(shù)的計算分別編成子程序。在程序中引入一個標(biāo)志參數(shù),表示該典型環(huán)節(jié)的類型,假設(shè)一個通用程序只包括下列四種典型環(huán)節(jié),且與典型環(huán)

7、節(jié)對應(yīng)關(guān)系如下當(dāng)=0時,表示第I個環(huán)節(jié)為積分環(huán)節(jié)。當(dāng)=1時,表示第I個環(huán)節(jié)為比例積分環(huán)節(jié)。當(dāng)=2時,表示第I個環(huán)節(jié)為慣性環(huán)節(jié)。當(dāng)=3時,表示第I個環(huán)節(jié)為比例慣性環(huán)節(jié)。由前述可知,對于=0和=1兩種典型環(huán)節(jié),計算狀態(tài)變量x的公式相同,只 是它們輸出變量計算公式不同。而同樣對于=2和=3的典型環(huán)節(jié),也是計算狀態(tài)變量x的公式相同,僅僅是輸出方程不同。在步長取定后,典型環(huán)節(jié)的離散系數(shù),就僅是典型環(huán)節(jié)的參數(shù)(時間常數(shù)、放大增益的函數(shù),可以預(yù)先根據(jù)典型環(huán)節(jié)的類型分別編成子程序,仿真時即可根據(jù)方便地調(diào)用。系統(tǒng)的連接情況,仍用連接矩陣W來描述。面向系統(tǒng)結(jié)構(gòu)圖離散化仿真的工作流程圖如圖4.2.2所示。 圖4.2

8、.2 仿真流程圖按系統(tǒng)的典型環(huán)節(jié)離散化仿真,其主要優(yōu)點是:(1各個環(huán)節(jié)的離散狀態(tài)方程系數(shù)計算簡單,而且可以一步求出,不像龍格-庫塔法那樣,每一步都要重新計算龍格-庫塔系數(shù),因而計算量相對來說較小。(2由于各個環(huán)節(jié)的輸入量u i,輸出量y i每一步都可求出,所以很容易推廣到含有非線性環(huán)節(jié)的系統(tǒng)仿真中去。該方法的主要缺點是計算精度低。因為每個環(huán)節(jié)的輸入實際上都是使用了它們的近似值(舉行近似或梯形近似,故僅有一階或二階精度,這會帶來計算誤差,而且環(huán)節(jié)越多,誤差越大。這一點下面還將進一步分析。另外,需要指出的是,當(dāng)輸入采用梯形近似法時,需要用到u(n+1來求取u(n,u(n=u(n+1-u(n/T,這

9、通常是難以辦到的。于是在仿真中有時只得采用簡單的向后 差分的方法來計算,即。由于本來的定義是表示在n T(n+1T 區(qū)間輸入信號的平均變化速度,所以用向后差分的方法來計算,實際上使用前一個周期(n-1Tn T 的輸入信號的平均變化速度來近似代替周期n T(n+1T的輸入信號變化速度,相差一個采樣周期。這顯然會使計算誤差增大。三、仿真算例及分析用該程序求某四階系統(tǒng)(結(jié)構(gòu)圖見圖4.2.3在階躍函數(shù)作用下的過渡過程。 圖4.2.3 四階系統(tǒng)結(jié)構(gòu)圖首先,確定典型環(huán)節(jié)類型和環(huán)節(jié)編號,本例從左到右順序排號,第一塊類型號H(1=3,第二塊類型號H(2=0,第三塊類型號H(3=2,第四塊類型號H(4=2,根據(jù)

10、圖4.2.3所示可寫出連接矩陣為 根據(jù)經(jīng)驗公式,大約可達到0.5%左右的精度,為系統(tǒng)開環(huán)頻率特性的剪切頻率。在此例中因此可選T=0.025s。輸入數(shù)據(jù)有 連接矩陣 仿真參數(shù)采樣周期仿真時間打印、顯示時間間隔輸出環(huán)節(jié)號10.01 10 1 1輸入以上三組參數(shù)后,便可在計算機上仿真。四、采用補償器提高模型精度和穩(wěn)定性的方法系統(tǒng)的離散化過程,就是在連續(xù)系統(tǒng)中加入虛擬的采樣開關(guān)和保持器。由于保持器不可能完整無誤地將連續(xù)信號重構(gòu)出來,因此必然會產(chǎn)生仿真誤差。一般來講,采樣間隔越大,仿真的誤差也就越大。為了減少誤差,很自然地就想到是否能在這個仿真器中模型中加進校正補償環(huán)節(jié)。一般所加入的補償器應(yīng)盡可能好地抵

11、消經(jīng)過采樣-保持器所造成的失 真,補償器常常采用超前的的形式,其中可以根據(jù)實際情況選取。整個仿真模型如圖4.2.4所示。下面以積分環(huán)節(jié)為例來說明這種方法的基本原理。 假定,則按圖4.2.4所示構(gòu)成的仿真模型的為 (4.2.5 圖4.2.4 加校正的數(shù)字仿真模型對做一次近似,即去 (4.2.6則(4.2.5是變成 (4.2.7寫成差分方程 (4.2.8選擇不同的,可得各種不同數(shù)值及分公式。比如 在梯形公式及超前歐拉公式都有y n項,一般它是未知的,在計算y n時只知道y n-1。為此,可以先對輸入信號加一拍延滯,然后再加大,補償這種延滯所造成的誤差。如圖4.2.5所示,則有 (4.2.9 (4.

12、2.10選根據(jù)(4.2.10式可得(4.2.11這就是亞當(dāng)斯公式。 圖4.2.5 補償延滯造成的誤差由于,可調(diào),故將(4.2.8及(4.2.10式稱為可調(diào)整的數(shù)值計分共識。把這種方法用于復(fù)雜系統(tǒng)的快速仿真,就可以得出允許較大步距、又有一定精度的仿真模型。通常將這種方法稱為可調(diào)的數(shù)值積分法。當(dāng)將這種方法用于復(fù)雜系統(tǒng)時,為獲得仿真模型,其基本步驟是:(1 在系統(tǒng)的輸入端加虛擬的采樣器及保持器,然后加上補償環(huán)節(jié),如圖4.2.4所示。 (2 求出該圖所示的離散化系統(tǒng)的脈沖傳遞函數(shù),并列出它的差分方程,這就是仿真模型。(3 用高階的龍格-庫塔法計算該系統(tǒng)的相應(yīng),將它作為一個標(biāo)準(zhǔn)解,然后給出不同的 ,計算

13、仿真模型的響應(yīng),并將它與標(biāo)準(zhǔn)解進行比較,直到誤差達到最小為止。利用上述步驟僅僅是計算出了系統(tǒng)的輸入量y。如果不僅對y感興趣,而且對于系統(tǒng)中的其他變量也有興趣,那么就必須將系統(tǒng)分成幾個部分,每部分都要加虛擬的采樣器及保持器。至于校正補償環(huán)節(jié)則按一般系統(tǒng)的校正原則,可以對每一個小閉環(huán)加一個。調(diào)整時,一般是先調(diào)外環(huán)的。調(diào)整的目標(biāo)是要求所獲得的仿真模型在較大的計算步距時仍能 最好地與實際模型相接近。地選取可采用第六章所介紹的參數(shù)尋優(yōu)程序來確定。4.3 非線性系統(tǒng)的數(shù)字仿真在本章的上一節(jié)中曾提到,利用離散相似法編制的仿真程序雖然精度低,但是卻可以十分方便地推廣應(yīng)用到這類非線性系統(tǒng)中去,其主要原因是在仿真

14、計算程序中,每走一步,各個環(huán)節(jié)的輸入量及輸出量都將重新計算一次。因此非線性環(huán)節(jié)子程序很容易加入到仿真程序中去。下面首先介紹典型的非線性環(huán)節(jié)的仿真。一、非線性環(huán)節(jié)仿真子程序1.飽和非線性完成圖4.3.1所示飽和非線性特性輸入-輸出之間的仿真程序,可采用圖4.3.2所示的仿真流程圖,并相應(yīng)地編制子程序在使用中調(diào)用。 圖4.3.1 飽和非線性特性圖4.3.2 飽和非線性仿真程序流程圖2.失靈區(qū)非線性圖4.3.3所示的失靈區(qū)非線性特性輸入-輸出之間的仿真流程圖如圖4.3.4所示。 圖4.3.3 失靈區(qū)非線性特性圖4.3.4 失靈區(qū)非線性仿真程序流程圖3.齒輪間隙(磁滯回環(huán)非線性(圖4.3.5 設(shè)為上一

15、次的輸入,為上一次的輸出。若當(dāng) 0時,且 C1,則 = C1 圖4.3.5 齒輪間隙非線性特性即,若只滿足前一個條件,而不滿足后一個條件,則是工作在由左邊的特性過渡到右邊的特性上。 圖4.3.6 齒輪間隙非線性仿真程序流程圖 若當(dāng) 0時,且+C1,則 = + C1 其他情況,=,即輸出維持不變,正好在走間隙這一段。程序流程圖見4.3.6。二、含有非線性環(huán)節(jié)的離散相似法仿真程序的計算方法當(dāng)系統(tǒng)中有上述典型環(huán)節(jié)時,本章第二節(jié)講的離散相似法仿真程序要作如下修改:(1 對每個環(huán)節(jié)要增設(shè)一個參數(shù),表示第個環(huán)節(jié)的入口或出口有那種類型的非線性環(huán)節(jié)。(2 對每個環(huán)節(jié)要增設(shè)一個參數(shù),表示第個環(huán)節(jié)的入口的那個非線

16、性環(huán)節(jié)的參數(shù)C i,當(dāng)?shù)趥€環(huán)節(jié)入口沒有非線性時,=0。因此在輸入數(shù)據(jù)時,對于每一個非線性環(huán)節(jié)都要同時送 8個數(shù)據(jù)。其中為線性環(huán)節(jié) 的系數(shù),的含義為: =0 表示該環(huán)節(jié)前、后無非線性環(huán)節(jié)。 =1 表示該環(huán)節(jié)前有飽和非線性環(huán)節(jié)。 =2 表示該環(huán)節(jié)前有失靈區(qū)非線性環(huán)節(jié)。 =3 表示該環(huán)節(jié)前有齒輪間隙非線性環(huán)節(jié)。 =4 表示該環(huán)節(jié)后有飽和非線性環(huán)節(jié)。=5 表示該環(huán)節(jié)后有失靈區(qū)非線性環(huán)節(jié)。=6 表示該環(huán)節(jié)后有齒輪間隙非線性環(huán)節(jié)。的意義可以參見圖4.3.1,圖4.3.5所示的非線性參數(shù)。(3 一個完整的面向結(jié)構(gòu)圖的離散相似法仿真程序框圖如圖4.3.7所示:三、非線性系統(tǒng)仿真舉例有一個四階非線性系統(tǒng)仿真結(jié)構(gòu)

17、圖如圖4.3.8所示。試分析:當(dāng)階躍輸入u=10時:無非線性環(huán)節(jié);非線性環(huán)節(jié)為飽和特性(見圖4.3.1,且c1=5;非線性環(huán)節(jié)為失靈區(qū)特性(見圖3.3.3,且c1=1,這三種情況下的系統(tǒng)輸出響應(yīng),并分析結(jié)果。第一步:確定系統(tǒng)各個環(huán)節(jié)號。本例除第一個環(huán)節(jié)前有非線性環(huán)節(jié)外,其余都為線性環(huán)節(jié)。第二步:根據(jù)圖4.3.9所示寫出連接矩陣為 圖4.3.7 離散相似法仿真程序框圖 圖4.3.8 四階非線性系統(tǒng)結(jié)構(gòu)圖 圖4.3.9 四階非線性系統(tǒng)仿真框圖第三步:運行程序根據(jù)提示輸入數(shù)據(jù)。輸入的數(shù)據(jù)有:(1各環(huán)節(jié)參數(shù),按第二種情況考慮,非線性環(huán)節(jié)為飽和特性,即 u0(i y0(i Z(iD(iC(iA(i B(

18、i0.1 1 0.5 1 0 0 10 1 1 0 0 0 02 1 2 0 0 0 010 1 10 0 0 0 0(2輸入連接矩陣數(shù)據(jù),即 (3輸入仿真參數(shù)。根據(jù)經(jīng)驗公式,采樣周期按各環(huán)節(jié)最小的時間常數(shù)的1/10選取,本例中最小時間常數(shù)為0.1,故采樣周期選為0.01。仿真時間去10s,且觀察第1號、4號環(huán)節(jié)輸出,因此仿真參數(shù)輸入時如下:采樣周期仿真時間打印、顯示時間間隔輸出環(huán)節(jié)號0.01 10 1 1,4第五步:結(jié)果分析。將以上三組數(shù)據(jù)輸入到仿真程序中,運行后可得到數(shù)據(jù)結(jié)果。通過該程序的仿真結(jié)果,可以分析系統(tǒng)中典型非線性環(huán)節(jié)對系統(tǒng)的影響。1.飽和非線性對系統(tǒng)過渡過程的影響當(dāng)自動控制系統(tǒng)中

19、(非條件穩(wěn)定系統(tǒng)存在飽和元件時,此時系統(tǒng)的穩(wěn)定性將變好,而快速性將變壞,也即超調(diào)量將減小,而過渡過程時間增加。這與自動控制原理理論分析結(jié)果相同。2.失靈區(qū)非線性對系統(tǒng)過渡過程的影響根據(jù)調(diào)解原理分析可知:若系統(tǒng)中具有失靈區(qū)非線性環(huán)節(jié),那么系統(tǒng)的動態(tài)品質(zhì)將變壞,而對穩(wěn)定性影響不大。其原因是:(1 由于有失靈區(qū),在過渡過程的起始段,相當(dāng)于減小了系統(tǒng)的開環(huán)增益,故過度過程變緩。(2 當(dāng)輸入量接近穩(wěn)定時,放大器處于穩(wěn)定區(qū),系統(tǒng)處于失控狀態(tài),控制作用為零,故超調(diào)量將略微增大。(3 由于放大器有失靈區(qū),故在過渡過程中有尾部,系統(tǒng)也處于失控狀態(tài),因此將出現(xiàn)一個很長的尾巴。即從系統(tǒng)進入失靈區(qū)到輸出量進入穩(wěn)態(tài)值區(qū)

20、(5%,輸出量變化十分緩慢。3.齒輪間隙非線性對系統(tǒng)的影響由于存在齒輪間隙,當(dāng)系統(tǒng)的輸出值超過穩(wěn)態(tài)值時,因系統(tǒng)有反向調(diào)節(jié)的趨勢,輸出將維持不變一直要等非線性環(huán)節(jié)的輸入走完間隙時輸出才能下降。而當(dāng)輸出值反向偏離穩(wěn)態(tài)值時,系統(tǒng)郵政向調(diào)節(jié)的趨勢,輸出又將維持不變,一直要等非線性環(huán)節(jié)的輸入走完間隙時輸出才能回升。其結(jié)果,系統(tǒng)將會在穩(wěn)態(tài)值附近以某一幅度和頻率進行震蕩,即系統(tǒng)始終在一個極限環(huán)內(nèi)運動,而無法穩(wěn)定下來。4.4 連續(xù)系統(tǒng)的結(jié)構(gòu)圖仿真及程序4.4.1 CSSF程序包簡單介紹本節(jié)將介紹一個面向結(jié)構(gòu)圖的數(shù)字仿真程序包CSS(Continuons System Simulation。該程序包是1981年

21、5月引入我國的。該程序包首先被移植在國產(chǎn)的DJS-130機上,后因BASIC 語言運行速度太慢,國內(nèi)有關(guān)單位將該程序包翻譯成FORTRAN語言,并對原程序作了大量的修改和補充,取名為CSSF,ZFX等。CSSF仿真程序包的主要特點:(1 配備了多種積分方法。例如,定步長龍格-庫塔法、邊步長梅森法、定步長漢明法等。(2 可以面向多種形式的數(shù)學(xué)模型。例如,狀態(tài)方程,一階及二階傳遞函數(shù),n階傳遞函數(shù)或微分方程,對所有這些原始方程,只需直接輸入系統(tǒng),不必進行交換。(3 增加了延遲、微分、一元及二元函數(shù)發(fā)生器等。(4 增加了采樣系統(tǒng)仿真功能,并且有參數(shù)優(yōu)化模塊。(5 具有非線性兩點邊值自動求解功能。CS

22、SF程序包提供了約40種不同類型的運算塊,包括模擬機中的積分器、比例器、三角函數(shù)、對數(shù)、乘法、除法以及各種非線性函數(shù)運算模塊,故一套CSSF程序包的計算功能相當(dāng)于一臺的大型模擬機。除此之外CSSF程序包還包括幾塊用戶自定義塊意識和用戶的特殊需要。用CSSF進行仿真的最大優(yōu)點就是使用方便。用戶只需將仿真系統(tǒng)轉(zhuǎn)化成程序包所含有的運算功能塊所組成的仿真結(jié)構(gòu)圖,啟動程序包,按指定的方式輸入個功能塊的編號、類型參數(shù)、連接方式,以及積分步長、仿真時間等參數(shù),就可以得到仿真結(jié)果。4.4.2 Micro-CSS仿真程序可以說,CSSF仿真程序是一種功能全、性能高的程序包,可用于大型、復(fù)雜的連續(xù)或采樣系統(tǒng)的仿真

23、,但該程序包的結(jié)構(gòu)復(fù)雜。Micro-CSS(MCSS是CSS的微型化,它是用BASIC語言編寫的?;镜腗CSS約有80條語句,而擴展MCSS約有200條語句,并采用C語言編寫。它包括了CSS程序包的主要內(nèi)容,并且參數(shù)的輸入風(fēng)格也與CSS相同,故通過MCSS程序的學(xué)習(xí),也可解剖CSS的結(jié)構(gòu),并掌握CSS的使用方法。MCSS仿真程序共有十七種函數(shù)功能塊,且為用戶提供了方便的擴展方式。仿真最大塊數(shù)定義為200塊,也可根據(jù)機器內(nèi)存將其擴展。MCSS仿真程序具有自動排序功能。其功能塊名稱見表4.4.1。每一功能塊用一種型號表示,例如,1型為常數(shù)快;2型為比例加法塊;3型為積分器;13型為采樣控制器模塊

24、等。用戶使用時,首先要設(shè)定系統(tǒng)中每一功能塊的順序號(不是類型號,順序號的編號可由用戶自定,但最大號數(shù)不能超過200。實際運行次序有仿真程序在運行前自動排列。表4.4.1 MCSS仿真程序模塊名稱和功能 4.4.3 MCSS仿真程序的使用方法下面結(jié)合具體例子說明構(gòu)成MCSS仿真圖的方法、系統(tǒng)參數(shù)、連接情況,以及仿真參數(shù)的輸入方式。例4.4.1有一個二階系統(tǒng),其微分方程如下: 初值:。試畫出仿真結(jié)構(gòu)圖,并寫出仿真數(shù)據(jù)。解 1.仿真圖構(gòu)成方法由于原微分方程可改寫為 故可由積分器、常數(shù)塊構(gòu)成如圖4.4.1所示的仿真圖,并在仿真圖上方標(biāo)出順序號。2.各功能塊連接方式輸入數(shù)據(jù)各功能塊連接方式輸入數(shù)據(jù)的格式

25、為DATA I,16,J,K,L其中I-功能號順序號;16-功能號類型號;J-同第1輸入端(C2連接的模塊號;K-同第2輸入端(C3連接的模塊號;L-同第3輸入端(C4連接的模塊號。這部分?jǐn)?shù)據(jù)輸入結(jié)束時,用全零行表示,即DATA 0,0,0,0,0本例的數(shù)據(jù)格式為10 DATA 1,1,0,0,012 DATA 2,3,1,3,214 DATA 3,3,2,0,016 DATA 0,0,0,0,0 圖4.4.1 例4.4.1的仿真結(jié)構(gòu)圖3.參數(shù)部分?jǐn)?shù)據(jù)輸入?yún)?shù)部分?jǐn)?shù)據(jù)輸入的格式為 其中:I功能塊順序號 這部分?jǐn)?shù)據(jù)輸入結(jié)束時,同樣用全零行表示。注意:積分塊(3型功能塊的第一參數(shù)輸入為初始條件數(shù)據(jù)

26、。當(dāng)某一功能塊中p1,P2, P3三個參量都沒有時,可以不輸入該塊的數(shù)據(jù)。例如,正弦函數(shù)塊、余弦函數(shù)塊、乘法器等。本例的數(shù)據(jù)格式為60 DATA 1,1,0,062 DATA 2,0,0.1, 164 DATA 3,0,0,066 DATA 0,0,0,04. 仿真控制數(shù)據(jù)輸入仿真控制數(shù)據(jù)輸入的格式如下:80 DATA D,T1,T2,K1,K2,K3,K4其中D積分步長;T1仿真時間;T2打印、顯示時間間隔;K1K4輸出量所在模塊。 本例中,如果設(shè)計步長為0.1s,仿真時間為10s,每秒顯示一次,輸出量為,則數(shù)據(jù)格式為90 DATA 0.1,1,3,2,0,0其輸出結(jié)果如下:TIME OUT

27、PUT3 OUTPUT2 OUTPUT0 OUTPUT00 0 0 0 00.999 996 0.365 040 3 0.721 808 0 01.999 999 1.103 401 0.811 573 8 0 02.999 998 1.932 805 0.830 502 8 0 03.999 997 2.743 704 0.785 397 5 0 04.999 996 3.496 954 0.719 563 2 0 05.999 995 4.181 771 0.650 230 8 0 06.999 994 4.798 479 0.583 958 2 0 07.999 993 5.351 46

28、5 0.522 966 2 0 09.000 016 5.846 339 0.467 740 8 0 0例4.4.2設(shè)有一非線性系統(tǒng)如圖4.4.2所示,求其響應(yīng)y(t。 圖4.4.2 例4.2.2系統(tǒng)結(jié)構(gòu)圖解首先畫出其仿真結(jié)構(gòu)圖,如圖4.4.3所示。 圖4.4.3 例4.2.2系統(tǒng)仿真結(jié)構(gòu)圖數(shù)據(jù)文件為10 DATA 1,1,0,0,012 DATA 2,2,1,8,114 DATA 3,16,2,0,016 DATA 4,3,0,3,018 DATA 5,3,4,5,020 DATA 6,3,5,6,022 DATA 7,3,0,6,724 DATA 8,2,6,7,026 DATA 0,0,

29、0,0,050 DATA 1,1,0,052 DATA 2,1,-1,054 DATA 3,1,-1,056 DATA 4,0,4,058 DATA 5,0,-2,060 DATA 6,0,-10,062 DATA 7,0,0.4,-0.164 DATA 8,1,1,066 DATA 0,0,0,0,090 DATA 0.01,5,0.5,8,0,0,0其輸出結(jié)果為TIME OUTPUT3 OUTPUT2 OUTPUT0 OUTPUT00 0 0 0 00.499 999 8 2.753 746E-02 0 0 00.999 999 3 0.110 005 2 0 0 01.499 999 0

30、.226 193 0 0 01.999 998 0.366 024 2 0 0 02.499 998 0.525 232 6 0 0 02.999 998 0.701 728 2 0 0 03.499 997 1.101 851 0 0 04.500 008 1.323 749 0 0 04.4.4 MCSS仿真程序分析為了方便讀者進一步該程序的使用方法和應(yīng)用范圍,并熟悉變成技巧,本節(jié)對該程序的組成及功能作更深入的分析和說明。MCSS程序共有以下四部分組成:(1 輸入數(shù)據(jù)塊;(2 自動安裝模塊順序塊;(3 運行程序快;(4 輸出打印塊;該程序編排緊湊,有些塊又是相互交叉進行的。圖4.4.4為M

31、CSS仿真程序流程圖。下面分別說明以上四部分程序。1.輸入數(shù)據(jù)塊這部分主要有讀語句組成,輸入的數(shù)據(jù)有三部分,按先后順序為(1 連接方式數(shù)據(jù):I,16,J,K,L(2 典型塊參數(shù)數(shù)據(jù):I,y(1,y(2,y(3(3 仿真控制數(shù)據(jù):D,T1,T2,K1,K2,K3,K4其中(1,(2兩類輸入數(shù)據(jù)結(jié)束標(biāo)志為零。數(shù)據(jù)段可放在程序的前部或后部,但三部分?jǐn)?shù)據(jù)的次序不能改變。在編程時考慮到程序的緊湊,故將這部分插入在其他部分之中。在讀數(shù)據(jù)的同時為了后一部分排序的要求,計算機自動檢查仿真系統(tǒng)中積分塊、常數(shù)塊、延時塊的個數(shù)即編號。安排方式如表4.4.1所示。表4.4.1 三類特殊模塊的編號類型數(shù)目編號延時塊N4

32、ID(N4積分塊N9V(N9常數(shù)塊N8N(N82.自動安排各模塊計算順序這一段程序的主要功能是編排各模塊計算順序并賦予順序號。用戶在完成仿真結(jié)構(gòu)圖后,先要給你一個計算順序,即編號。至于這一順序號是否合理,程序會自動進行判斷,并作出合理安排。前排的原則是,該模塊的三個輸入信號是否已有確定值,若無,則這一模塊必須排在以后計算。但有三種類型塊例外:常數(shù)塊(1、積分塊(3、和延遲器(4。它們的輸出值可由給定的參數(shù)和初始值來確定,不必依賴于輸入值。 圖4.4.4 MCSS流程圖在進入這段程序以前,除了常值信號源外(因為它們不必計算,故沒有安排計算順序的必要,其他運算塊的類型代碼(程序中用U(I,1表示,

33、均為負(fù)值,以表示尚未安排好的順序。程序根據(jù)用戶編號順序從小到大檢查類型代碼U(I,1的符號,如果U(I,1為負(fù),就開始檢查該塊的三個輸入端信號是否都有確定值,即檢查三個輸入信號是否來自延遲、積分、常數(shù)或已安排好的功能模塊的輸出。如果三個輸入均滿足上述情況之一,即可安排該塊的計算順序并編號,且將類型代碼U(I,1取正值。該塊的流程圖如圖4.4.5所示。其中, N7為環(huán)節(jié)總數(shù)目;N(位數(shù)組存放排好的計算順序;I,K,L1為該子程序用到的變量。 圖4.4.5 自動排序模塊流程圖下面用一個例子來說明MCSS程序中各模塊計算順序自動安排的過程。例 4.4.3 有一方程如下 設(shè)初始條件為 試分析計算機排序

34、的方法和結(jié)果。解:首先將方程改寫為 用上式可畫出仿真結(jié)構(gòu)圖。先對仿真結(jié)構(gòu)圖中各模塊任意編號。如圖4.4.6 所示。 圖4.4.6 例4.4.3仿真結(jié)構(gòu)圖程序先按用戶編號1號開始檢查,因為1號比例器只有第3輸入端是確定的,其余兩個未定,所以不能列為第1號。接著檢查第2號,由于2號積分器的輸入端需要1號提供,故也不能列為第1號。而3號積分器的輸入端由2號積分器的初始值便可確定,故列為第1號。這樣反復(fù)檢查,最后得到的計算順序為345612顯然這種計算順序并非唯一,它和用戶編號順序有關(guān)。若把原用戶編號作如下改動,即13,24,35,41,52,66則計算順序為125634雖然順序不同,只要確定正確無誤

35、,那么其計算結(jié)果完全相同。3.運行程序塊該段主要包括(1運行準(zhǔn)備:指針 A 龍格-庫塔法系數(shù);B 典型塊運行控制。(2典型塊計算,目前MCSS仿真程序共有17種典型塊,且程序為用戶提供了方便的備用模塊入口地址,以適應(yīng)特殊需要。另外程序為了突出簡單,積分方法只選擇了四階龍格-庫塔法。4.輸出數(shù)據(jù)塊MCSS仿真程序追求的是簡單,故輸出數(shù)據(jù)的方式很簡單,只有三條語句為數(shù)據(jù)輸出語句。每次運行最多可將4個模塊的數(shù)據(jù)輸出。4.4.5 代數(shù)環(huán)問題在連續(xù)時間系統(tǒng)面向結(jié)構(gòu)圖仿真中,完全可能出現(xiàn)這種情況,即計算機無法對所有的環(huán)節(jié)進行排序。換句話說,在系統(tǒng)的仿真結(jié)構(gòu)圖中,可能存在一些環(huán)節(jié)無法安排計算順序。這種情況我

36、們稱系統(tǒng)的仿真結(jié)構(gòu)圖出現(xiàn)了代數(shù)環(huán)。這是需要特別注意的問題,因為這時,系統(tǒng)將不可能進行仿真計算。所謂的代數(shù)環(huán)就是在系統(tǒng)的仿真結(jié)構(gòu)圖中出現(xiàn)了純粹是有代數(shù)環(huán)節(jié)構(gòu)成的閉環(huán)回路。例 4.4.4 考慮下面方程所描述系統(tǒng)的仿真 解:我們首先畫出系統(tǒng)的仿真結(jié)構(gòu)圖,如圖4.4.7所示。 圖4.4.7 例4.4.4的仿真結(jié)構(gòu)圖對圖4.4.7分析,可以發(fā)現(xiàn)由于模塊2無法確定計算順序,導(dǎo)致模塊3、模塊4、模塊5和模塊7也無法確定計算順序,也這是模塊7無法確定計算順序,有導(dǎo)致模塊2無法確定計算順序。這就是說仿真結(jié)構(gòu)圖出現(xiàn)代數(shù)環(huán),即由模塊2、模塊4和模塊7形成一個封閉環(huán),在該封閉環(huán)內(nèi)沒有動態(tài)環(huán)節(jié),而僅有一些代數(shù)環(huán)節(jié)組成。

37、或者也可以這樣說,如果某環(huán)節(jié)的輸出僅僅經(jīng)過代數(shù)運算就反饋到該環(huán)節(jié)的某個輸入,則就構(gòu)成一個代數(shù)環(huán)。代數(shù)環(huán)的解決方法很多,可以根據(jù)被仿真對像的具體情況來定。在SimuLink里面,采用了Newton-Raphson技術(shù)來求解代數(shù)環(huán)。由于這種方法利用的是迭代優(yōu)化,因此存在計算時間長,甚至找不到解的可能性。在此我們介紹兩種比較實用的方法。如果系統(tǒng)的仿真結(jié)構(gòu)圖比較復(fù)雜,并且計算步長也較小,可以在代數(shù)環(huán)上的任意一個地方增加一個一步延時環(huán)。這種方法比較簡單,并且有效。如果系統(tǒng)的模型不是特別復(fù)雜,可以將模型重寫為一個標(biāo)準(zhǔn)的一階微分方程組,例如例4.4.4的系統(tǒng)可以重寫為 即按上式重新畫仿真結(jié)構(gòu)圖,就可以避免代

38、數(shù)環(huán)的出現(xiàn)。因此,一般按標(biāo)準(zhǔn)的一階微分方程組,即方程右邊不出現(xiàn)變量的導(dǎo)數(shù),畫出的仿真結(jié)構(gòu)圖不會有代數(shù)環(huán)。本章小結(jié)本章是全書的重點之一,所介紹的兩種面向結(jié)構(gòu)圖仿真方法是目前科學(xué)研究和核工程實踐中常用的仿真方法。(1當(dāng)連續(xù)系統(tǒng)用結(jié)構(gòu)圖形式給定后,離散相似法是一種較為簡單的方法,該方法的實質(zhì)就是在系統(tǒng)必要環(huán)節(jié)的輸入和輸出端加入虛擬采樣器和保持器,將連續(xù)系統(tǒng)離散化,然后分別計算分割開的各個環(huán)節(jié)的輸出量,并按結(jié)構(gòu)圖上的關(guān)系把相應(yīng)的輸入與輸出連接起來,順序求解計算。由于環(huán)節(jié)的離散化方程可離線計算,因此該方法突出的特點是運算速度快,但精度低。(2相對于離散相似法而言在本章第四節(jié)敘述的連續(xù)系統(tǒng)結(jié)構(gòu)圖仿真方法應(yīng)

39、用更廣泛。它們的基本原理是一樣的,但后者對各環(huán)節(jié)的計算是在仿真運行中分別計算的,因此它可以提供多種積分解法供用戶選擇,并且有較高的精度,但帶來的問題是計算速度較慢,并且需要排序,以避免結(jié)構(gòu)圖中出現(xiàn)的代數(shù)環(huán)。習(xí)題4-1 有一閉環(huán)系統(tǒng)如下圖所示。 (1求出的,列出求解y(t的差分方程。 (2求出閉環(huán)系統(tǒng)的,列出求解y(t的差分方程。(3在閉環(huán)入口e處加虛擬采樣器及零階保持器,求出開環(huán)的脈沖傳遞函數(shù)W(z,并列出求解y(t的差分方程。(4在系統(tǒng)入口u處加虛擬采樣器及零階保持器,求出開環(huán)的脈沖傳遞函數(shù)W(z,并列出求解y(t的差分方程。4-2 已知系統(tǒng):故差分方 程為試分析步距T應(yīng)如何選擇。若選擇的過

40、大,計算時是否會發(fā)生不穩(wěn)定?4-3 試編出下圖所示的非線性環(huán)節(jié)的仿真程序。 4-4 設(shè)有系統(tǒng)狀態(tài)方程如下: (1 (2試編制程序,求出這兩組狀態(tài)方程轉(zhuǎn)移矩陣和。已知采樣周期T=0.5。4-5 試用MCSS仿真程序?qū)ο聢D所示系統(tǒng)進行仿真。其中,輸入u為單位階躍函數(shù);參數(shù)c1=1,c2=0.05。分析在離散化采樣周期(步長T=0.02和T=0.05兩種情況下,仿真結(jié)果是否相同。 4-6 設(shè)有一系統(tǒng)結(jié)構(gòu)如下圖所示。當(dāng)輸入為單位階躍函數(shù)時,輸出y的精確解為 試用離散仿真程序?qū)ι鲜鱿到y(tǒng)在以下幾種條件下進行仿真,并與精確解y(t相比較。(1在離散化采樣周期D0=0.02,0.005,0.001,0.002

41、四種情況下的仿真結(jié)果與精確解的誤差。(2在離散化采樣周期D0=0.005條件下,對于把環(huán)節(jié)合在一起離散化以及兩個環(huán)節(jié)分開離散化兩種情況,若將兩者所得結(jié)果同精確解比較,那一種誤差更小一些? 4-7 試用MSCSS程序仿真一個具有延遲環(huán)節(jié)的系統(tǒng),其結(jié)構(gòu)圖如下圖所示。離散化采樣周期D0=0.01。 附錄:MCSS仿真程序原碼500 DATA 1,1,0,0,0510 DATA 2,2,1,8,0520 DATA 3,16,2,0,0530 DATA 4,3,0,3,0540 DATA 5,3,4,5,0550 DATA 6,3,5,6,0560 DATA 7,3,0,6,7570 DATA 8,2,

42、6,7,0580 DATA 0,0,0,0,0590 DATA 1,1,0,0600 DATA 2,1,-1,0610 DATA 3,1,1,0620 DATA 4,0,4,0630 DATA 5,0,-2,0640 DATA 6,0,-10,0650 DATA 7,0,.4,-.1660 DATA 8,1,1,0670 DATA 0,0,0,0680 DATA .05,30,.2,8,2,6,7690 DIM U(200,5,V(60,P(200,3,C(200,E(60,4,Y(200,TT(200,CK4(200,5 700 DIM S(20,200,N(200,ID(20,AD(9,B

43、D(9,CY(9,CU(9710 N9=0:T=0:C(0=0:JNP=1720 PRINT INPUT I,I6,J,K,L730 INPUT J,U(J,1,U(J,2,U(J,3,U(J,4740 IF J=0 GOTO 830750 N7=N7+1:I6=U(J,1:IF I64 GOTO 770760 N4=N4+1:ID(N4=J:GOTO 810770 IF I63 THEN 790780 N9=N9+1:U(J,5=N9:V(N9=J:GOTO 810790 IF I61 GOTO 810800 N8=N8+1:N(N8=J:GOTO 820810 U(J,1=-I6820 G

44、OTO 730830 FOR I=1 TO N7 :IF U(I,10 THEN 940840 FOR K=2 TO 4:L1=ABS(U(I,K :IF L10 THEN 860850 IF K=4 THEN 930 ELSE 920860 IF N4=0 THEN 880870 FOR J=1 TO N4:IF L1=ID(J THEN 920 ELSE NEXT J880 IF N90 THEN 990980 I4=2:U(I,1=-U(I,1:PRINT SORT FAILURE BLOCK;I4990 NEXT I:PRINT INPUT I,Y(1,Y(2,Y(31000 INPU

45、T J,P(J,1,P(J,2,P(J,31010 IF J=0 THEN 10301020 C(J=P(J,1:Y(J=P(J,1:GOTO 10001030 IF N4=0 GOTO 10501040 FOR I=1 TO N4:J=ID(I:P(J,2=I:NEXT I1050 INPUT D,T2,T1,K1,K2,K3,K4;D,T2,T1,K1,K2,K3,K41060 N1=T1/D:N2=INT(N1+.5:D7=.5*D:D6=D/6:NPRT=INT(T2/T1+.51070 PRINT TIME;TAB(15;OUTPUT-;K1;TAB(30;OUTPUT-;K2; 1

46、080 PRINT TAB(45;OUTPUT-;K3;TAB(60;OUTPUT-;K41090 A=11100 B=11110 I7=N(B:I6=U(I7,1:IF I6=0 THEN 16801120 J1=U(I7,2:K=U(I7,3:L=U(I7,4:P1=P(I7,1:P2=P(I7,2:P3=P(I7,31130 C2=C(J1:C3=C(K:C4=C(L1140 ON I6 GOTO 1670,1150,1160,1170,1220,1230,1240,1250,1260,1270, 1280,1300,1310,1420,1470,1520,15701150 C1=P1*

47、C2+P2*C3+P3*C4:GOTO 16601160 I3=U(I7,5:E(I3,A=C2+P2*C3+P3*C4:GOTO 16701170 IF TD GOTO 11901180 P3=INT(4*P1/D+.5:P(B,3=P31190 IP2=P2:S(IP2,P3=C2:C1=S(IP2,01200 FOR M1=1 TO P3:S(IP2,M1-1=S(IP2,M11210 NEXT M1:GOTO 16601220 C1=SIN(C2 :GOTO 16601230 C1=COS(C2:GOTO 16601240 C1=C2*C3 :GOTO 16601250 C1=-C2 :GOTO 16601260 C1=ATN(C2 :GOTO 16601270 C1=C2/C3 :GOTO 16601280 IF C2.0001 THEN 13501320 GD5=1:FOR I=1 TO 8:CU(I=0:CY(I=O:NEXT :IF ZD7.1 THEN 13901330 READ JA,JB:FOR I=1 TO JA:RE

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論