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