




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第8章 通用數字仿真程序設計v81 概述v 對于一個簡單系統,可以使用前幾章講述的方法,自己編制專用的仿真程序。如果對每個系統都求狀態方程、差分方程及編制程序等,對于工程和科研來說是很不方便的,既浪費時間,又容易出錯。由于一般控制系統都是用微分方程或框圖來描述,可以編制一些通用的仿真程序,只要送入不同的參數即可進行不同系統的仿真。這樣,可減少輔助工作量,增加仿真結果的可靠性,大大提高了仿真的工作效率。 v 通用仿真程序一般應該達到以下幾點要求:v 1使用方便v (1)容易操作,輸入參數、修改參數方便;v (2)對原控制系統的預加工越少越好;v (3)輸出結果形式直觀,并應盡可能減少用戶對輸出結
2、果的預測(如輸出可能的最大值等);v (4)通用仿真程序應有操作提示、出錯提示,從事專業的使用者不需要經過培訓就可以使用;v (5)程序中的各種功能可以重復選擇等等。v 要達到上述要求,主要取決于所采用的人機交互技術,即人機會話方式。 v 2通用性強v 通用性指的是程序的適應性。一般來說,仿真軟件的通用性強,則使用比較麻煩;針對性強,則在規定的領域內,可給用戶帶來更多方便。因此,在保證用戶使用方便的前提下,程序的適用面越廣越好。實際上,設計通用仿真程序時,總是有一定的針對性的。v 根據系統類型設計的通用仿真程序有:連續系統仿真程序、采樣系統仿真程序、連續-采樣系統仿真程序、離散事件系統仿真程序
3、、偏微分方程描述的系統仿真程序等。也可根據行業特點設計通用仿真程序,例如導彈系統仿真程序、宇航系統仿真程序、熱工系統仿真程序等。 v 3仿真精度高v 由前面分析已經知道,仿真精度取決于仿真算法及所選用的計算步長。因此,為了保證仿真精度,在通用的仿真程序里要選用具有較高精度的仿真算法,比如,四階龍格-庫塔法、四階阿達姆斯法等。但這也帶來另外一個問題,有些系統仿真時,并不要求精度很高,而要求仿真速度較快,這樣所選擇的高階算法就不適用了。為了克服這種缺點,在通用程序里可以設置多種仿真算法,仿真時由用戶自己選定。 v82 面向微分方程的通用仿真程序v 在工程實際中,有些系統直接用狀態方程或微分方程描述
4、,多入多出線性定常系統都可以描述成形如式(8-1)的狀態方程或一階微分方程組的形式。v (8-1)v式中:X為n維狀態向量;Y為m維輸出向量;U為r維輸入向量;A為nn維狀態常系數矩陣;B為nr維輸入常系數矩陣;C為mn維輸出常系數矩陣;D為mr維傳遞常系數矩陣。v 對于其他形式描述的線性定常系統 (如傳遞函數或高階微分方程等 ),可以采用本書第二章中的方法轉換成如式(8-1)的標準形式。v 為了使這類系統能直接進行仿真,應設計面向微分方程或面向狀態方程的通用仿真程序。DUCXYBUAXXv821 程序設計思想v 通用程序結構與專用程序結構形式類似,都是由初始化、輸入參數、仿真運行、輸出結果這
5、四部分組成。與專用程序不同的是,通用程序不是用來仿真某個特定的系統,而是對在一定范圍內各種不同的系統都能進行仿真。這樣,程序設計存在下列特殊性:v 1通用程序的參數描述v 通用程序中應該設置可變的內存區,來適應不同系統的描述。包括狀態變量和中間變量的向量、系數的矩陣等,都要以程序變量的形式描述。還要定義相應的維數變量,根據這些維數來為狀態變量、中間變量以及系數矩陣分配內存區。實際上,在通用程序中,應該盡可能不直接使用常數,而都使用程序變量描述,這樣可以讓用戶通過人機交互界面部分的程序來設置或修改這些程序變量。對內存區的控制應該考慮初始化、賦值、更新、釋放等問題。 v 2人機交互界面部分v 通用
6、程序中應該有友好的人機交互界面,一方面便于用戶可以設置各項參數和維數等;另一方面要能夠較好顯示仿真結果,以及對仿真結果進行分析。人機交互界面中應該盡可能提供輸入或輸出的提示信息、用戶操作失誤的防錯措施等。 v 3程序運行控制 v 通用程序設計應該考慮運行控制問題。首先,從結構上看,程序應該是可以重復使用的,因此一次仿真結束后,用戶應該能夠選擇是終止程序運行,還是返回修改參數再次仿真。其次,在仿真過程中,特別是實時仿真過程中,用戶應該能夠隨時終止仿真過程。此外,在運行過程中需要避免非法的運算,如被零除、超出計算機最大值或陷入死循環等問題。v822 程序設計舉例v 這里為了突出程序的通用性設計,我
7、們選擇簡單的歐拉法作為本例中的仿真算法,程序設計框圖如圖81所示。其他仿真算法的設計與此類似。程序中主要的變量記號與式(8-1)中一致。由于篇幅所限,程序中省略了人機交互部分。 v83 面向控制系統方框圖的通用仿真程序v 當控制系統較為復雜、龐大時,求解狀態方程形式會變得相當復雜,而且由于系數矩陣是間接計算所得,因此每次系統參數的修改都需要進行大量手工計算,這些都極大地限制了面向微分方程的通用仿真程序的應用。實際上,在控制系統的分析、設計與綜合過程中,方框圖的描述形式是一種更常用的形式。如果能夠把系統看作是由許多典型算法模塊構成的,在程序中事先編好這些典型算法模塊的程序,用戶使用時,根據一定的
8、界面調用這些典型模塊,組織成控制系統,并設置參數,則仿真過程就可以大大簡化。這樣的通用仿真程序稱之為面向控制系統方框圖的通用仿真程序。v831 典型模塊的選取v 通常,在控制系統中比較常見的線性模塊有以下幾種,可以選擇一個或幾個作為典型模塊: v832 模塊之間的連接v 當選擇好典型模塊后,就可以編制通用仿真程序了。在程序中各模塊之間的連接有兩種典型方法:v 1連接矩陣法v 下面舉一個例子說明這種方法。假定選擇積分模塊k/s作為典型模塊,先將被仿真的系統化成僅用積分和比例模塊描述的形式,例如,對于圖82所描述的系統,必須化成圖83的形式。 v 在每個積分模塊輸出處設一狀態變量xi(i15),每
9、個積分器的輸入為ui(i15),見圖83。由此,可以寫出系統的狀態方程為v 2關聯矩陣法 v 用連接矩陣表示系統的連接情況對機器內存是很不經濟的。對于上述的5階系統,有一個輸入,就需要有一個65的矩陣存儲連接系數。如果系統階次很高時,占用內存空間太多。所以現在的一些通用仿真程序不采用這種形式描述系統的連接情況,而是假想所選擇的典型模塊有固定的輸入個數(實際系統中也正是這樣),用一個關聯矩陣存儲模塊輸入端所關聯的模塊序號即可。v 某系統有50個典型模塊,1個輸入。如采用連接矩陣的方式,則需要50512550個內存單元存儲系統的連接。如果假想每個模塊都有3個輸入端,采用第二種連接方式,則僅需要35
10、0150個內存單元來存儲系統的連接。但是,后者也有一個缺點,由于關聯矩陣中的元素描述的是與該模塊關聯著的其他模塊的序號,因此與該模塊關聯的系數就無法表示了,只好把這些系數放在典型模塊里。 v84 基于結構化方法設計的通用仿真程序v 雖然現在我們已經有了面向對象的方法,但是在工業控制領域的很多場合所使用的控制器,一般采用特殊的嵌入式實時操作系統,這些操作系統大多數不支持面向對象的方法。有些控制器中甚至沒有操作系統。與其對應的仿真系統也往往采用相同的配置條件。這些原因制約了面向對象方法的使用,因此,結構化設計方法依然是廣泛使用的設計方法。v 在實際應用中,常見的設計方法是,在專門用于組態設計的計算
11、機(工程師站)中,基于普通操作系統(如Windows 2000等),采用面向對象的方法設計人機交互界面,讓用戶組態控制系統方框圖,形成組態文件。再把組態文件載入另一臺專門用于控制運算的計算機(控制站)中,基于特殊的、高性能的嵌入式實時操作系統(如VxWorks、QNX等),采用結構化方法實現實時控制運算或者仿真運算。 v 本節討論采用結構化方法實現實時控制運算或者仿真運算的方法,而采用面向對象的方法實現仿真運算和人機交互界面的問題在第85節和第86節中再討論。v841 標準算法模塊函數v 正如第83節所述,方框圖的描述形式是一種常用的控制系統描述形式。該方法把系統看作由許多典型算法模塊構成,這
12、樣就需要在程序中事先編好這些典型算法模塊,用戶使用時,根據一定的界面調用這些典型模塊,組織成控制系統,并設置參數。v 這些典型算法模塊可以看作是一個個獨立的函數,每個算法模塊都具有輸入值、輸出值、參數值、中間計算值和算法邏輯等要素。由于在一個系統中,可能有多個相同類型的算法模塊,因此每個典型算法模塊函數都可能被多次使用。這樣,典型算法模塊函數中就無法保存對應的各個算法模塊的輸入值、輸出值、參數值、中間計算值等每個模塊特定的變量。為此,一般在程序中建立下列變量表,用來對系統進行管理,這些變量表并不在標準算法函數內部定義,而是定義在這些函數之外的程序中,比如最簡單的做法是定義為全局變量表。v 1模
13、塊序號 v 在控制系統組態時,每個新加上的算法模塊都有一個編號,稱為模塊序號。在有些系統中,序號是單獨編排的,而在另外一些系統中,序號就用該模塊第一個輸出信號的地址表示。大多數系統中,模塊序號還用來決定運算調度時的順序,這樣,在組態時要合理地編排塊號,以減少系統中不必要的延遲。如果塊號的編排不合理,會產生所謂的“繞圈”(Loopbacks)現象。為了說明這一情況,舉例如下。v 2模塊類型編號v 在控制運算調度時,依據模塊類型編號來調用不同的標準算法模塊函數,來完成具體的模塊計算。標準算法模塊的分類方法參見第831節和第863節。該編號不是定義在標準算法模塊函數的內部,而是一個具有全局性質的查詢
14、表,表中每一個值對應于一個標準算法模塊函數。這種查詢表一般可以用枚舉量構成,或者采用宏定義的方式描述。 v 3輸入變量表v 每個算法模塊都有一些輸入變量,沒有輸入的情況可以看作“0”個輸入,以便統一處理。這些輸入變量的值來源于其他模塊的輸出變量,這反映了控制系統圖中信號線的連接關系。輸入變量表用來記錄這些輸入變量的來源。在控制運算調度時,依據輸入變量表來搜索其他算法模塊的輸出變量的值,作為本模塊本次運算的輸入值。 v 4輸出變量表v 每個算法模塊都有一些輸出變量,沒有輸出的情況可以看作“0”個輸出,以便統一處理。這些輸出變量的值用來記錄本模塊本次運算的計算結果。在控制運算調度時,輸出變量表被用
15、來為其他與之相連的算法模塊提供本次運算的輸入值。v 5參數表v 每個算法模塊都有一些參數,比如PID算法中的比例系數、積分時間和微分時間等參數。在控制運算調度時,查詢這個參數表,來獲得具體模塊的參數值,以便完成運算。v 6中間量表v 也就是狀態變量表。凡是具有儲時性的算法模塊,比如PID、積分、慣性環節等以及定時、延遲等算法,每次計算時都要用到上一次或上幾次運算的中間量,這些中間量必須保存在一個臨時中間量表中,以便下次計算時查詢使用。 v842 控制運算調度v 控制運算調度函數實現對整個系統的運算,在開始運算之前,一般要檢查系統的連接情況,比如連接數據類型錯誤、端口懸空等問題。然后還有一個重要
16、步驟,就是初始化各個計算的輸入值表、輸出值表、中間變量表。初始化成功后開始進入循環運算,直到控制步數滿了后退出循環。v 在循環體內,運算調度程序根據模塊序號輪流計算各個算法模塊,首先根據模塊序號查詢該模塊相應的模塊類型表獲得模塊類型;然后根據模塊類型調用相應的算法函數;同時把該模塊所用的輸入變量表、參數表、中間量表傳遞給該算法函數;算法函數完成計算后,把計算結果存入輸出變量表。循環體內的程序設計框圖如圖86所示。v85 人-機交互界面v 人-機交互界面也稱計算機用戶界面,是指計算機與其使用者之間的對話接口,這種對話接口規定了用戶與計算機之間的信息交互的方式,是計算機系統的重要組成部分。用戶界面
17、的重要性在于它極大地影響了最終用戶的使用,影響了計算機的推廣應用,甚至影響了人們的工作和生活。對于用戶來說,易于學習,易于記憶,易于使用,以及能夠直觀、快速、有效地進行與計算機之間的信息交互是非常重要的。盡管人們對人-機交互界面的重要性早已認識到了,但多年來在這方面的進展一直十分緩慢,這主要是由于它所涉及的問題,除了需要發展某些高性能的軟、硬件外,它還涉及到大量有關“人”的因素問題,同時開發用戶界面的工作量極大,加上不同用戶對界面的要求也不盡相同,因此,用戶界面已成為計算機軟件研制中最困難的部分之一。v851 交互方式v 在傳統的基于文本方式的軟件設計中,常用的人-機交互方式有:問答式、菜單選
18、擇式、填表式、指令語言式。此外,配合一些簡單的曲線輸出。眾所周知,文本所提供的信息量是十分有限的,如果一個軟件系統非常復雜,包含了大量需要與用戶交互的信息,這樣就使得基于文本方式的界面變的十分繁瑣、而且不直接、不連續。相反,圖形所能夠提供的信息量是非常大的,一幅圖所提供的信息量往往相當于幾倍甚至十幾倍同樣篇幅的文本所能夠提供的信息量。現在由于計算機軟硬件技術的發展,大量的軟件設計采用了基于圖形化的方式,特別是在Windows這樣的多任務操作平臺得到廣泛使用以后,人-機交互界面也全面采用了圖形化的方式,這就是圖形用戶界面(GUl)。圖形用戶界面的廣泛流行是當今計算機技術的重大成就之一,它極大地方
19、便了非專業用戶的使用,人們不再需要死記硬背大量的命令,而可以通過窗口、菜單方便地進行操作。v圖形用戶界面GUI的主要特征是:v (1)WIMP。其中:v W (Windows)指窗口,是用戶或系統的一個工作區域。一個屏幕上可以有多個窗口。v I (Icons)指圖符,系統形象化的圖形標志,易于人們隱喻和理解。v M (Menu)指菜單,可供用戶選擇的功能提示。v P (Pointing Devices)指鼠標器等,便于用戶直接對屏幕對象進行操作。v (2)用戶模型。GUI采用了不少Desktop桌面辦公的隱喻,使應用者共享一個直觀的界面框架。由于人們熟悉辦公桌的情況,因而對計算機顯示的圖符的含
20、義容易理解,諸如文件夾、收件箱、畫筆、工作簿、鑰匙及時鐘等。v (3)過去的界面不僅需要記憶大量的命令,而且需要指定對象的位置,如行號、空格數、X及Y的坐標等。采用GUI后,用戶可直接對屏幕上的對象進行操作,如拖動、刪除、插入以至放大和旋轉等。用戶執行操作后,屏幕能立即給出反饋信息或結果,因而稱為“所見即所得”(What You See Is What You Get)。用視、點(鼠標)代替了記、擊(鍵盤),由于鼠標只有兩到三個鍵,相比較鍵盤的上百個鍵來說,不需要復雜的操作和記憶,也不需要較長的熟練過程,因此給用戶帶來了方便。v 圖形化界面的新發展還使得用戶可以直接看見自己所進行的每一步操作的
21、結果,甚至包括復雜的科學計算或工程圖紙的建立都可以通過鼠標的拖動、點擊等操作來建立,這樣就使得計算機屏幕像一個工作桌面一樣,而屏幕上的每一個文檔窗口就像桌面上的圖紙或者圖表一樣。這就是現在廣為流行的可視化(Visual)技術。v 可視化技術使得用戶的參與感極大增強,交互方式從語義上更為接近特殊的應用對象。這種交互方式具有明顯的面向對象的特征。v852 人-機交互界面的功能v 一般情況下,一個軟件系統的人-機交互界面應具有以下四個方面的主要功能:程序控制功能、數據庫控制功能、防錯功能以及在線幫助功能。 v 1運行控制v 用戶對程序運行的控制,就是指在程序運行的任何時刻,無論程序處于任何一種功能運
22、行狀態,用戶均具有選擇另外一個功能運行的能力。因為只有這樣,才能使用戶具有調用程序的最大自由,使得用戶能充分發揮軟件包的各種功能,充分發揮人的創造能力和靈活性。否則,只能使用戶陷入一種死板的、預先固定的程序運行次序。用戶對程序運行的這種控制能力,可具體分為以下幾點:v (1)停止程序的運行,并在稍后的某個時刻重新啟動,不會丟失任何數據。v (2)對整個程序系統的各個組成部分,可根據需要任意組合,以適應用戶的不同要求。v (3)非正常地結束一個命令時,不會造成整個程序運行的停止。v (4)可以完全自由地、方便地控制程序的運行,可以從某個功能轉向另一個功能。v (5)如果想終止某個輸出,并不會停止
23、整個程序的運行。v 2數據庫控制v 人-機界面僅僅具有對程序的控制功能還是不夠的,對用戶還應提供對數據庫的控制,以適應整個程序運行過程的需要。v 控制系統CAD所用的數據庫目前多為文件系統(fi1e system)。這種文件系統的建立、修改和補充均來自用戶的輸入和計算機運算的結果。為了有效地運用數據庫,用戶對數據庫應具有以下一些控制能力:v (1)可以在任意時刻,有選擇地顯示、打印任意程序變量的數值。v (2)可以在任意時刻,有選擇地修改任意程序變量的數值。v (3)無需在此鍵入,即可將任意變量內容轉移給另一變量。v (4)無需重新鍵入,即可把某個程序塊的輸出作為另一程序塊的輸入。v (5)可
24、隨時列出數據庫定義過的全部變量。v (6)可以把當前工作的結果存儲起來,以備將來使用。v 對數據庫控制的關鍵在于使用戶能對數據庫內容進行方便地控制,以適應系統分析和設計的需要。其重要性在于用戶可以充分利用已存入計算機的數據,或者稍加變化其形式和內容或地址,即可滿足不同程序的某些需要。如果用戶缺乏對數據庫的控制能力,就會使用戶進行更多重復性的鍵入,給用戶帶來很多的不便,這顯然不符合“易于使用”的原則。v 3防錯v 一般情況下,計算機按照用戶輸入來執行任務,但由于用戶的輸入經常會出現錯誤,因此,系統應有一定的防錯和糾錯能力。也就是說,應讓用戶有機會來認識輸入錯誤和改正輸入錯誤,或者最好在提示錯誤信息的同時自動改正錯誤。否則,如果一旦輸入了一個錯誤信息,計算機就突然停止,或若無其事地繼續有限下去,結果都會使用戶心理上感到惶恐。v 一般,鍵入錯誤可以分成三類:v (1)非法字符的鍵入;v (2)所鍵入的數值超出了該變量可接受數值的范圍;v (3)所鍵入的數值,導致運算不能進行。v 此外還有鼠標操作的錯誤,這類錯誤更加復雜,常常有一些難以預料的情況,比如模塊被鼠標拖動到界外造成模塊丟失情況。v 上述幾種類型的錯誤,如不設法子以制止,均可能引起程序的突然停止,甚至失去大量數據。因此,如果能避免這些錯誤所造成的后果,就可大大提高程序運行的效率。v 4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全國旅游合同示范文本
- 2025農業合作合同范本
- 2025年酸堿平衡調節藥項目建議書
- 2025全面租賃合同示范文本
- 2025年家用美容、保健電器具項目建議書
- 2025年龍門式加工中心或龍門式臥式銑床項目合作計劃書
- 2025年視窗防護屏項目合作計劃書
- 2025年法律職業資格考試復習要點試題及答案
- 2025年環境污染防治專用設備合作協議書
- 廣安畫線施工方案
- 2025年統計學期末考試題庫:綜合案例分析題模擬試卷
- 無人機失控應急事件處置預案
- 駐廠協議書模板
- 《中英飲食文化差異》課件
- 樹木清除合同協議
- 2024年韶關市始興縣事業單位招聘工作人員筆試真題
- 盡職調查專項法律服務合同
- 2025年小學勞動技能大賽實施方案
- 《中國腦卒中防治報告(2023)》
- 學生資助感恩教育主題班會
- 甘肅民族師范學院招聘工作人員考試真題2024
評論
0/150
提交評論