<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > VI的類型和跨平臺特性

          VI的類型和跨平臺特性

          作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
          關(guān)于VI類型,即便在幫助文件中,我們也沒有見到更多的解釋和說明。我們只是在幫助文件中看到過這樣的說法:嚴(yán)格類型VI。與嚴(yán)格類型VI相對應(yīng)的是通用VI。它們之間的區(qū)別在那里呢?


          2.6.1 通用類型VI
          我個(gè)人理解,所謂通用類型VI應(yīng)該是這樣一些VI,它們能夠獨(dú)立完成程序執(zhí)行結(jié)果(獨(dú)立完成或演示一個(gè)任務(wù)),換句話說,它并不需要與其它VI進(jìn)行數(shù)據(jù)交 換,所以它們也不需要定義連線板。NI所提供的許多例程就是以這種形式出現(xiàn)的。例如,NI的例程:》分析與信號處理》電平測量》基本幅值測量,參見下圖。
          圖 2-24 通用VI的例子——基本幅值測量(沒有定義連線板)
          通用類型VI最明顯的標(biāo)志就是沒有定義接線板。例程是供我們學(xué)習(xí)和模仿的,甚至我們可以略加修改就可以在程序中使用這些例程。

          2.6.2 嚴(yán)格類型VI
          嚴(yán)格類型VI更多的應(yīng)用是作為子VI來使用,通過連線板它可以與其它VI進(jìn)行有效的交換數(shù)據(jù)。比如理想濾波器就是嚴(yán)格類型VI。而例2-1所創(chuàng)建的VI是 通用VI。函數(shù)選版上的內(nèi)置VI都是嚴(yán)格類型的VI,因?yàn)樗鼈兛梢员婚_發(fā)者所調(diào)用。熟悉和了解這些內(nèi)置VI的功能和使用方法是必須要做的事情之一,最好的 學(xué)習(xí)方式就是不斷的進(jìn)行實(shí)踐。

          所謂嚴(yán)格類型VI就是指它連線板上接線端的數(shù)據(jù)類型是已經(jīng)定義完成,其它與它相連接的接線端的數(shù)據(jù)類型必須與此保持一致。如果二者數(shù)據(jù)類型不匹配,開發(fā)環(huán)境將會報(bào)錯(cuò),直觀的表現(xiàn)就是無法連接。

          通用VI和嚴(yán)格類型VI只是在VI的動態(tài)調(diào)用時(shí)才會區(qū)分。一般的情況下,我們不太關(guān)心VI的類型。

          2.6.3 VI的使用
          嚴(yán)格類型子VI被拖拽放置到程序框圖上時(shí)稱為VI的靜態(tài)連接。圖形化程序設(shè)計(jì)基本上采用的都是這種方式。比如將函數(shù)選板中的內(nèi)置VI或使用者庫中的VI直 接拖拽到程序框圖上進(jìn)行程序設(shè)計(jì)就是VI的靜態(tài)連接。這些放置在程序框圖上的子VI會隨著導(dǎo)入時(shí)同時(shí)加載到內(nèi)存中。比如例2-2層次結(jié)構(gòu)中的所有子VI都 會隨著理想濾波器VI的導(dǎo)入而被加載到內(nèi)存中。

          如果程序中所使用的VI較多,且有些VI很大并屬于基本上不太常用的VI,為避免占用內(nèi)存的使用或減少程序的導(dǎo)入時(shí)間,也可以進(jìn)行VI的動態(tài)調(diào)用。所謂動態(tài)調(diào)用是指在程序運(yùn)行需要時(shí)再調(diào)入,運(yùn)行完成后從內(nèi)存中將其清除。VI的動態(tài)調(diào)用與VI的類型也有一定的關(guān)聯(lián)。

          關(guān)于VI的動態(tài)調(diào)用將在VI服務(wù)中詳細(xì)說明。

          2.6.4 VI的跨平臺

          目前計(jì)算機(jī)使用的操作系統(tǒng)基本上有三種:Windows、Mac OS、Linux。NI為這三種操作系統(tǒng)平臺都提供相應(yīng)的LabVIEW版本。這就意味著,VI是可以跨平臺使用的。
          所謂的“跨平臺”就是說:“無論在那個(gè)操作系統(tǒng)平臺上用NI LabVIEW開發(fā)環(huán)境設(shè)計(jì)出來的VI,在其它平臺的LabVIEW下都可以正常運(yùn)行。人們也稱這種方式為:可移植性。 VI的跨平臺特性增強(qiáng)了設(shè)計(jì)的靈活性和應(yīng)用的廣泛性。
          VI為什么能夠跨平臺使用呢?其實(shí),VI的本質(zhì)是一種中間語言代碼。
          中間語言代碼——是在各個(gè)操作系統(tǒng)平臺上生成的,由NI制定的標(biāo)準(zhǔn)化的(圖形化)語言代碼。有了這種中間語言代碼就完成了“跨平臺”的第一步,確保在不同平臺的LabVIEW開發(fā)環(huán)境下都可以打開和運(yùn)行。

          可是我們知道不同平臺的底層運(yùn)行機(jī)制是不一樣的,如何保證中間語言代碼能夠在不同平臺下運(yùn)行呢?
          實(shí)現(xiàn)“跨平臺”操作的第二步,就是通過各個(gè)平臺下LabVIEW Run_time (Run_time運(yùn)行時(shí))將VI(中間語言代碼)編譯轉(zhuǎn)換成各個(gè)平臺下的可執(zhí)行代碼,這樣VI才能夠得以順利運(yùn)行。所以,對于不同的操作系統(tǒng) LabVIEW Run_time是不同的,其實(shí)對于不同的LabVIEW版本其LabVIEW Run_time也是不同的。

          由此可見,各個(gè)操作系統(tǒng)下的LabVIEW Run_time是保證VI是可以跨平臺運(yùn)行的關(guān)鍵。所以,當(dāng)將圖形化程序代碼打包成可執(zhí)行文件時(shí),我們也會看到LabVIEW Run_time也是包含在內(nèi)。

          跨平臺的好處是:如果你的用戶(協(xié)作者)使用的是Linux版的LabVIEW,那你在MS操作系統(tǒng)下設(shè)計(jì)的VI同樣可以發(fā)給他,或者說與他進(jìn)行交流、溝通。在網(wǎng)絡(luò)時(shí)代這是一個(gè)極為有用的特點(diǎn)。
          在LabVIEW 2009中,這個(gè)特點(diǎn)有了進(jìn)一步的發(fā)揮,將VI制作成圖形片斷用來進(jìn)行交流和傳遞。過去我們進(jìn)行VI傳遞采用的是傳遞VI的實(shí)體,根本無法直接看到其基本 內(nèi)容。只有在NI LabVIEW打開它才能看到它對我們是否有用?,F(xiàn)在通過圖片可以直接看到它的內(nèi)涵,只要有用可以直接下載后拖拽到我們的程序框圖中。真的是太好了!


          關(guān)鍵詞: VI類型跨平臺特

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();