第8章通用數(shù)字仿真程序設(shè)計(jì)_第1頁(yè)
第8章通用數(shù)字仿真程序設(shè)計(jì)_第2頁(yè)
第8章通用數(shù)字仿真程序設(shè)計(jì)_第3頁(yè)
第8章通用數(shù)字仿真程序設(shè)計(jì)_第4頁(yè)
第8章通用數(shù)字仿真程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第8章 通用數(shù)字仿真程序設(shè)計(jì)v81 概述v 對(duì)于一個(gè)簡(jiǎn)單系統(tǒng),可以使用前幾章講述的方法,自己編制專用的仿真程序。如果對(duì)每個(gè)系統(tǒng)都求狀態(tài)方程、差分方程及編制程序等,對(duì)于工程和科研來(lái)說(shuō)是很不方便的,既浪費(fèi)時(shí)間,又容易出錯(cuò)。由于一般控制系統(tǒng)都是用微分方程或框圖來(lái)描述,可以編制一些通用的仿真程序,只要送入不同的參數(shù)即可進(jìn)行不同系統(tǒng)的仿真。這樣,可減少輔助工作量,增加仿真結(jié)果的可靠性,大大提高了仿真的工作效率。 v 通用仿真程序一般應(yīng)該達(dá)到以下幾點(diǎn)要求:v 1使用方便v (1)容易操作,輸入?yún)?shù)、修改參數(shù)方便;v (2)對(duì)原控制系統(tǒng)的預(yù)加工越少越好;v (3)輸出結(jié)果形式直觀,并應(yīng)盡可能減少用戶對(duì)輸出結(jié)

2、果的預(yù)測(cè)(如輸出可能的最大值等);v (4)通用仿真程序應(yīng)有操作提示、出錯(cuò)提示,從事專業(yè)的使用者不需要經(jīng)過(guò)培訓(xùn)就可以使用;v (5)程序中的各種功能可以重復(fù)選擇等等。v 要達(dá)到上述要求,主要取決于所采用的人機(jī)交互技術(shù),即人機(jī)會(huì)話方式。 v 2通用性強(qiáng)v 通用性指的是程序的適應(yīng)性。一般來(lái)說(shuō),仿真軟件的通用性強(qiáng),則使用比較麻煩;針對(duì)性強(qiáng),則在規(guī)定的領(lǐng)域內(nèi),可給用戶帶來(lái)更多方便。因此,在保證用戶使用方便的前提下,程序的適用面越廣越好。實(shí)際上,設(shè)計(jì)通用仿真程序時(shí),總是有一定的針對(duì)性的。v 根據(jù)系統(tǒng)類型設(shè)計(jì)的通用仿真程序有:連續(xù)系統(tǒng)仿真程序、采樣系統(tǒng)仿真程序、連續(xù)-采樣系統(tǒng)仿真程序、離散事件系統(tǒng)仿真程序

3、、偏微分方程描述的系統(tǒng)仿真程序等。也可根據(jù)行業(yè)特點(diǎn)設(shè)計(jì)通用仿真程序,例如導(dǎo)彈系統(tǒng)仿真程序、宇航系統(tǒng)仿真程序、熱工系統(tǒng)仿真程序等。 v 3仿真精度高v 由前面分析已經(jīng)知道,仿真精度取決于仿真算法及所選用的計(jì)算步長(zhǎng)。因此,為了保證仿真精度,在通用的仿真程序里要選用具有較高精度的仿真算法,比如,四階龍格-庫(kù)塔法、四階阿達(dá)姆斯法等。但這也帶來(lái)另外一個(gè)問(wèn)題,有些系統(tǒng)仿真時(shí),并不要求精度很高,而要求仿真速度較快,這樣所選擇的高階算法就不適用了。為了克服這種缺點(diǎn),在通用程序里可以設(shè)置多種仿真算法,仿真時(shí)由用戶自己選定。 v82 面向微分方程的通用仿真程序v 在工程實(shí)際中,有些系統(tǒng)直接用狀態(tài)方程或微分方程描述

4、,多入多出線性定常系統(tǒng)都可以描述成形如式(8-1)的狀態(tài)方程或一階微分方程組的形式。v (8-1)v式中:X為n維狀態(tài)向量;Y為m維輸出向量;U為r維輸入向量;A為nn維狀態(tài)常系數(shù)矩陣;B為nr維輸入常系數(shù)矩陣;C為mn維輸出常系數(shù)矩陣;D為mr維傳遞常系數(shù)矩陣。v 對(duì)于其他形式描述的線性定常系統(tǒng) (如傳遞函數(shù)或高階微分方程等 ),可以采用本書(shū)第二章中的方法轉(zhuǎn)換成如式(8-1)的標(biāo)準(zhǔn)形式。v 為了使這類系統(tǒng)能直接進(jìn)行仿真,應(yīng)設(shè)計(jì)面向微分方程或面向狀態(tài)方程的通用仿真程序。DUCXYBUAXXv821 程序設(shè)計(jì)思想v 通用程序結(jié)構(gòu)與專用程序結(jié)構(gòu)形式類似,都是由初始化、輸入?yún)?shù)、仿真運(yùn)行、輸出結(jié)果這

5、四部分組成。與專用程序不同的是,通用程序不是用來(lái)仿真某個(gè)特定的系統(tǒng),而是對(duì)在一定范圍內(nèi)各種不同的系統(tǒng)都能進(jìn)行仿真。這樣,程序設(shè)計(jì)存在下列特殊性:v 1通用程序的參數(shù)描述v 通用程序中應(yīng)該設(shè)置可變的內(nèi)存區(qū),來(lái)適應(yīng)不同系統(tǒng)的描述。包括狀態(tài)變量和中間變量的向量、系數(shù)的矩陣等,都要以程序變量的形式描述。還要定義相應(yīng)的維數(shù)變量,根據(jù)這些維數(shù)來(lái)為狀態(tài)變量、中間變量以及系數(shù)矩陣分配內(nèi)存區(qū)。實(shí)際上,在通用程序中,應(yīng)該盡可能不直接使用常數(shù),而都使用程序變量描述,這樣可以讓用戶通過(guò)人機(jī)交互界面部分的程序來(lái)設(shè)置或修改這些程序變量。對(duì)內(nèi)存區(qū)的控制應(yīng)該考慮初始化、賦值、更新、釋放等問(wèn)題。 v 2人機(jī)交互界面部分v 通用

6、程序中應(yīng)該有友好的人機(jī)交互界面,一方面便于用戶可以設(shè)置各項(xiàng)參數(shù)和維數(shù)等;另一方面要能夠較好顯示仿真結(jié)果,以及對(duì)仿真結(jié)果進(jìn)行分析。人機(jī)交互界面中應(yīng)該盡可能提供輸入或輸出的提示信息、用戶操作失誤的防錯(cuò)措施等。 v 3程序運(yùn)行控制 v 通用程序設(shè)計(jì)應(yīng)該考慮運(yùn)行控制問(wèn)題。首先,從結(jié)構(gòu)上看,程序應(yīng)該是可以重復(fù)使用的,因此一次仿真結(jié)束后,用戶應(yīng)該能夠選擇是終止程序運(yùn)行,還是返回修改參數(shù)再次仿真。其次,在仿真過(guò)程中,特別是實(shí)時(shí)仿真過(guò)程中,用戶應(yīng)該能夠隨時(shí)終止仿真過(guò)程。此外,在運(yùn)行過(guò)程中需要避免非法的運(yùn)算,如被零除、超出計(jì)算機(jī)最大值或陷入死循環(huán)等問(wèn)題。v822 程序設(shè)計(jì)舉例v 這里為了突出程序的通用性設(shè)計(jì),我

7、們選擇簡(jiǎn)單的歐拉法作為本例中的仿真算法,程序設(shè)計(jì)框圖如圖81所示。其他仿真算法的設(shè)計(jì)與此類似。程序中主要的變量記號(hào)與式(8-1)中一致。由于篇幅所限,程序中省略了人機(jī)交互部分。 v83 面向控制系統(tǒng)方框圖的通用仿真程序v 當(dāng)控制系統(tǒng)較為復(fù)雜、龐大時(shí),求解狀態(tài)方程形式會(huì)變得相當(dāng)復(fù)雜,而且由于系數(shù)矩陣是間接計(jì)算所得,因此每次系統(tǒng)參數(shù)的修改都需要進(jìn)行大量手工計(jì)算,這些都極大地限制了面向微分方程的通用仿真程序的應(yīng)用。實(shí)際上,在控制系統(tǒng)的分析、設(shè)計(jì)與綜合過(guò)程中,方框圖的描述形式是一種更常用的形式。如果能夠把系統(tǒng)看作是由許多典型算法模塊構(gòu)成的,在程序中事先編好這些典型算法模塊的程序,用戶使用時(shí),根據(jù)一定的

8、界面調(diào)用這些典型模塊,組織成控制系統(tǒng),并設(shè)置參數(shù),則仿真過(guò)程就可以大大簡(jiǎn)化。這樣的通用仿真程序稱之為面向控制系統(tǒng)方框圖的通用仿真程序。v831 典型模塊的選取v 通常,在控制系統(tǒng)中比較常見(jiàn)的線性模塊有以下幾種,可以選擇一個(gè)或幾個(gè)作為典型模塊: v832 模塊之間的連接v 當(dāng)選擇好典型模塊后,就可以編制通用仿真程序了。在程序中各模塊之間的連接有兩種典型方法:v 1連接矩陣法v 下面舉一個(gè)例子說(shuō)明這種方法。假定選擇積分模塊k/s作為典型模塊,先將被仿真的系統(tǒng)化成僅用積分和比例模塊描述的形式,例如,對(duì)于圖82所描述的系統(tǒng),必須化成圖83的形式。 v 在每個(gè)積分模塊輸出處設(shè)一狀態(tài)變量xi(i15),每

9、個(gè)積分器的輸入為ui(i15),見(jiàn)圖83。由此,可以寫(xiě)出系統(tǒng)的狀態(tài)方程為v 2關(guān)聯(lián)矩陣法 v 用連接矩陣表示系統(tǒng)的連接情況對(duì)機(jī)器內(nèi)存是很不經(jīng)濟(jì)的。對(duì)于上述的5階系統(tǒng),有一個(gè)輸入,就需要有一個(gè)65的矩陣存儲(chǔ)連接系數(shù)。如果系統(tǒng)階次很高時(shí),占用內(nèi)存空間太多。所以現(xiàn)在的一些通用仿真程序不采用這種形式描述系統(tǒng)的連接情況,而是假想所選擇的典型模塊有固定的輸入個(gè)數(shù)(實(shí)際系統(tǒng)中也正是這樣),用一個(gè)關(guān)聯(lián)矩陣存儲(chǔ)模塊輸入端所關(guān)聯(lián)的模塊序號(hào)即可。v 某系統(tǒng)有50個(gè)典型模塊,1個(gè)輸入。如采用連接矩陣的方式,則需要50512550個(gè)內(nèi)存單元存儲(chǔ)系統(tǒng)的連接。如果假想每個(gè)模塊都有3個(gè)輸入端,采用第二種連接方式,則僅需要35

10、0150個(gè)內(nèi)存單元來(lái)存儲(chǔ)系統(tǒng)的連接。但是,后者也有一個(gè)缺點(diǎn),由于關(guān)聯(lián)矩陣中的元素描述的是與該模塊關(guān)聯(lián)著的其他模塊的序號(hào),因此與該模塊關(guān)聯(lián)的系數(shù)就無(wú)法表示了,只好把這些系數(shù)放在典型模塊里。 v84 基于結(jié)構(gòu)化方法設(shè)計(jì)的通用仿真程序v 雖然現(xiàn)在我們已經(jīng)有了面向?qū)ο蟮姆椒ǎ窃诠I(yè)控制領(lǐng)域的很多場(chǎng)合所使用的控制器,一般采用特殊的嵌入式實(shí)時(shí)操作系統(tǒng),這些操作系統(tǒng)大多數(shù)不支持面向?qū)ο蟮姆椒?。有些控制器中甚至沒(méi)有操作系統(tǒng)。與其對(duì)應(yīng)的仿真系統(tǒng)也往往采用相同的配置條件。這些原因制約了面向?qū)ο蠓椒ǖ氖褂?,因此,結(jié)構(gòu)化設(shè)計(jì)方法依然是廣泛使用的設(shè)計(jì)方法。v 在實(shí)際應(yīng)用中,常見(jiàn)的設(shè)計(jì)方法是,在專門用于組態(tài)設(shè)計(jì)的計(jì)算

11、機(jī)(工程師站)中,基于普通操作系統(tǒng)(如Windows 2000等),采用面向?qū)ο蟮姆椒ㄔO(shè)計(jì)人機(jī)交互界面,讓用戶組態(tài)控制系統(tǒng)方框圖,形成組態(tài)文件。再把組態(tài)文件載入另一臺(tái)專門用于控制運(yùn)算的計(jì)算機(jī)(控制站)中,基于特殊的、高性能的嵌入式實(shí)時(shí)操作系統(tǒng)(如VxWorks、QNX等),采用結(jié)構(gòu)化方法實(shí)現(xiàn)實(shí)時(shí)控制運(yùn)算或者仿真運(yùn)算。 v 本節(jié)討論采用結(jié)構(gòu)化方法實(shí)現(xiàn)實(shí)時(shí)控制運(yùn)算或者仿真運(yùn)算的方法,而采用面向?qū)ο蟮姆椒▽?shí)現(xiàn)仿真運(yùn)算和人機(jī)交互界面的問(wèn)題在第85節(jié)和第86節(jié)中再討論。v841 標(biāo)準(zhǔn)算法模塊函數(shù)v 正如第83節(jié)所述,方框圖的描述形式是一種常用的控制系統(tǒng)描述形式。該方法把系統(tǒng)看作由許多典型算法模塊構(gòu)成,這

12、樣就需要在程序中事先編好這些典型算法模塊,用戶使用時(shí),根據(jù)一定的界面調(diào)用這些典型模塊,組織成控制系統(tǒng),并設(shè)置參數(shù)。v 這些典型算法模塊可以看作是一個(gè)個(gè)獨(dú)立的函數(shù),每個(gè)算法模塊都具有輸入值、輸出值、參數(shù)值、中間計(jì)算值和算法邏輯等要素。由于在一個(gè)系統(tǒng)中,可能有多個(gè)相同類型的算法模塊,因此每個(gè)典型算法模塊函數(shù)都可能被多次使用。這樣,典型算法模塊函數(shù)中就無(wú)法保存對(duì)應(yīng)的各個(gè)算法模塊的輸入值、輸出值、參數(shù)值、中間計(jì)算值等每個(gè)模塊特定的變量。為此,一般在程序中建立下列變量表,用來(lái)對(duì)系統(tǒng)進(jìn)行管理,這些變量表并不在標(biāo)準(zhǔn)算法函數(shù)內(nèi)部定義,而是定義在這些函數(shù)之外的程序中,比如最簡(jiǎn)單的做法是定義為全局變量表。v 1模

13、塊序號(hào) v 在控制系統(tǒng)組態(tài)時(shí),每個(gè)新加上的算法模塊都有一個(gè)編號(hào),稱為模塊序號(hào)。在有些系統(tǒng)中,序號(hào)是單獨(dú)編排的,而在另外一些系統(tǒng)中,序號(hào)就用該模塊第一個(gè)輸出信號(hào)的地址表示。大多數(shù)系統(tǒng)中,模塊序號(hào)還用來(lái)決定運(yùn)算調(diào)度時(shí)的順序,這樣,在組態(tài)時(shí)要合理地編排塊號(hào),以減少系統(tǒng)中不必要的延遲。如果塊號(hào)的編排不合理,會(huì)產(chǎn)生所謂的“繞圈”(Loopbacks)現(xiàn)象。為了說(shuō)明這一情況,舉例如下。v 2模塊類型編號(hào)v 在控制運(yùn)算調(diào)度時(shí),依據(jù)模塊類型編號(hào)來(lái)調(diào)用不同的標(biāo)準(zhǔn)算法模塊函數(shù),來(lái)完成具體的模塊計(jì)算。標(biāo)準(zhǔn)算法模塊的分類方法參見(jiàn)第831節(jié)和第863節(jié)。該編號(hào)不是定義在標(biāo)準(zhǔn)算法模塊函數(shù)的內(nèi)部,而是一個(gè)具有全局性質(zhì)的查詢

14、表,表中每一個(gè)值對(duì)應(yīng)于一個(gè)標(biāo)準(zhǔn)算法模塊函數(shù)。這種查詢表一般可以用枚舉量構(gòu)成,或者采用宏定義的方式描述。 v 3輸入變量表v 每個(gè)算法模塊都有一些輸入變量,沒(méi)有輸入的情況可以看作“0”個(gè)輸入,以便統(tǒng)一處理。這些輸入變量的值來(lái)源于其他模塊的輸出變量,這反映了控制系統(tǒng)圖中信號(hào)線的連接關(guān)系。輸入變量表用來(lái)記錄這些輸入變量的來(lái)源。在控制運(yùn)算調(diào)度時(shí),依據(jù)輸入變量表來(lái)搜索其他算法模塊的輸出變量的值,作為本模塊本次運(yùn)算的輸入值。 v 4輸出變量表v 每個(gè)算法模塊都有一些輸出變量,沒(méi)有輸出的情況可以看作“0”個(gè)輸出,以便統(tǒng)一處理。這些輸出變量的值用來(lái)記錄本模塊本次運(yùn)算的計(jì)算結(jié)果。在控制運(yùn)算調(diào)度時(shí),輸出變量表被用

15、來(lái)為其他與之相連的算法模塊提供本次運(yùn)算的輸入值。v 5參數(shù)表v 每個(gè)算法模塊都有一些參數(shù),比如PID算法中的比例系數(shù)、積分時(shí)間和微分時(shí)間等參數(shù)。在控制運(yùn)算調(diào)度時(shí),查詢這個(gè)參數(shù)表,來(lái)獲得具體模塊的參數(shù)值,以便完成運(yùn)算。v 6中間量表v 也就是狀態(tài)變量表。凡是具有儲(chǔ)時(shí)性的算法模塊,比如PID、積分、慣性環(huán)節(jié)等以及定時(shí)、延遲等算法,每次計(jì)算時(shí)都要用到上一次或上幾次運(yùn)算的中間量,這些中間量必須保存在一個(gè)臨時(shí)中間量表中,以便下次計(jì)算時(shí)查詢使用。 v842 控制運(yùn)算調(diào)度v 控制運(yùn)算調(diào)度函數(shù)實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的運(yùn)算,在開(kāi)始運(yùn)算之前,一般要檢查系統(tǒng)的連接情況,比如連接數(shù)據(jù)類型錯(cuò)誤、端口懸空等問(wèn)題。然后還有一個(gè)重要

16、步驟,就是初始化各個(gè)計(jì)算的輸入值表、輸出值表、中間變量表。初始化成功后開(kāi)始進(jìn)入循環(huán)運(yùn)算,直到控制步數(shù)滿了后退出循環(huán)。v 在循環(huán)體內(nèi),運(yùn)算調(diào)度程序根據(jù)模塊序號(hào)輪流計(jì)算各個(gè)算法模塊,首先根據(jù)模塊序號(hào)查詢?cè)撃K相應(yīng)的模塊類型表獲得模塊類型;然后根據(jù)模塊類型調(diào)用相應(yīng)的算法函數(shù);同時(shí)把該模塊所用的輸入變量表、參數(shù)表、中間量表傳遞給該算法函數(shù);算法函數(shù)完成計(jì)算后,把計(jì)算結(jié)果存入輸出變量表。循環(huán)體內(nèi)的程序設(shè)計(jì)框圖如圖86所示。v85 人-機(jī)交互界面v 人-機(jī)交互界面也稱計(jì)算機(jī)用戶界面,是指計(jì)算機(jī)與其使用者之間的對(duì)話接口,這種對(duì)話接口規(guī)定了用戶與計(jì)算機(jī)之間的信息交互的方式,是計(jì)算機(jī)系統(tǒng)的重要組成部分。用戶界面

17、的重要性在于它極大地影響了最終用戶的使用,影響了計(jì)算機(jī)的推廣應(yīng)用,甚至影響了人們的工作和生活。對(duì)于用戶來(lái)說(shuō),易于學(xué)習(xí),易于記憶,易于使用,以及能夠直觀、快速、有效地進(jìn)行與計(jì)算機(jī)之間的信息交互是非常重要的。盡管人們對(duì)人-機(jī)交互界面的重要性早已認(rèn)識(shí)到了,但多年來(lái)在這方面的進(jìn)展一直十分緩慢,這主要是由于它所涉及的問(wèn)題,除了需要發(fā)展某些高性能的軟、硬件外,它還涉及到大量有關(guān)“人”的因素問(wèn)題,同時(shí)開(kāi)發(fā)用戶界面的工作量極大,加上不同用戶對(duì)界面的要求也不盡相同,因此,用戶界面已成為計(jì)算機(jī)軟件研制中最困難的部分之一。v851 交互方式v 在傳統(tǒng)的基于文本方式的軟件設(shè)計(jì)中,常用的人-機(jī)交互方式有:?jiǎn)柎鹗健⒉藛芜x

18、擇式、填表式、指令語(yǔ)言式。此外,配合一些簡(jiǎn)單的曲線輸出。眾所周知,文本所提供的信息量是十分有限的,如果一個(gè)軟件系統(tǒng)非常復(fù)雜,包含了大量需要與用戶交互的信息,這樣就使得基于文本方式的界面變的十分繁瑣、而且不直接、不連續(xù)。相反,圖形所能夠提供的信息量是非常大的,一幅圖所提供的信息量往往相當(dāng)于幾倍甚至十幾倍同樣篇幅的文本所能夠提供的信息量。現(xiàn)在由于計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,大量的軟件設(shè)計(jì)采用了基于圖形化的方式,特別是在Windows這樣的多任務(wù)操作平臺(tái)得到廣泛使用以后,人-機(jī)交互界面也全面采用了圖形化的方式,這就是圖形用戶界面(GUl)。圖形用戶界面的廣泛流行是當(dāng)今計(jì)算機(jī)技術(shù)的重大成就之一,它極大地方

19、便了非專業(yè)用戶的使用,人們不再需要死記硬背大量的命令,而可以通過(guò)窗口、菜單方便地進(jìn)行操作。v圖形用戶界面GUI的主要特征是:v (1)WIMP。其中:v W (Windows)指窗口,是用戶或系統(tǒng)的一個(gè)工作區(qū)域。一個(gè)屏幕上可以有多個(gè)窗口。v I (Icons)指圖符,系統(tǒng)形象化的圖形標(biāo)志,易于人們隱喻和理解。v M (Menu)指菜單,可供用戶選擇的功能提示。v P (Pointing Devices)指鼠標(biāo)器等,便于用戶直接對(duì)屏幕對(duì)象進(jìn)行操作。v (2)用戶模型。GUI采用了不少Desktop桌面辦公的隱喻,使應(yīng)用者共享一個(gè)直觀的界面框架。由于人們熟悉辦公桌的情況,因而對(duì)計(jì)算機(jī)顯示的圖符的含

20、義容易理解,諸如文件夾、收件箱、畫(huà)筆、工作簿、鑰匙及時(shí)鐘等。v (3)過(guò)去的界面不僅需要記憶大量的命令,而且需要指定對(duì)象的位置,如行號(hào)、空格數(shù)、X及Y的坐標(biāo)等。采用GUI后,用戶可直接對(duì)屏幕上的對(duì)象進(jìn)行操作,如拖動(dòng)、刪除、插入以至放大和旋轉(zhuǎn)等。用戶執(zhí)行操作后,屏幕能立即給出反饋信息或結(jié)果,因而稱為“所見(jiàn)即所得”(What You See Is What You Get)。用視、點(diǎn)(鼠標(biāo))代替了記、擊(鍵盤(pán)),由于鼠標(biāo)只有兩到三個(gè)鍵,相比較鍵盤(pán)的上百個(gè)鍵來(lái)說(shuō),不需要復(fù)雜的操作和記憶,也不需要較長(zhǎng)的熟練過(guò)程,因此給用戶帶來(lái)了方便。v 圖形化界面的新發(fā)展還使得用戶可以直接看見(jiàn)自己所進(jìn)行的每一步操作的

21、結(jié)果,甚至包括復(fù)雜的科學(xué)計(jì)算或工程圖紙的建立都可以通過(guò)鼠標(biāo)的拖動(dòng)、點(diǎn)擊等操作來(lái)建立,這樣就使得計(jì)算機(jī)屏幕像一個(gè)工作桌面一樣,而屏幕上的每一個(gè)文檔窗口就像桌面上的圖紙或者圖表一樣。這就是現(xiàn)在廣為流行的可視化(Visual)技術(shù)。v 可視化技術(shù)使得用戶的參與感極大增強(qiáng),交互方式從語(yǔ)義上更為接近特殊的應(yīng)用對(duì)象。這種交互方式具有明顯的面向?qū)ο蟮奶卣鳌852 人-機(jī)交互界面的功能v 一般情況下,一個(gè)軟件系統(tǒng)的人-機(jī)交互界面應(yīng)具有以下四個(gè)方面的主要功能:程序控制功能、數(shù)據(jù)庫(kù)控制功能、防錯(cuò)功能以及在線幫助功能。 v 1運(yùn)行控制v 用戶對(duì)程序運(yùn)行的控制,就是指在程序運(yùn)行的任何時(shí)刻,無(wú)論程序處于任何一種功能運(yùn)

22、行狀態(tài),用戶均具有選擇另外一個(gè)功能運(yùn)行的能力。因?yàn)橹挥羞@樣,才能使用戶具有調(diào)用程序的最大自由,使得用戶能充分發(fā)揮軟件包的各種功能,充分發(fā)揮人的創(chuàng)造能力和靈活性。否則,只能使用戶陷入一種死板的、預(yù)先固定的程序運(yùn)行次序。用戶對(duì)程序運(yùn)行的這種控制能力,可具體分為以下幾點(diǎn):v (1)停止程序的運(yùn)行,并在稍后的某個(gè)時(shí)刻重新啟動(dòng),不會(huì)丟失任何數(shù)據(jù)。v (2)對(duì)整個(gè)程序系統(tǒng)的各個(gè)組成部分,可根據(jù)需要任意組合,以適應(yīng)用戶的不同要求。v (3)非正常地結(jié)束一個(gè)命令時(shí),不會(huì)造成整個(gè)程序運(yùn)行的停止。v (4)可以完全自由地、方便地控制程序的運(yùn)行,可以從某個(gè)功能轉(zhuǎn)向另一個(gè)功能。v (5)如果想終止某個(gè)輸出,并不會(huì)停止

23、整個(gè)程序的運(yùn)行。v 2數(shù)據(jù)庫(kù)控制v 人-機(jī)界面僅僅具有對(duì)程序的控制功能還是不夠的,對(duì)用戶還應(yīng)提供對(duì)數(shù)據(jù)庫(kù)的控制,以適應(yīng)整個(gè)程序運(yùn)行過(guò)程的需要。v 控制系統(tǒng)CAD所用的數(shù)據(jù)庫(kù)目前多為文件系統(tǒng)(fi1e system)。這種文件系統(tǒng)的建立、修改和補(bǔ)充均來(lái)自用戶的輸入和計(jì)算機(jī)運(yùn)算的結(jié)果。為了有效地運(yùn)用數(shù)據(jù)庫(kù),用戶對(duì)數(shù)據(jù)庫(kù)應(yīng)具有以下一些控制能力:v (1)可以在任意時(shí)刻,有選擇地顯示、打印任意程序變量的數(shù)值。v (2)可以在任意時(shí)刻,有選擇地修改任意程序變量的數(shù)值。v (3)無(wú)需在此鍵入,即可將任意變量?jī)?nèi)容轉(zhuǎn)移給另一變量。v (4)無(wú)需重新鍵入,即可把某個(gè)程序塊的輸出作為另一程序塊的輸入。v (5)可

24、隨時(shí)列出數(shù)據(jù)庫(kù)定義過(guò)的全部變量。v (6)可以把當(dāng)前工作的結(jié)果存儲(chǔ)起來(lái),以備將來(lái)使用。v 對(duì)數(shù)據(jù)庫(kù)控制的關(guān)鍵在于使用戶能對(duì)數(shù)據(jù)庫(kù)內(nèi)容進(jìn)行方便地控制,以適應(yīng)系統(tǒng)分析和設(shè)計(jì)的需要。其重要性在于用戶可以充分利用已存入計(jì)算機(jī)的數(shù)據(jù),或者稍加變化其形式和內(nèi)容或地址,即可滿足不同程序的某些需要。如果用戶缺乏對(duì)數(shù)據(jù)庫(kù)的控制能力,就會(huì)使用戶進(jìn)行更多重復(fù)性的鍵入,給用戶帶來(lái)很多的不便,這顯然不符合“易于使用”的原則。v 3防錯(cuò)v 一般情況下,計(jì)算機(jī)按照用戶輸入來(lái)執(zhí)行任務(wù),但由于用戶的輸入經(jīng)常會(huì)出現(xiàn)錯(cuò)誤,因此,系統(tǒng)應(yīng)有一定的防錯(cuò)和糾錯(cuò)能力。也就是說(shuō),應(yīng)讓用戶有機(jī)會(huì)來(lái)認(rèn)識(shí)輸入錯(cuò)誤和改正輸入錯(cuò)誤,或者最好在提示錯(cuò)誤信息的同時(shí)自動(dòng)改正錯(cuò)誤。否則,如果一旦輸入了一個(gè)錯(cuò)誤信息,計(jì)算機(jī)就突然停止,或若無(wú)其事地繼續(xù)有限下去,結(jié)果都會(huì)使用戶心理上感到惶恐。v 一般,鍵入錯(cuò)誤可以分成三類:v (1)非法字符的鍵入;v (2)所鍵入的數(shù)值超出了該變量可接受數(shù)值的范圍;v (3)所鍵入的數(shù)值,導(dǎo)致運(yùn)算不能進(jìn)行。v 此外還有鼠標(biāo)操作的錯(cuò)誤,這類錯(cuò)誤更加復(fù)雜,常常有一些難以預(yù)料的情況,比如模塊被鼠標(biāo)拖動(dòng)到界外造成模塊丟失情況。v 上述幾種類型的錯(cuò)誤,如不設(shè)法子以制止,均可能引起程序的突然停止,甚至失去大量數(shù)據(jù)。因此,如果能避免這些錯(cuò)誤所造成的后果,就可大大提高程序運(yùn)行的效率。v 4

溫馨提示

  • 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)論

0/150

提交評(píng)論