【精品】論文_Main_第1頁
【精品】論文_Main_第2頁
【精品】論文_Main_第3頁
【精品】論文_Main_第4頁
【精品】論文_Main_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于虛擬儀器技術(shù)扭矩自動檢測系統(tǒng)研究21緒論31.1虛擬儀器概述31.1.1虛擬儀器概念31.1.2虛擬儀器構(gòu)成31.2虛擬儀器的優(yōu)越性51.3虛擬儀器國內(nèi)外研究現(xiàn)狀61.2.1發(fā)展?fàn)顩r61.2.2國內(nèi)外應(yīng)用現(xiàn)狀121.2.3發(fā)展展望121.3木文研究內(nèi)容132扭矩自動檢測系統(tǒng)總體設(shè)計152.1需求分析152.2系統(tǒng)設(shè)計172.2.1系統(tǒng)控制原理172.2.2系統(tǒng)結(jié)構(gòu)設(shè)計182.3軟件概要設(shè)計202.3.1 labvi ew 開發(fā)平臺202.3.2軟件概要設(shè)計202.4便件選型212.4.1工控機212.4.2數(shù)據(jù)采集卡選型222.4.3運動控制卡選型232.4.4其他硬件232.5木章小結(jié)2

2、43 labvi ew軟件工程設(shè)計方法253.1 labvi ew面向纟ii件設(shè)計253.2組件設(shè)計原則263.2.1耦合和內(nèi)聚263.2.2信息隱藏283.3設(shè)計模式283.3.1 i mmediate 子 vi293.3.2 functional globle293.3.3 while 循環(huán)303.3.4 event-handling loop313.4狀態(tài)機323.4.1狀態(tài)機定義323.4.2經(jīng)典狀態(tài)機333.4.3隊列狀態(tài)機343.4.4 event-driven 4態(tài)機353.5本系統(tǒng)設(shè)計模式363.6本章小結(jié)384 labvi ew功能設(shè)計394.1數(shù)據(jù)采集394.1.1軟件方式

3、394.1.2屮斷方式394.1.3 dma 方式404.1.4帶循環(huán)的子vi建立方法研究414.2運動控制424.2.1函數(shù)分析424.2.2 dll調(diào)用方法研究434.2.3運動控制方法444.3參數(shù)配置464.4測試數(shù)據(jù)保存494.5基于labvi ew數(shù)據(jù)庫編程方法研究514.5.1 odbc簡介514.5.2動態(tài)創(chuàng)建數(shù)據(jù)源524.5.2 labvi ew數(shù)據(jù)庫訪問方式534.5.3用戶登陸系統(tǒng)設(shè)計554.5.4用八管理系統(tǒng)設(shè)計584.5.5數(shù)據(jù)管理系統(tǒng)設(shè)計594.6打印報表614.7木章小結(jié)625遠程監(jiān)控功能設(shè)計635.1網(wǎng)絡(luò)體系結(jié)構(gòu)635.1.1網(wǎng)絡(luò)分層635.1.2 tcp/1

4、p 模型635.2網(wǎng)絡(luò)測試模型645.2.1 c/s 模式645.2.2 b/s 模式655.2 labvi ew web server 配置與實現(xiàn)665.3木章小結(jié)666系統(tǒng)測試666.1參數(shù)配置666.2扭矩檢測676.3本章小結(jié)687結(jié)論697.1結(jié)論697.2未來展望69基于虛擬儀器技術(shù)扭矩自動檢測系統(tǒng)研究1緒論1.1虛擬儀器概述1.1.1虛擬儀器概念虛擬儀器(virtual instrumentation,簡稱vi)是隨著計算機技術(shù)、現(xiàn)代測試測量技術(shù)、儀 器儀表技術(shù)等發(fā)展而產(chǎn)牛的一種新型儀器,是計算機科學(xué)與儀辭科學(xué)等多學(xué)科交叉結(jié)合的產(chǎn) 物,它推動著傳統(tǒng)儀器朝著數(shù)字化、模塊化、虛擬化和

5、網(wǎng)絡(luò)化的方向發(fā)展。美國國家儀器公司(national instruments corporation,簡爾ni)t* 1986年捉出了虛擬儀器 的概念,但是虛擬儀器本身并沒有一個標(biāo)準、權(quán)威的定義,目前提出和關(guān)定義的組織或個人:(1) goldberg h在what is virtual i nstrument論文中提到:虛擬儀器是lh些特殊的子 單元、通用計算機、一些軟件和一些專門的知識所組成。ni公司商業(yè)與技術(shù)研究員mike santori :軟件決定常規(guī)功能和性能的儀器。vxi即插即川系統(tǒng)聯(lián)盟(vxi plug&play systems alliance): 個被用來表示一組軟件模

6、塊的名字,它能夠提供和傳統(tǒng)單一儀器一樣的功能。(4)吉林大學(xué)隨陽軼博士:用戶自定義的基于計算機技術(shù)的儀器解決方案。虛擬儀器通過應(yīng)用程序?qū)⑼ㄓ糜嬎銠C與功能化硬件結(jié)合起來,用戶可以通過友好的圖形 化界血來操作計算機,就像在操作自己定義、口己設(shè)計的一臺儀器一樣,從而完成對被測量 的采集、分析、判斷、顯示和數(shù)據(jù)存儲等。虛擬儀器以透明的方式把計算機資源(如微處理 器、內(nèi)存和顯示器等)和儀器碾件(如a/d、d/a、數(shù)字i/o、定時器和信號調(diào)理電路等)的測 量、控制能力結(jié)合在一起,通過軟件實現(xiàn)對數(shù)據(jù)的分析、處理、存儲和表達。1.1.2虛擬儀器構(gòu)成虛擬儀器市硬件和軟件兩部分組成,計算機的外圍部分與計算機構(gòu)成了

7、虛擬儀器系統(tǒng)的 硬件環(huán)境,是軟件的基礎(chǔ);而軟件則賦沖硬件相關(guān)功能。虛擬儀器構(gòu)成如下:(1) 虛擬儀器的碩件結(jié)構(gòu):包括計算機平臺和測控功能模塊,如圖11所示。計算機硬件平臺是各種類型的計算機,如臺式計算機、便攜式計算機、工作站和嵌入式 計算機等,它們是軟件的載體,是虛擬儀器的大腦,負責(zé)發(fā)送指令、計算、接受數(shù)據(jù);測控 功能模塊包括pc總線的數(shù)據(jù)采集卡、gpib總線儀器、vxi總線儀器模塊、pxi總線儀器信號調(diào)理總線接口卡測控對象計算機各類總線儀器模塊mmm 圖1-1虛擬儀器硬件結(jié)構(gòu)模塊、lxi總線儀器模塊、串口總線儀器模塊和各種現(xiàn)場總線儀器模塊等,他們主要完成信 號采集、信號調(diào)理、控制測控對象等,

8、他們是虛擬儀器的四肢。(2) 虛擬儀器軟件結(jié)構(gòu):虛擬儀器功能主要是通過軟件實現(xiàn),軟件在虛擬儀雅中占據(jù)關(guān)鍵的 地位,是虛擬儀器的靈魂。ni公司所提出的“軟件即儀器(the software is the instrument)v 就形彖地概括了這一點。虛擬儀器的軟件體系是一種層次結(jié)構(gòu),包含以下4個部分,如圖 1-2所示。 i/o接口軟件:完成對儀器內(nèi)部寄存單元直接存取數(shù)據(jù)的操作,為儀器驅(qū)動程序提供信 息傳遞,它的特點、組成、結(jié)構(gòu)和實現(xiàn)規(guī)范等均在vpp(vxi plug&play)系統(tǒng)規(guī)范中規(guī)定, 并定義為 visa(virtual instrument software architec

9、ture)o 驅(qū)動程序:為川戶捉供用于儀器操作的抽象函數(shù)集。儀器驅(qū)動程序是連接應(yīng)川軟件和底 層i/o接口軟件的橋梁。vpp要求儀器生產(chǎn)廠商同時提供儀器駁動程序文件和dll文件。 應(yīng)用軟件:在計算機上實現(xiàn)數(shù)據(jù)采集、分析處理、顯示、存儲和控制等功能。-般由高 級語言如c+、labview等來實現(xiàn)。一個優(yōu)秀的應(yīng)用軟件應(yīng)該具有良好的操作性和可擴展 性。 系統(tǒng)級測試及數(shù)據(jù)管理軟件:此層整合應(yīng)用軟件層所開發(fā)出來的全部功能,并提供一個 系統(tǒng)級的數(shù)據(jù)管理。i/o硬件圖1-2虛擬儀器軟件層次結(jié)構(gòu)1-2虛擬儀器的優(yōu)越性焜擬儀器是對傳統(tǒng)儀器概念的重人突破,“軟件即儀器”理念一直打破人們傳統(tǒng)思維推 動儀器領(lǐng)域革新的浪

10、潮;隨著計算機技術(shù)的發(fā)展,軟件靈活性與計算機的高性能相結(jié)合,虛 擬儀器巨大的優(yōu)越性已將傳統(tǒng)儀器遠遠甩在后而:(1) 性能高:傳統(tǒng)儀器多為32位以下專用恢入式處理器或單片機,佼小的存儲速度和容量; 虛擬儀器技術(shù)是基tpc技術(shù),h前高端雙核64位cpu,大容量內(nèi)存、海量硬盤逐漸普及, 使虛擬儀器軟件并行性增強,數(shù)據(jù)存儲速度也獲得巨大提高,使用八在數(shù)據(jù)高速導(dǎo)入磁盤的 同吋,就能實吋進行復(fù)雜的分析。 用戶自定義:傳統(tǒng)儀器把內(nèi)部硬件電路和軟件封裝,為用戶提供一些有限的功能;虛擬 儀器根據(jù)用戶需求量身定制,來裁剪軟硬件,從而獲得巨大的靈活性。(3) 開發(fā)周期短:傳統(tǒng)儀器硬件設(shè)備從pcb制圖到系統(tǒng)集成測試,

11、多為硬件工程師專門設(shè) 計,軟件設(shè)計多為基于c、asm、java等文木編程語言,耗時較長;龐擬儀器采川模塊化 硬件,硬件模塊由不同的廠商(如nl、advantech等)專門提供,虛擬儀器設(shè)計人員僅需 要根據(jù)需求采購相應(yīng)的硬件模塊即可,虛擬儀器軟件多基于圖形化的編程語言(labview 等),與文木語言相比降低了開發(fā)門檻,無疑大人縮短開發(fā)周期。(4) 性價比高:傳統(tǒng)儀器長周期開發(fā)決定其市場價格較高,例如,一個普通的動態(tài)分析儀動 輒10萬元以上;虛擬儀器則相反,其開發(fā)周期短,碩件成本為計算機成本加硬件模塊成本, 一燉在10萬元以內(nèi)。(5) 更新速度塊:傳統(tǒng)儀器一旦集成測試完畢,要更新其內(nèi)部軟碩件,需

12、要花費較長的時間, 一旦投入市場,在其整個生命周期內(nèi),一般不會出現(xiàn)軟硬件更新;虛擬儀器則相反,“摩爾(gordon moore)定律” 一定程度上揭示了硬件發(fā)展速度,一個虛擬儀器開發(fā)完成后,在 其不更改應(yīng)用軟件基礎(chǔ)上,可以更換更高性能的駛件模塊,同理,在不更改駛件模塊基礎(chǔ)上, 可以隨時升級應(yīng)用軟件,而為此花費的時間確很少。(6) 良好的人機界面:傳統(tǒng)儀器人機界而設(shè)計一般由廠家定義,人機交互多為旋鈕或按鈕等, 一個新產(chǎn)品往往用戶很難上手操作;虛擬儀器人機交互一般由用八定義,人機交互多為用戶 熟悉的鼠標(biāo)或鍵盤操作,即使是新產(chǎn)品,用戶也很容易上手。1.3虛擬儀器國內(nèi)外研究現(xiàn)狀1.2.1發(fā)展?fàn)顩r虛擬儀

13、器從8()年代初誕生至今,獲得巨人發(fā)展,開發(fā)平臺的發(fā)展伴隨著總線技術(shù)的發(fā) 展,推動著虛擬儀器技術(shù)朝更快速、智能、靈活、高效的方向發(fā)展。1.2.1.1總線與接口虛擬儀器是隨著總線與計算機接口技術(shù)發(fā)展而發(fā)展起來的,從典型的儀器總線gpib到 pc機普遍采用的pci總線、串口總線等各種總線結(jié)構(gòu)兒乎都可以用來開發(fā)虛擬儀髀。下面 對幾種常見接口總線進行介紹。(1) gpib (general purpose interface bus)通用接 口總線gp1b通用接口總線,是計算機和儀器間的標(biāo)準通訊協(xié)議,它于1978年推出。gp1b的 駛件規(guī)格和軟件協(xié)議已納入國際工業(yè)標(biāo)準ieee488和ieee488.2

14、,它是最早的儀器總線。 典型的gpib測試系統(tǒng)包括一臺計算機、一塊gpib接口卡和若干臺gpib儀器。每臺gpib 儀器有單獨的地址,由計算機控制操作。系統(tǒng)屮的儀器可以增加、減少或更換,只需對計算 機的控制軟件作相應(yīng)改動。gpib的數(shù)據(jù)傳輸速度一般低于50()kb/s,不適合于對系統(tǒng)速度要 求較高的應(yīng)用。(2) vxi (vme bus extension for instrumentation)總線系統(tǒng)vxi即vme總線在儀器領(lǐng)域的擴展,是1987年山主要儀器制造商共同制訂的開放性 儀器總線標(biāo)準。h前,國際上有兩個vxi總線組織。一個是vxi聯(lián)盟,負責(zé)制定vxi的 硬件儀器級標(biāo)準規(guī)范,另一個

15、是vxi總線即插即用(vxi plug&play,簡稱vpp)系統(tǒng)聯(lián)盟, 宗旨是通過制訂一系列vxi的軟件(系統(tǒng)級)標(biāo)準來提供一個開放性的系統(tǒng)結(jié)構(gòu),真正實 現(xiàn)vx1總線產(chǎn)品的“即插即用”。這兩套標(biāo)準組成了 vxi標(biāo)準體系,實現(xiàn)了 vxi的模塊化、 系列化、通用化以及vxi儀器的互換性和互操作性。目前,山于其價格昂貴,它主要應(yīng)用 在尖端測試領(lǐng)域。(3) px1 (pci extension for instrumentation)總線系統(tǒng)px1是pci在儀器領(lǐng)域的擴展,是ni公司于1997年發(fā)布的一種新的開放性、模塊 化儀器總線規(guī)范。其核心是compactpcl結(jié)構(gòu)和microsoft

16、windows軟件。pxi是在pci 內(nèi)核技術(shù)卜增加了成熟的技術(shù)規(guī)范和要求形成的。pxi增加了用于多板同步的觸發(fā)總線 和參考時鐘、用于精確定時的星形觸發(fā)總線、以及用于相鄰模塊間高速通信的局部總線等, 來滿足試驗和測量川戶的要求。由于pxi總線是pci總線基礎(chǔ)上借鑒vxi總線的儀器特性 組合而成,pxi系統(tǒng)衣價格上和性能上介于pc1系統(tǒng)和vxi系統(tǒng)之間。(4) isa(industrial standard architecture)總線isa總線始于1984年,是早期的一種pc總線,是一種8/16位的非同步數(shù)據(jù)總線,工 作頻率8mhz,數(shù)據(jù)傳輸率為lmb/s(8位)或2mb/s(16位)。is

17、a總線雖未被標(biāo)準化組織正式 定為標(biāo)準,在測試領(lǐng)域內(nèi)以pc為基礎(chǔ)的數(shù)據(jù)采集中曾占據(jù)著主導(dǎo)地位。isa總線雖然擴展 了對微處理器的支持能力,但仍存在著許多不足之處,如i/o擴展能力差,邊緣式印制插頭 (座)接觸不良,耐振動、沖擊能力差,対溫濕度比較敏感,不適應(yīng)工業(yè)現(xiàn)場工作等,在速度 上也成為系統(tǒng)的瓶頸,已逐漸被pci、compactpcl總線所取代。 pci(peripheral component interconnect)局部總線規(guī)范pci總線是在傳統(tǒng)總線結(jié)構(gòu)的皋礎(chǔ)上增加了局部總線用于提升計算機的總體性能。于 90年代初提出,它為系統(tǒng)提供了一個高速的數(shù)據(jù)傳輸通道,系統(tǒng)的各設(shè)備町以立接或間接 地

18、連接其上,各設(shè)備間通過局部總線可以完成數(shù)據(jù)的快速傳遞,從而很好地解決了傳統(tǒng)總線 結(jié)構(gòu)數(shù)據(jù)傳輸?shù)钠款i問題??偩€針對整個系統(tǒng),以33mhz的時鐘頻率工作,帶寬為32bit, pci最高數(shù)據(jù)傳輸率可達132mb/s,總線時鐘頻率最高可達50mhzo pci總線有嚴格的規(guī)范 來保證高度的可靠性和兼容性,完全兼容isa、eisa、mac總線;支持多臺設(shè)備,可以帶 相對較多的負載(10臺)且運行更為可靠;不受制于處理器,為cpu和高速外設(shè)提供了一條 高吞吐量的數(shù)據(jù)通道,非常適川于網(wǎng)絡(luò)適配器、磁盤驅(qū)動器、視頻卡、圖形加速卡及各類高 速外設(shè);支持即插即用的結(jié)構(gòu);釆用多路復(fù)用技術(shù)等,更受到了眾多廠家的支持,成為

19、市場 的主流。它從一開始就作為一種長期的總線標(biāo)準加以制定,有廣闊的發(fā)展前景。(6)串行口系列rs-232c(recommended standard-rs)串彳亍接口是計算機與外設(shè)之間以及計算機與測試 系統(tǒng)之間最簡單、最普遍的連接方法,采用25線連接器。其最高單向數(shù)據(jù)傳輸率為20kb/s, 此時的最大傳輸距離為15m。適當(dāng)降低速率,其最大傳輸距離可達60mo 一對一的傳輸方 式僅用于簡單或低速的系統(tǒng),有一定的實用價值。rs-422a串行接口也是一種常用的接口總線,開始支持一點對多點的通信。它在傳輸 速率、傳輸距離及抗干擾性能等方而均優(yōu)于rs-232c,采川差動(差分)收發(fā)的工作方式,利 用雙端

20、線來傳送信號,最高數(shù)據(jù)傳輸率為10mb/s,此時的傳輸距離為120m,可連接32個 收發(fā)器。如杲適當(dāng)降低傳輸率,還可增加其通訊距離。rs-485是一種典型的帝行接口,支持一點對多點的通信,采用多絞線連接,可連接32 個收發(fā)器,其它特性與rs-422a總線接近,在測控系統(tǒng)屮得到較為普遍的應(yīng)川,但不能滿 足高速測試系統(tǒng)的應(yīng)川要求。除了以上介紹的兒種總線和接口技術(shù)外,還有elsa(extended industry standard architecture). compact pci 總線、并口總線、ieee 1394 串行總線、esata 接口等多種接口 方式,山于實際使用中應(yīng)用較少,本文不再討

21、論。1-2.1.2開發(fā)平臺虛擬儀器軟件開發(fā)平臺分為兩類,一是通用軟件平臺,如vc和delphi等,它們都是 基丁文本編程語言;二是面向用戶的專用軟件開發(fā)平臺,如labview, vee等,它們大多 為基于圖形化編程語言。由于專業(yè)軟件平臺開發(fā)的便利性與高效性,故獲得大量使用,下面 對兒種常用專用開發(fā)軟件做簡單介紹:(1) lab view (laboratory virtual instrument engineering workbench )labview是由美國ni公司開發(fā)的一種圖形化編程語言,誕牛于1986年4月,是目前 最成功的虛擬儀器開發(fā)平臺,目前最新版本為labvlew8.6.1內(nèi)

22、部測試版。在labview中,一個程丿了;被稱為一個vi(virtual instrument), t' vi由兩部分組成,一部分是父互式的川戶 界而,另一部份是源程序框圖。labview提供大量高級分析庫,可進行信號處理、統(tǒng)計、 曲線擬合等復(fù)雜的分析工作。川labview設(shè)計生成的程序可以編譯成32位的獨立運行代 碼,這些代碼通過一個稱為labview runtime engine來執(zhí)行。典型labview gui和程序 框圖分別見圖1-3和圖1-4o(2) agilent vee (visual engineering environment)vee最早是在1990年7刀由hp公司

23、開發(fā)的,h前最新版為agilent vee 9.0o用戶只 需將對象從組成實驗系統(tǒng)的儀表和操作過程的相應(yīng)菜單屮挑選出來,然后川鼠標(biāo)將代表對象 的圖標(biāo)按流程連接起來就可以產(chǎn)生程序。而程序也只是一張數(shù)據(jù)流圖,比傳統(tǒng)的代碼方式更 便于使用和理解。用戶不必有豐富的編程知識,只需了解測試的目標(biāo)和順序,然后用線把相 關(guān)對彖連接起來bij rik與labview不同,vee不提供直接對底層操作系統(tǒng)和硬件端口的訪 問能力。vee開發(fā)實例如圖15所示。cycle time z迦呂浙冊加慟疥加蜩肪frequency (hz) 100stop5o-o apn-id虎htrmoni cs onlysound cara

24、 acamre program10002000300040005000600070008000900010000110001200cfrequencyo o o o o o o5 0 5 0 5 0 5- 1 1 2 2 3 3 - wpn-trhduly圖 1 -3 labview gui 示例eventsstate machinedatast«t«ddin< th« st«t< as« *ini tiali re in* 2 the firstcyn 了. gw geavt. gwahexit -rtb>圖l4labvie

25、w程序框圖0000: blue0001: white0002: orange0003: yellow0004: green0005: control0006: dark beige0007: dark gray0008: purplefor countenableediting, enumlndex. enumvalue. enumvaluesw<ibis example pr mokej no warranf)selection control properties demo圖15 vee開發(fā)實例 labscene吉林人學(xué)儀器科學(xué)與電氣工程學(xué)院焜擬儀器組于2000年啟動了基于圖形編程的

26、焜擬儀 器開發(fā)平臺的研究,并確定其研究1=1標(biāo)為:針對g語言對真實儀器仿真和高級語言這兩方 面的特點,確立g語言模型。以圖形化方式對虛擬儀器應(yīng)用領(lǐng)域的開發(fā)程序進行描述,同 時具有數(shù)據(jù)類型、函數(shù)模塊實現(xiàn)、順序循環(huán)選擇等高級語言的功能,并在此基礎(chǔ)上建立g 語言的解析和運行模型。同時,g語言作為面向虛擬儀器領(lǐng)域的描述性開發(fā)語言,其開發(fā)平 臺必須具有該領(lǐng)域的特征。項目組經(jīng)過5年的艱苦奮斗,成功研發(fā)了基于圖形編程的焜擬儀 器開發(fā)平臺labscene,先后兩次通過鑒定,證明在g語言實現(xiàn)上和虛擬儀器開發(fā)平臺方面 已處于國內(nèi)領(lǐng)先水平,在網(wǎng)絡(luò)化設(shè)計和g語言節(jié)點重載及動態(tài)加入等方而具備與國外同類net¥

27、i. via - labscene 1.0文件疋)編堀(?)狽項目 奄匚也)幫助蝕220050.5怯呂停止商扳0圖1-6 labscene開發(fā)實例產(chǎn)品不同的特征。一個完整實例的前后面板如圖16所示。此外還有,ni公司的labwindows(cvi),®于c語言的煨擬儀器開發(fā)平臺,使川者數(shù)量 較多;美國cec(capital equipment corporation)公司的血向?qū)﹀栝_發(fā)平臺testpoint、亜慶大 學(xué)秦樹人教授開發(fā)的vmids等山于使用者較少,同樣,本文不再討論。1.2.2國內(nèi)外應(yīng)用現(xiàn)狀虛擬儀器技術(shù)在國外發(fā)展很快,虛擬儀器系統(tǒng)設(shè)計及圖形化編程語言已經(jīng)作為理工科大 學(xué)

28、生的一門必修課。美國斯坦福人學(xué)等許多工科類大學(xué)的機械工程系、電子類專業(yè)都要求三、 四年級的學(xué)生在實驗吋應(yīng)用虛擬儀器進行數(shù)據(jù)采集和實驗控制。ni公司是世界上最大的虛 擬儀器制造商,從ni的發(fā)展規(guī)模可以看出虛擬儀器的發(fā)展?fàn)顩r,世界500強的企業(yè)中有85% 的制造控制性企業(yè)在應(yīng)用ni的產(chǎn)品,金世界超過5000個實驗室在利用labview和虛擬儀 器教學(xué)牛們使川最新的測量和設(shè)計技術(shù)。虛擬儀器技術(shù)在國內(nèi)起步較晚,其開發(fā)和研究在國內(nèi)尚屬起步階段,90年代小以來,清華大學(xué)、重慶大學(xué)、西安交大以及中科泛華電子科技公司、東方振動和噪聲技術(shù)研究所等 高校和公司,在研究和開發(fā)虛擬儀器產(chǎn)品和虛擬儀器設(shè)計平臺方而做了大

29、量工作,比如,清 華人學(xué)利川虛擬儀器技術(shù)構(gòu)建汽車發(fā)動機檢測系統(tǒng),優(yōu)于傳統(tǒng)汽車發(fā)動機出廠前的自動檢 測;北京中科泛華測控公司在虛擬儀器基礎(chǔ)上提出“柔性測試”概念,明確了測試測量技術(shù) 發(fā)展方向。fi前,凌華、研華、研祥等諸多工控公司也紛紛踏入到熄擬儀器換件的行業(yè)屮來, 開發(fā)以虛擬儀器開發(fā)平臺的測控系統(tǒng)。國內(nèi)將有大批金業(yè)使用虛擬儀器系統(tǒng)對生產(chǎn)設(shè)備的運 行狀況進行實時監(jiān)測和控制。虛擬儀器技術(shù)的提出與迅猛發(fā)展,標(biāo)志著本世紀自動測試、測控與電子測量儀器領(lǐng)域技 術(shù)發(fā)展的一個重要方向。隨著微型計算機的發(fā)展,虛擬儀器系統(tǒng)將會逐步取代傳統(tǒng)的測試、 測控儀器系統(tǒng)而成為測試、測控儀器系統(tǒng)發(fā)展的主流。123發(fā)展展望虛擬

30、儀器技術(shù)的發(fā)展與未來計算機技術(shù)、軟件技術(shù)、半導(dǎo)體技術(shù)、新的測試測量方法的 發(fā)展有著密切的關(guān)系,且與從業(yè)人員和市場普及等息息相關(guān)。縱觀虛擬儀器發(fā)展歷程與應(yīng)用 現(xiàn)狀,展與其未來發(fā)展:(1)軟件工程方法必將引領(lǐng)虛擬儀器軟件開發(fā)流程虛擬儀器開發(fā)平臺大多為圖形化編程語言,如labview,相對丁傳統(tǒng)的文本編程語言 來說,起步較晚,從業(yè)者數(shù)量較少,文木語言發(fā)展較為成熟的且能極人提高代碼質(zhì)量的oo 技術(shù)、軟件開發(fā)模型等并無成熟應(yīng)用于廿前圖形化編程語言。labview從8.0版本開始引 進面向?qū)ο笤O(shè)計方法,00技術(shù)在虛擬儀器開發(fā)平臺初見端倪??v觀爭物發(fā)展的哲學(xué),一些 新的設(shè)計思想總會取代iu的設(shè)計思想,軟件工

31、程方法也必將引領(lǐng)虛擬儀器軟件開發(fā)流程。(2) 虛擬儀器軟件從業(yè)人員結(jié)構(gòu)調(diào)整與優(yōu)化口前虛擬儀器軟件從業(yè)人員多為非軟件領(lǐng)域的科學(xué)家或工程師,隨著虛擬儀器技術(shù)應(yīng)用 領(lǐng)域的擴人與使川范圍的普及,大型的系統(tǒng)必將越來越多,對軟件質(zhì)量要求也越來越高。這 樣,對虛擬儀器軟件開發(fā)人員的要求越來越高,非軟件領(lǐng)域的科學(xué)家或工程師將難以勝任, 口然將會有更多專業(yè)程序員進入虛擬儀器領(lǐng)域成為虛擬儀器軟件開發(fā)者。(3) 虛擬儀器編程語言朝著通用編程語言方向發(fā)展縱觀口前虛擬儀器最主要的開發(fā)平臺labview,除了在測控領(lǐng)域具冇無可比擬的優(yōu)勢 外,在數(shù)據(jù)庫開發(fā)、網(wǎng)絡(luò)編程、面向?qū)ο笤O(shè)計、actiivex.并行編程等方而都具有強大

32、的功 能,labview已經(jīng)具備通用編程語言的特點?!皏ihome”論壇每一屆程序競賽題1=1都有一 些通用軟件的開發(fā),labview已經(jīng)做到與通用編程語言一樣的功能和性能。縱觀語言發(fā)展 的歷程,從機器語言到匯編語言再到目前的c+、java,語言總是從復(fù)雜難于理解到御能可 視化方向發(fā)展,我們有理市相信,圖形化編程語言必將朝著通用編程語言方向發(fā)展。(4) 便攜式虛擬儀器將會獲得巨大發(fā)展空間縱觀pc時代發(fā)展歷史,便攜式筆記本從價格高昂的“奢侈吊”到目前逐漸普及,工業(yè) 控制計算機總是與pc價格呈正比例。bl前,大多數(shù)工控機為臺式pc,便攜性所帶來的高 度靈活與通用性必將導(dǎo)致“便攜式工控筆記木”的發(fā)展

33、。而基于計算機技術(shù)和少量硬件模塊 的便攜式虛擬儀器也將獲得巨人發(fā)展。(5) 應(yīng)用領(lǐng)域更加多樣化1=1前虛擬儀器廣泛應(yīng)用于工業(yè)測量和控制領(lǐng)域,如航空,醫(yī)學(xué)設(shè)備、鐵路交通、教學(xué)設(shè) 備等,但大多是基于普通pc非實時操作系統(tǒng)中。ni公司的虛擬儀器開發(fā)工具labview已 經(jīng)加入real-time. fpga、embeded模塊,+1此可見,虛擬儀器必將無處不在。1.3本文研究內(nèi)容在対虛擬儀器技術(shù)和labview編程語言充分了解的基礎(chǔ)上,本文做以下部分研究:(1)扭矩自動檢測系統(tǒng)設(shè)計方案設(shè)計扭矩口動檢測系統(tǒng)總體方案,選型數(shù)據(jù)采集卡、運動控制卡。 軟件工程方法在labview中的應(yīng)用研究將軟件工程方法思想

34、應(yīng)用扭矩口動檢測系統(tǒng)開發(fā)上,利用lcod (血向組件編程)、軟 件模型等軟件工程方法進行l(wèi)abview軟件開發(fā)。 基于labview扭矩自動檢測系統(tǒng)軟件設(shè)計模式研究研究labview設(shè)計模式,并將設(shè)計模式概念應(yīng)川于扭矩自動檢測系統(tǒng)上,提高系統(tǒng)穩(wěn) 定性、可維護性等。(4)數(shù)據(jù)采集卡labview編程方法研究對系統(tǒng)中要用到的數(shù)據(jù)采集卡進行編程方法研究。 運動控制卡labview編程方法以及步進電機控制方法研究對系統(tǒng)中要用到的運動控制卡進行編程方法研究,并對三個步跡電機進行正轉(zhuǎn)反轉(zhuǎn)控 制。(6) labsql使用方法與與labview數(shù)據(jù)庫系統(tǒng)開發(fā)方法研究labview與數(shù)據(jù)庫連接方法,利用labs

35、ql對access數(shù)據(jù)庫進行開發(fā),用八登錄系統(tǒng)、用戶管理系統(tǒng)、數(shù)據(jù)管理系統(tǒng)。(7) 試驗數(shù)據(jù)分析対扭矩自動檢測系統(tǒng)進行試驗,得出數(shù)據(jù),并分析數(shù)據(jù),進行系統(tǒng)重復(fù)性與穩(wěn)定性判斷。2扭矩自動檢測系統(tǒng)總體設(shè)計2.1需求分析本系統(tǒng)試件對彖為汽午空調(diào)控制板,每個試件有23支旋鈕,試件樣品如圖21所示。每支旋鈕旋轉(zhuǎn)模式固定,均可從各口的初始位置a旋轉(zhuǎn)至終止位置b,也可從從b往回旋 轉(zhuǎn)至a;本系統(tǒng)口的是測試每支旋鈕扭矩是否在規(guī)定的范圍內(nèi)以判斷控制板質(zhì)量是否合格。木系統(tǒng)將對該類型試件進行測試,要求能實現(xiàn)的主體功能如下:0 2-1試件樣品(1)自動化測試用戶將試件放入指定位置,啟動測試后,無需用戶干預(yù),系統(tǒng)將口動

36、完成試件整個測試 流程,測試完畢,試件自動返回初始位置,川戶取走試件開始下一倫測試,自動測試流程如圖22所示。圖22 口動測試流程(2) 實時顯示扭矩曲線在虛擬儀器控制下,旋鈕首先從a旋轉(zhuǎn)至b,再從b返冋至a,要求虛擬儀器軟件軟 件能實時顯示整個測試過程屮扭矩大小與對應(yīng)角度的關(guān)系。如圖23所示,圖中口色和紅色 線條分別代表旋鈕止向旋轉(zhuǎn)、反向旋轉(zhuǎn)時的抓矩的大小。圖23扭矩角度關(guān)系實時曲線樣式(3)數(shù)據(jù)存儲保存每個試件扭矩測試結(jié)果,包括一些說明信息,如:測試員、測試口期、產(chǎn)品序列號 等。(4)用戶登錄與權(quán)限限制設(shè)計一用戶登錄窗口,用戶市此窗口登陸軟件,根據(jù)用戶名對不同用戶名做出不同的權(quán) 限,包括兩

37、種不同級別的權(quán)限:管理員、測試員;管理員有整個軟件使用權(quán),測試員只有部 分功能使用權(quán)。(5)打印報表管理員權(quán)限用八可對試件扭矩波形圖、最大扭矩點、試件序列號、測試時間等信息進行 打印。2.2系統(tǒng)設(shè)計2.2.1系統(tǒng)控制原理根據(jù)虛擬儀器特點以及實際測試盂求,設(shè)計此系統(tǒng)的原理如圖2-4所示。計算機通過數(shù) 據(jù)采集卡i/o端口控制試件由初始位置移動至指定的測試點,計算機向運動控制卡發(fā)送指 令,運動控制卡控制步進電機帶動試件上的旋鈕旋轉(zhuǎn);將扭矩傳感器女裝在步進電機同軸的 位置,即可通過數(shù)據(jù)采集卡a1采集旋鈕旋轉(zhuǎn)時的扭矩;采集到的數(shù)據(jù)經(jīng)過計算機配示和分 析,通過顯示器或打卬機傳達給用戶。圖2-4系統(tǒng)原理圖2

38、22系統(tǒng)結(jié)構(gòu)設(shè)計根據(jù)系統(tǒng)控制原理,設(shè)訃系統(tǒng)結(jié)構(gòu)如圖2-5所示。扭矩傳感器 一步進電機 夾具z7接近開關(guān)bxz試件軌道氣壓動力裝置x t固定裝置接近開關(guān)a圖2-5系統(tǒng)結(jié)構(gòu)圖圖中,計算機與運動控制r、數(shù)據(jù)釆集卡相連,是整個系統(tǒng)的心臟,能夠接受來口數(shù)據(jù) 采集卡al、di的數(shù)據(jù),同時,能發(fā)送指令控制數(shù)據(jù)采集卡與運動控制卡;數(shù)據(jù)采集卡ai 端口釆集來自扭矩傳感器的數(shù)據(jù),d【采集來自接近開關(guān)的數(shù)據(jù),do端口宜接控制氣壓動力裝置;運動控制卡控制步進電機的旋轉(zhuǎn)方向與介度;氣壓動力裝置可以推動試件沿圖屮軌道 朝兩個方向運動:水平運動和垂直運動;試件到達y1點或者z點時,接近開關(guān)a和b將 產(chǎn)生信號通知計算機;試件

39、放入固定裝置的卡槽內(nèi),在整個測試期間兩者固定在一起運動; 夾具、步進電機、扭矩傳感器始終同軸固定,試件運行至z點后,夾具與試件上的旋鈕吻 合并將其卡住一起旋轉(zhuǎn),期間扭矩傳感器捕獲步進電機消耗的扭矩轉(zhuǎn)化為電壓信號傳給數(shù)據(jù)采集卡;整個測試流程如圖26所示下:啟動系統(tǒng)氣壓動力裝曽推動試件水平移至y1 丿垂直移至z步進電機胃位丿反向旋轉(zhuǎn)應(yīng)壓動力裝世拉動試命t垂直移至y1/水平移至初始位置測試完畢圖26系統(tǒng)測試流程2.3軟件概要設(shè)計2.3.1 lab view開發(fā)平臺lab view (laboratory virtual instrument engineering workbench)是最重要的虛擬

40、儀器 開發(fā)平臺,它是一種圖形化編程語言,也被成為g語言。一個labview程序由一個或多個 vi組成,每一個vi由三部分組分:前面板、程序框圖、圖標(biāo)。(1)前面板前血板是vi的交互式用戶界血,可以包含旋鈕、按鈕、波形圖等,見圖13所示, 川戶在此界回下可以通過鍵盤鼠標(biāo)輸入信息或通過顯示器讀出信息。程序框圖框圖是vi的源代碼,框圖是由子vi、內(nèi)置函數(shù)、常量、終端組成;用連線把合適的對 象連接來定義他們之間的數(shù)據(jù)流。前而板上的對象對應(yīng)與框圖上的終端,信息可以山用八傳 遞給程序,或rh程序傳遞給用戶,如圖1-4所示。圖標(biāo)為使一個vi能作為子程序應(yīng)用于另一個vi屮,該vi必須有連接器圖標(biāo),如圖2-7所

41、 示。被另一個vi調(diào)用的vi成為子vi (subvi),類似于子程序。連接器定義的vi的輸入 和輸出端,類似于子程序的參數(shù)。vtili ties_focus on s9 input, vireferenceerror in (no error)error outfocus on seri al vuaber input圖2-7 vi圖標(biāo)d前,labview最新版為labview8.6.1內(nèi)部測試版,其最新專業(yè)版為labview&6,木系統(tǒng)軟件便是棊于labview8.6專業(yè)版開發(fā)。2.3.2軟件概要設(shè)計labview支持結(jié)構(gòu)化程序設(shè)計方法,在進行系統(tǒng)總體設(shè)計時,可以根據(jù)功能把系統(tǒng)分為若

42、干模塊,模塊間通過右限的接口與外部模塊進行信息交互。根據(jù)系統(tǒng)需求以及l(fā)abview軟件特點,分解軟件組成部分,自頂向卜設(shè)計軟件結(jié)構(gòu)如圖28所示。loiin<50d孩qmotionuser manage :data managelabvievv driver/dlllah view sqlryu _data /vnalvsisdatasavecon 淹 urefile<|/o圖28軟件層次結(jié)構(gòu)圖login為用戶登陸系統(tǒng),扭矩口動檢測系統(tǒng)的使用者由此進入;gui為人機交互界面,即在測試中看到的界虬daq為數(shù)據(jù)采集模塊,motion為運動控制模塊,兩者調(diào)用板r 口 帶labview驅(qū)動或

43、動態(tài)鏈接庫(dll)進行編程;user manage為川八管理系統(tǒng),data manage 為數(shù)據(jù)管理系統(tǒng),兩者均操作數(shù)據(jù)庫,在實際編程中,將調(diào)用數(shù)據(jù)庫対labview的驅(qū)動程 序;data analysis為數(shù)據(jù)分析模塊,data save為數(shù)據(jù)保存模塊,config為參數(shù)配置模塊, 三者均調(diào)用labview系統(tǒng)自帶file i/o函數(shù)庫中的函數(shù)。木文第4章將詳細介紹各個功能模塊設(shè)計。2.4硬件選型2.4.1工控機依據(jù)能流暢運行l(wèi)abview軟件、可擴展性、結(jié)構(gòu)緊湊、防震抗干擾、性價比髙等特點,選擇研華aws-8259工控機,其性能參數(shù)見表2丄衣21研華aws-8259性能參數(shù)配件規(guī)格說明c

44、pupiv 2.4g內(nèi)存256mb tor * 2labview流暢運行最小內(nèi)存量硬盤hdd 40g主板pca-6006ve-00a1機箱aws -8259tp-xae1g抗震保護pci插槽3條isa插槽2條aws-8259是一款帶有多個擴展杷的工業(yè)級一體化工作站。aws-8259帶有一個可拆卸 的15寸顯示模塊,采川了堅固靈活的設(shè)計方案,完全適合不同的工業(yè)現(xiàn)場應(yīng)川;它帶有15 寸高亮度1024x768 lcd顯示屏,能夠滿足顯示人量信息的需求;此外,它的顯示模塊還 可以方便的卸下,便于用戶進行維護;它帶有防水鍵盤和觸控板,用戶在對其進行操作是無 需使用額外的鍵盤和鼠標(biāo),它采用了標(biāo)準8u尺寸,

45、用戶可以很容易的將其女裝到機架中或 面板上。2.4.2數(shù)據(jù)采集卡選型信息社會的發(fā)展,在很人程度上取決于信息與信號處理技術(shù)的先進性。數(shù)字信號處理技 術(shù)的出現(xiàn)改變了信息與信號處理技術(shù)的整個而貌,而數(shù)據(jù)采集作為數(shù)字信號處理的必不可少 的前期工作在整個數(shù)字系統(tǒng)中起到關(guān)鍵性、乃至決定性的作川,其應(yīng)川己經(jīng)深入到信號處理 的各個領(lǐng)域中。山于數(shù)據(jù)采集的止確與否將丸接影響到虛擬儀器的精度、可靠性,為了給計算機提供精 確可靠的測量結(jié)果,在選擇數(shù)據(jù)采集卡時要注意考慮一些因素。首先要考慮的是采樣秸度和 采樣率兩個基本因素。一塊合適的數(shù)據(jù)采集卡必須具備足夠高的采樣粕度。采樣耕度有兩個 方面的涵義,一是度量要準確,另一個

46、是要有足夠髙的分辨率。度量準確是測量值和真實值 要一致,不要出現(xiàn)偏差。分辨率是指模擬信號與數(shù)字信號之間轉(zhuǎn)換的轉(zhuǎn)換器要有足夠高的位 數(shù),轉(zhuǎn)換器位數(shù)越高,則分辨率越高,現(xiàn)在市場上的數(shù)據(jù)采集卡-般有12位、16位的分辨 率,還要考慮有無程控增益,把信號盡對能轉(zhuǎn)換到轉(zhuǎn)換器的輸入輸出信號范圍滿量稈內(nèi),才 能得到最詳?shù)牟蓸由叶取2蓸勇适沁x擇數(shù)據(jù)采集卡的刃外一個倚要考慮的因素,越高的采樣 速度意味著可以處理信號的頻帶就越寬,可以測試越快的瞬變時域信號。根據(jù)奈奎斯特采樣 定理,采樣頻率必須大丁-信號頻率的二倍才能保持采樣信號不失真,因此,當(dāng)要對采樣信號 進行頻譜分析時,采樣速度的重要性更能體現(xiàn)出來。數(shù)據(jù)采集卡

47、要實現(xiàn)高的采樣速度,必須 有fifo存儲器和碩件定時器。這樣數(shù)據(jù)采集卡在釆集數(shù)據(jù)過程q-, nj-以將采集到的數(shù)據(jù)先 存在fifo存儲器中,當(dāng)存儲器中的數(shù)據(jù)積累到一定程度的時候(如半滿),計算機執(zhí)行一次 讀取fifo存儲器中數(shù)據(jù)的操作。而采集速率則rfl硬件定時器控制,計算機只要求能在一定 的時間內(nèi)去讀取存儲器中的數(shù)據(jù)即可?;谝陨弦蛩乜紤],本系統(tǒng)采川研華pci-1710數(shù)據(jù)采集卡,它是一款pci總線的多功 能數(shù)據(jù)采集卡,包括5種最常用的測量和控制功能:模擬輸入、模擬輸出、數(shù)字輸入、數(shù)字 輸出、定時計數(shù)器。其性能參數(shù)如下:1. 16路單端或8路差分模擬輸入,或組合方式輸入;2. 12位a/d轉(zhuǎn)

48、換精度,采樣率最高達lookhz;3. 每個通道增益可編稈;4. 卡上4kfifo緩沖器;5. 2個12位模擬量輸出;6. 16路數(shù)字輸入和16路數(shù)字輸出;7. pci總線數(shù)據(jù)傳輸。為方便用戶編程,研華pci-1710數(shù)據(jù)采集卡自帶對labview的驅(qū)動程序,虛擬儀器 設(shè)計人員可以在labview中直接調(diào)用這些驅(qū)動函數(shù)。2.4.3運動控制卡選型運動控制是對機械運動部件的位置、速度等進行實時的控制管理,使其按照預(yù)期的運動 軌跡和規(guī)定的運動參數(shù)進行運動。早期的運動控制技術(shù)主要是伴隨著數(shù)控技術(shù)、機器人技術(shù) 和工廠口動化技術(shù)的發(fā)展而發(fā)展的,在扭矩口動檢測系統(tǒng)中盂要對步進電機進行梢確的角度 控制。木系統(tǒng)

49、選用研華pcl-939+運動控制卡,它是一款isa總線接口的高速智能三軸步述電 機控制卡。它具有3個獨立的脈沖發(fā)生器pcl-ak智能控制器芯片可以同時、獨立地操作3 個步進電機,脈沖速率為116kpps (pulses per second),并可控制方向,可進行線性和圓 弧插值;pcl-839+能夠直接對端口進行讀寫,他會把接收到的命令和數(shù)據(jù)放入緩沖髀,一 直保留到新的數(shù)據(jù)被接收。研華pcl-839+運動控制卡并沒有捉供對labview的驅(qū)動程序,設(shè)計人員需要調(diào)用廠 商提供的dll (動態(tài)鏈接庫)文件才能進行編程;這個dll文件提供的函數(shù)能滿足人部分 運動控制需求,其中包括寄存器端口讀寫函數(shù)

50、。2.4.4其他硬件除了工控機、數(shù)據(jù)釆集卡、運動控制卡以外,扭矩口動檢測系統(tǒng)述需要用到扭矩傳感器、 接近開關(guān)、氣壓動力裝置電磁閥等其他硬件設(shè)施:(1)扭矩傳感器傳感器的目的是把物理信號轉(zhuǎn)化為電信號,經(jīng)a/d采樣后傳輸至計算機,木系統(tǒng)需要 用到扭矩傳感器為:航犬701所akc系列靜態(tài)扭矩傳感器(2)接近開關(guān)接近開關(guān)的目的是判斷試件是否達到y(tǒng)1點和z點,當(dāng)試件達到上述兩點時,對應(yīng)的接近開關(guān)會產(chǎn)牛一高電平,此電平將被數(shù)據(jù)采集卡的i/o端口采集并傳輸至計算機。(3) 步進電機步進電機是帶動試件旋轉(zhuǎn)的動力裝置,同時也是扭矩傳感器感受物理信號的源頭。(4) 電磁閥電磁閥的1=1的是控制氣壓動力裝置推動試件

51、運行的方向,電磁閥直接由數(shù)據(jù)采集卡的 i/o端口控制打開或者閉合。由于木文主要研究虛擬儀器系統(tǒng)軟件設(shè)計,軟件實現(xiàn)與以上硬件具體型號關(guān)系不人,故 以上硬件的選型,本文不再深入討論。2.5本章小結(jié)本章首先對扭矩自動檢測系統(tǒng)進行總體設(shè)計,然后對其功能進行模塊劃分以利軟件設(shè) 計,最后進行數(shù)據(jù)采集卡、運動控制卡、傳感器等換件設(shè)備的選型。3 labview軟件工程設(shè)計方法3.1 labview面向組件設(shè)計所有軟件都可以看成是一系列狀態(tài)(state)的集合,這些狀態(tài)相互聯(lián)系、彼此觸發(fā)。隨 著labview軟件規(guī)模的增加,軟件設(shè)計復(fù)雜度也會急劇增加,可能一個很小的變化會導(dǎo)致 整個程序崩潰,一個好的應(yīng)川程序,應(yīng)

52、該滿足以卞基本要求:1. 需求變化吋,只需要少量修改代碼;2. 使用方便,gui良好;3. 程序執(zhí)行效率高,內(nèi)存和cpu利用率低:4. 程序健壯性良好;5. 代碼易讀性強,便于后期維護;6. 能進行異常處理;7. 代碼可垂川。labview 而向組件設(shè)計(labview component oriented design, lcod)是一種 labview程序設(shè)計方法,利用lcod,能較好地滿足以上軟件要求。面向組件技術(shù)建立在 對象技術(shù)之上,它是對象技術(shù)的進一步發(fā)展,組件技術(shù)更核心的概念是接口。組件技術(shù)的主 要h的是代碼復(fù)用,即組件的復(fù)用,如一個dll、一個中間件,甚至一個框架。一個組件的 外

53、形/外貌應(yīng)該是簡單的、清晰的、沒有兀余的東酋,這個外貌通過接口來描述,對于一個 組件來說,應(yīng)該滿足下列兒點要求:1. 組件的功能應(yīng)該足夠明確;2. 組件的交互方式為接口,組件的數(shù)據(jù)或進程必須封裝在接口后血;3. 組件是獨立的,能單獨測試;4. 使川組件的軟件只能依賴于組件預(yù)先定義的借口。一個典型的組件接口如圖31所示,它利用消息控制組件的行為,可以輸入數(shù)據(jù),可以 接收和發(fā)送數(shù)據(jù)。在labview中,一個組件是一個vi,這個vi除了具有組件所具有的基 本要求外,還應(yīng)該滿足如下設(shè)讓原則:1. 強內(nèi)聚松散耦合;2. 信息隱藏;3. 抽象。消息輸入組件輸出圖3-1組件示例3.2組件設(shè)計原則3.2.1耦

54、合和內(nèi)聚可以把一個纟ii件定義為一個模塊,它的獨立程度是評價軟件設(shè)計好壞的重要標(biāo)準,衡量 軟件的模塊獨立性使用耦合和內(nèi)聚兩個定性的度暈標(biāo)準。內(nèi)聚是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,內(nèi)聚是從功能角度來度量 模塊內(nèi)的聯(lián)系。內(nèi)聚有如下種類,他們之間的內(nèi)聚性由弱到強排列為偶然內(nèi)聚、邏輯內(nèi)聚、 時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。圖32是labview中一個典型的強內(nèi)聚與若內(nèi)聚示例,圖上與圖下部分程序所要完成 的功能完全一樣:打開文檔、插入書簽、插入文木、保存文檔、關(guān)閉文檔。圖上程序僅有一 個組件便能進行所有文檔操作,其把所有文檔操作功能集合為一體,體現(xiàn)為強內(nèi)聚;而圖下 程序

55、共用5個組件,每個組件各自完成各自的功能,體現(xiàn)為若內(nèi)聚。圖32強內(nèi)聚(上)與弱內(nèi)聚(下)示例耦合是模塊間互相連接的緊密程度的度量,耦合可以分為下列兒種,他們z間的耦合度 由高到低排列為內(nèi)容耦合、公共耦合、外部耦合、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合、非直接 耦合。圖33是一緊密耦合與松散耦合示例,緊密耦合的vi與外部模塊有過多的數(shù)據(jù)通信, 如果vi右較強內(nèi)聚性,并且表現(xiàn)岀良好的信息隱藏,一般不需要與外部有太多的連線;松 散耦合vi則相反,其對外接口清晰簡潔,對外通信較少。模式盤大風(fēng)機攝大錯誤輸入 min3 min2 mini 日期 測試員 角度/步 產(chǎn)品型號 序列號 鳳機數(shù)據(jù) 模式數(shù)據(jù) 溫度數(shù)組*j

56、 storage 錯誤輸出command text錯誤輸入(無錯誤)sqlmo bxl錯誤輸出溫度攝大圖33緊密耦合(左)與松散耦合(右)示例耦合性與內(nèi)聚性是模塊獨立性的兩個定性標(biāo)準,將軟件系統(tǒng)劃分模塊時,盡量做到高內(nèi) 聚低耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。3.2.2信息隱藏信息隱藏(information hiding)最早是由d.l.pamas在1972年提;i,它指出把系統(tǒng)分解 為模塊時應(yīng)該遵循的指導(dǎo)思想。信息隱藏是在設(shè)計和確定模塊時,使得一個模塊內(nèi)含信息對 于不需要這些信息的模塊來說是不能訪問的。信息隱藏的ri的是提高模塊的獨立性,當(dāng)修改 和維護一個模塊時,減少把一個模塊的

溫馨提示

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

評論

0/150

提交評論