labview的優(yōu)勢(shì)與缺點(diǎn)
優(yōu)勢(shì):
LabVIEW的優(yōu)勢(shì)體現(xiàn)在以下幾個(gè)方面:
1.跨平臺(tái)特性
LabVIEW支持Windows、Mac OS X、Linux等多種計(jì)算機(jī)操作系統(tǒng),這種跨平臺(tái)特性在當(dāng)今的網(wǎng)絡(luò)化時(shí)代是非常重要的。試想在Linux 操作系統(tǒng)下設(shè)計(jì)的VI,通過(guò)網(wǎng)絡(luò)傳遞到其它平臺(tái)上無(wú)需改變?nèi)魏未a,即可使用或調(diào)試是一件多么爽快的事情。這大大改善了使用者之間的交流、溝通及評(píng)估的靈活性。
同時(shí),它還可以充分利用不同平臺(tái)自身所具有的優(yōu)異性能,例如:Windows系統(tǒng)的廣泛性;Mac OS X系統(tǒng)的美觀、時(shí)尚;Linux系統(tǒng)的安全性等等。
隨著,計(jì)算機(jī)操作系統(tǒng)的不斷升級(jí)和改進(jìn),使LabVIEW的開(kāi)發(fā)環(huán)境也同樣得以不斷的改善。舉一個(gè)簡(jiǎn)單的例子:我從網(wǎng)上下載升級(jí)了IE 7.0瀏覽器(英文版),它的界面風(fēng)格變得更加美觀、時(shí)尚。而它正是來(lái)自Microsoft 最新的操作系統(tǒng)Vista??梢韵胂蟮牡?,未來(lái)在新的操作系統(tǒng)上使用LabVIEW,它的GUI一定會(huì)同樣美觀、時(shí)尚。
2.對(duì)其它編程語(yǔ)言的支持
盡管LabVIEW已是一個(gè)獨(dú)立的圖形化軟件編程開(kāi)發(fā)環(huán)境,但是為了照顧到已習(xí)慣使用其它的高級(jí)編程語(yǔ)言的編程者,它還提供了兼顧其它高級(jí)編程語(yǔ)言的開(kāi)發(fā)環(huán)境,使已習(xí)慣于其它編程語(yǔ)言的使用者也能夠充分利用LabVIEW的強(qiáng)大的自動(dòng)化測(cè)試、測(cè)量及分析、處理能力。
LabWindows/CVI提供了對(duì)ANSI C 的支持。
Measurement Studio 提供了對(duì)Visual Basic、Visual C++# 及Visual C++的支持。
3.開(kāi)放的開(kāi)發(fā)平臺(tái)
LabVIEW還是一個(gè)開(kāi)放的開(kāi)發(fā)平臺(tái),提供廣泛的軟件集成工具、運(yùn)行庫(kù)和文件格式,可以方便的與第三方設(shè)計(jì)和仿真連接,例如:
DLL、共享庫(kù)
DDE、TCP/IP、UDP、以太網(wǎng)、藍(lán)牙
CAN、DeviceNet、Modbus、OPC
數(shù)據(jù)庫(kù)(ADO、SQL等)
4.對(duì)便攜式及嵌入式開(kāi)發(fā)
LabVIEW PDA支持便攜式手持系統(tǒng)PDA(個(gè)人數(shù)字處理器)的開(kāi)發(fā)應(yīng)用,支持Pocket PC OSs 及Windows CE。使用LabVIEW可以創(chuàng)建自定義的便攜式測(cè)試分系統(tǒng)。
LabVIEW嵌入式開(kāi)發(fā)模塊支持對(duì)32位處理器的圖形化開(kāi)發(fā)。目標(biāo)處理器如:PowerPC、ARM、TI C6xx86架構(gòu);支持的嵌入式操作系統(tǒng)如:VxWors、eCos、Windows和嵌入式的Linux。
LabVIEW DSP工具包還支持TI的DSP設(shè)計(jì)開(kāi)發(fā)。
LabVIEW FPGA 模塊還支持FPGA設(shè)計(jì)。豐富了RIO系列模塊的自定義功能。
5.圖形化的強(qiáng)大的分析、處理能力
LabVIEW提供了無(wú)比強(qiáng)大的分析、處理VI庫(kù)及許多專業(yè)的工具包,例如:高級(jí)信號(hào)處理工具包、數(shù)字濾波器設(shè)計(jì)工具包、調(diào)制工具包、譜分析工具包、聲音振動(dòng)工具包、階次分析工具包等(當(dāng)然都是要花錢購(gòu)買的),這是任何其它高級(jí)編程語(yǔ)言無(wú)法提供的。結(jié)合LabVIEW獨(dú)特的數(shù)據(jù)結(jié)構(gòu)(波形數(shù)據(jù)、簇、動(dòng)態(tài)數(shù)據(jù)類型等)使得測(cè)量數(shù)據(jù)的分析、處理非常簡(jiǎn)單、方便、并且實(shí)用性很強(qiáng)。很難想象,如果使用代碼編程進(jìn)行數(shù)字濾波設(shè)計(jì)或功率譜分析會(huì)增加多少工作量,甚至能否設(shè)計(jì)完成都值得去考慮。
特別是:NI新近推出的LabVIEW MathScript,將面向數(shù)學(xué)的文本編程擴(kuò)展加入到了圖形化的LabVIEW中來(lái),提供了除圖形化數(shù)據(jù)流編程以外的另一種自定義開(kāi)發(fā)應(yīng)用系統(tǒng)的方法,為使用者提供了獲得最佳方案設(shè)計(jì)選擇的機(jī)會(huì)。 LabVIEW最大的優(yōu)勢(shì)就在于圖形化的分析處理方法。從應(yīng)用角度看,LabVIEW的分析處理能力絕對(duì)是超級(jí)的,它使得設(shè)計(jì)者會(huì)更加專注于應(yīng)用項(xiàng)目的設(shè)計(jì),而不是如何進(jìn)行數(shù)據(jù)的分析、處理。從而給設(shè)計(jì)者帶來(lái)更多的是工作中的快樂(lè)和工作中的成就感。這一點(diǎn)我的體會(huì)是極為深刻的。 LabVIEW的另一個(gè)優(yōu)勢(shì)就是仿真能力,在設(shè)計(jì)原型階段可通過(guò)仿真來(lái)評(píng)估設(shè)計(jì)的合理性和正確性。由于使用的是圖形化的編程方法,這樣的工作很快就可以實(shí)施并及時(shí)得到真實(shí)的仿真結(jié)果。
做了電力質(zhì)量分析的項(xiàng)目:要求測(cè)試分析電網(wǎng)各相電壓、電流中的25次諧波內(nèi)的全部諧波含量(THD)。同時(shí),還要求對(duì)各次諧波含量以百分?jǐn)?shù)和柱狀圖形分別顯示出來(lái)。使用LabVIEW很快就完成了,真不知道如果使用其它編程語(yǔ)言會(huì)搞到什么時(shí)候。
6.編程效率極高
最后,要談?wù)剤D形化編程的最大特點(diǎn)。使用LabVIEW圖形化編程的最大特點(diǎn)就是編程效率極高。關(guān)于圖形化編程可以減少編程時(shí)間、縮短開(kāi)發(fā)周期、降低開(kāi)發(fā)成本等說(shuō)法,已在很多介紹 LabVIEW的書(shū)中進(jìn)行了表述,我不準(zhǔn)備再進(jìn)行復(fù)述。這里,從另外一個(gè)角度僅談?wù)勛约簩?duì)這方面的體會(huì)。
作為應(yīng)用項(xiàng)目的設(shè)計(jì)開(kāi)發(fā)者,通常的關(guān)注點(diǎn)是:設(shè)計(jì)的合理性和最終結(jié)果的正確性。當(dāng)然,他們也會(huì)注意到編程過(guò)程的效率。實(shí)際上,減少編程時(shí)間、縮短開(kāi)發(fā)周期、降低開(kāi)發(fā)成本等大多都是從整體經(jīng)濟(jì)利益方面來(lái)考慮的。我個(gè)人認(rèn)為:在提高效率這方面,人們往往忽略了“人——設(shè)計(jì)者”的效率得到提高這個(gè)要素。由于LabVIEW采用的是圖形化編程的方法,所以大大降低了編程過(guò)程的復(fù)雜度,請(qǐng)看下圖1中一個(gè)有效值測(cè)量的程序框圖。這里僅僅使用幾個(gè)VI就可以非常簡(jiǎn)單、迅捷的完成程序設(shè)計(jì),實(shí)現(xiàn)分析和對(duì)結(jié)果的處理。如果在此基礎(chǔ)上還要進(jìn)行其它分析,比如:諧波分析、頻率測(cè)量、功率譜分析等,最多就是再添加三個(gè)圖標(biāo)(VI),以及連接到相應(yīng)的圖形指示器和數(shù)字指示器。對(duì)于多通道測(cè)試幾乎無(wú)須添加任何分析,僅添加幾個(gè)通道VI而已。
圖1連續(xù)有效值測(cè)量
舉這個(gè)例子要說(shuō)明的問(wèn)題是:圖形化編程簡(jiǎn)單、方便、非常靈活的實(shí)現(xiàn)程序設(shè)計(jì),立即運(yùn)行就可以看到分析處理結(jié)果。特別是LabVIEW的即時(shí)編譯能力,可以在編程的同時(shí)進(jìn)行檢查,及時(shí)發(fā)現(xiàn)錯(cuò)誤代碼。正是因?yàn)榫幊绦矢?,改?dòng)及替換方便,程序代碼直易懂,所以會(huì)更加激發(fā)設(shè)計(jì)者的創(chuàng)造性思維及成就感,自然就會(huì)把設(shè)計(jì)工作重點(diǎn)放在如何更好的分析、處理上,而不是如何編程上。換句話說(shuō),當(dāng)一個(gè)新的設(shè)計(jì)思想出現(xiàn)后,馬上就可以得到實(shí)驗(yàn)驗(yàn)證或改進(jìn),甚至是邊設(shè)計(jì)邊改進(jìn)。其它高級(jí)編程語(yǔ)言都不會(huì)如此的快速、方便(因?yàn)橐獙?xiě)許多代碼和進(jìn)行編譯后才能運(yùn)行)。所以,我們說(shuō):增強(qiáng)設(shè)計(jì)者的創(chuàng)新效率和信心是LabVIEW不可忽視的內(nèi)在特點(diǎn),其價(jià)值是無(wú)法估量的。
缺點(diǎn):
LabVIEW是圖知形化編程語(yǔ)言,更直觀,適合圖形化仿真。Matlab是工具,其中仿真模塊已經(jīng)被LabVIEW收購(gòu)。仿真的話使用LabVIEW更方便,直觀,其自帶的功能模塊可以滿足大部分的常道規(guī)仿真的需要。
典型的應(yīng)用就是工廠的控制系統(tǒng)尤其在汽車等全自動(dòng)領(lǐng)域應(yīng)用很廣,LabVIEW主要是其自己研制的板卡兼容性很好,比如有些手機(jī)代理生產(chǎn)商使用回的測(cè)試手段基本上就是基于LabVIEW的板卡完成的,其次對(duì)串答口等接口也有很好的支持,就是那個(gè)大大的驅(qū)動(dòng)程序包讓人很頭疼的。另外還不能跨平臺(tái);不同版本兼容性較差。
LabVIEW類的動(dòng)態(tài)類型處理
1.父類使用自己的Method,連線默認(rèn)為父類自己的控件
2.如果子類沒(méi)有重寫(xiě)父類的Method,則子類使用父類方法時(shí),直接創(chuàng)建出來(lái)即自己的數(shù)據(jù)類型
3.如果子類重寫(xiě)了父類的Method,則子類使用自己的Method,端子也是自己的
4.如果孫類的調(diào)用鏈上對(duì)同一個(gè)方法重寫(xiě),則使用的是距離最近的一個(gè)祖先方法,但是端子仍然是自己的類型
5.如果輸入是動(dòng)態(tài)調(diào)用的,而輸出不是動(dòng)態(tài)的,則最后的輸出都是根祖先的數(shù)據(jù)類型
評(píng)論
查看更多