日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

上海恩艾儀器有限公司

上海恩艾儀器有限公司

首頁 > 解決方案 > 在LabVIEW中以圖形方式進行編程的好處
在LabVIEW中以圖形方式進行編程的好處
概覽LabVIEW已被數(shù)百萬工程師和科學(xué)家用于開發(fā)復(fù)雜的測試,測量和控制應(yīng)用程序。LabVIEW提供了從交互式助手到可配置的用戶定義界面的各種功能和工具,但它的圖形化,通用編程語言(稱為G)以及相關(guān)的集成編譯器,...
 
詳細(xì)信息
概覽

LabVIEW已被數(shù)百萬工程師和科學(xué)家用于開發(fā)復(fù)雜的測試,測量和控制應(yīng)用程序。LabVIEW提供了從交互式助手到可配置的用戶定義界面的各種功能和工具,但它的圖形化,通用編程語言(稱為G)以及相關(guān)的集成編譯器,鏈接器和調(diào)試工具與眾不同。

追求高級編程的簡史

為了更好地理解LabVIEW圖形化編程的主要價值主張,回顧一些有關(guān)第一種高級編程語言的背景知識將很有幫助。在1950年代中期現(xiàn)代計算機時代的曙光中,IBM的一個小團隊決定創(chuàng)建一種更實用的替代方法,以便以最底層的匯編語言對大型IBM 704大型機(當(dāng)時的超級計算機)進行編程。當(dāng)時可用的語言。結(jié)果就是FORTRAN,一種更易理解的編程語言,其目的是加快開發(fā)過程。

工程界最初懷疑這種新方法的性能可能優(yōu)于匯編中手工制作的程序,但很快就證明了FORTRAN生成的程序的運行效率幾乎與匯編中編寫的程序一樣。同時,F(xiàn)ORTRAN將程序中所需的編程語句數(shù)量減少了20倍,這就是為什么它通常被認(rèn)為是第一種高級編程語言的原因。毫不奇怪,F(xiàn)ORTRAN迅速獲得了科學(xué)界的認(rèn)可并具有影響力。

五十年后的今天,這個故事仍然有重要的教訓(xùn)。首先,五十多年來,工程師一直在尋求更簡便,更快捷的方法來通過計算機編程來解決問題。其次,工程師選擇用來翻譯其任務(wù)的編程語言已趨向更高的抽象水平。這些經(jīng)驗教訓(xùn)有助于解釋G自1986年問世以來的巨大普及和廣泛采用。G代表一種極高級的編程語言,其目的是提高其用戶的生產(chǎn)率,同時以與FORTRAN,C和C ++等低級語言幾乎相同的速度執(zhí)行。

LabVIEW:圖形化,數(shù)據(jù)流編程

LabVIEW在兩個主要方面與大多數(shù)其他通用編程語言不同。首先,通過在圖形上將圖形圖標(biāo)連接在一起來執(zhí)行G編程,然后將其直接編譯為機器代碼,以便計算機處理器可以執(zhí)行它。盡管用圖形表示而不是用文本表示,但G包含與大多數(shù)傳統(tǒng)語言相同的編程概念。例如,G包括所有標(biāo)準(zhǔn)構(gòu)造,例如數(shù)據(jù)類型,循環(huán),事件處理,變量,遞歸和面向?qū)ο蟮木幊獭?br />
在LabVIEW中以圖形方式進行編程的好處
圖1. G中的While循環(huán)由圖形循環(huán)直觀地表示,該循環(huán)一直執(zhí)行到滿足停止條件為止。

第二個主要區(qū)別是,使用LabVIEW開發(fā)的G代碼是根據(jù)數(shù)據(jù)流規(guī)則執(zhí)行的,而不是大多數(shù)基于文本的編程語言(例如, C和C ++。諸如G(以及Agilent VEE,Microsoft Visual Programming Language和Apple Quartz Composer)之類的數(shù)據(jù)流語言將數(shù)據(jù)視為任何程序背后的主要概念。數(shù)據(jù)流執(zhí)行是數(shù)據(jù)驅(qū)動的或與數(shù)據(jù)相關(guān)的。程序中節(jié)點之間的數(shù)據(jù)流而不是文本的連續(xù)行決定了執(zhí)行順序。

起初,這種區(qū)別可能看起來很小,但影響卻是非凡的,因為它使程序各部分之間的數(shù)據(jù)路徑成為開發(fā)人員的主要重點。LabVIEW程序中的節(jié)點(換言之,函數(shù),結(jié)構(gòu)(如循環(huán),子例程等))具有輸入,處理數(shù)據(jù)并產(chǎn)生輸出。一旦給定節(jié)點的所有輸入均包含有效數(shù)據(jù),該節(jié)點將執(zhí)行其邏輯,生成輸出數(shù)據(jù),并將該數(shù)據(jù)傳遞到數(shù)據(jù)流路徑中的下一個節(jié)點。從另一個節(jié)點接收數(shù)據(jù)的節(jié)點只能在另一個節(jié)點完成執(zhí)行后才能執(zhí)行。

G編程的好處

直觀的圖形化編程


像大多數(shù)人一樣,工程師和科學(xué)家可以通過查看和處理圖像來學(xué)習(xí),而無需任何有意識的沉思。許多工程師和科學(xué)家也可以被稱為“視覺思想家”,這意味著他們特別擅長使用視覺處理來組織信息。換句話說,他們認(rèn)為圖片效果最好。在大學(xué)和學(xué)院中通常會加強這種情況,在這種情況下,鼓勵學(xué)生將問題的解決方案建模為流程圖。但是,大多數(shù)通用編程語言都要求您花費大量時間來學(xué)習(xí)與該語言關(guān)聯(lián)的特定的基于文本的語法,然后將語言的結(jié)構(gòu)映射到要解決的問題。使用G進行圖形編程可提供更直觀的體驗。

G代碼通常使工程師和科學(xué)家更容易快速理解,因為他們非常熟悉根據(jù)框圖和流程圖(也遵循數(shù)據(jù)流規(guī)則)對流程和任務(wù)進行可視化甚至是圖形化建模的過程。另外,由于數(shù)據(jù)流語言要求您以數(shù)據(jù)流為基礎(chǔ)構(gòu)建程序的結(jié)構(gòu),因此建議您從需要解決的問題出發(fā)進行思考。例如,典型的G程序可能首先獲取多個溫度數(shù)據(jù)通道,然后將數(shù)據(jù)傳遞給分析功能,最后將分析后的數(shù)據(jù)寫入磁盤??傮w而言,該程序中涉及的數(shù)據(jù)流和步驟在LabVIEW圖表中易于理解。

在LabVIEW中以圖形方式進行編程的好處1
圖2.數(shù)據(jù)起源于采集功能,然后通過導(dǎo)線直觀地流向分析和存儲功能。

交互式調(diào)試工具

由于LabVIEW圖形G代碼易于理解,因此常見的編程任務(wù)(如調(diào)試)也變得更加直觀。例如,LabVIEW提供了獨特的調(diào)試工具,您可以用來觀察數(shù)據(jù)以交互方式在LabVIEW程序的連線中移動的過程,以及在數(shù)據(jù)從一個函數(shù)傳遞到另一函數(shù)時查看數(shù)據(jù)值的情況(在LabVIEW中稱為執(zhí)行突出顯示)。

在LabVIEW中以圖形方式進行編程的好處2
圖3.高亮執(zhí)行提供了一種直觀的方式來理解G代碼的執(zhí)行順序。

LabVIEW還提供了與傳統(tǒng)編程工具相當(dāng)?shù)腉調(diào)試功能。這些功能可作為圖表工具欄的一部分進行訪問,包括探針,斷點和上移/移入/移出。

在LabVIEW中以圖形方式進行編程的好處3
圖4.框圖工具欄提供對標(biāo)準(zhǔn)調(diào)試工具(如步進)的訪問。

使用G調(diào)試工具,您可以同時在程序的許多部分上探查數(shù)據(jù),暫停執(zhí)行并進入子例程,而無需進行復(fù)雜的編程。盡管這在其他編程語言中是可行的,但更容易可視化程序的狀態(tài)以及代碼的并行部分之間的關(guān)系(由于其圖形性質(zhì),它們在G中很常見)。

在LabVIEW中以圖形方式進行編程的好處4
圖5.探針是LabVIEW中查看值在整個應(yīng)用程序中傳播的有效方法,即使對于代碼的并行部分也是如此。

在LabVIEW中以圖形方式進行編程的好處5
圖6.在“ Probe Watch”窗口中查看探針值,該窗口顯示整個應(yīng)用程序(包括子例程)中所有探針的探針值。

LabVIEW中最常用的調(diào)試功能之一是永遠(yuǎn)在線的編譯器。在開發(fā)程序時,編譯器會不斷檢查錯誤并在應(yīng)用程序上提供語義和語法反饋。如果存在錯誤,則無法運行該程序–您只會在工具欄中看到一個損壞的“運行”按鈕。

在LabVIEW中以圖形方式進行編程的好處6
圖7.損壞的Run箭頭提供立即反饋,指示G代碼中的語法錯誤。

按下?lián)p壞的“運行”按鈕將打開您必須解決的問題列表。解決了這些問題后,LabVIEW編譯器便可以將程序編譯為機器代碼。編譯后,G程序的性能可與更傳統(tǒng)的基于文本的語言(如C)相媲美。

在LabVIEW中以圖形方式進行編程的好處7
圖8.錯誤列表顯示了整個代碼層次結(jié)構(gòu)中每個語法錯誤的詳細(xì)說明。

自動并行性和性能

LabVIEW等數(shù)據(jù)流語言可實現(xiàn)自動并行化。與諸如C和C ++的順序語言相反,圖形程序固有地包含有關(guān)應(yīng)并行執(zhí)行代碼部分的信息。例如,一個常見的G設(shè)計模式是生產(chǎn)者/消費者設(shè)計模式,其中兩個單獨的While循環(huán)獨立執(zhí)行:第一個循環(huán)負(fù)責(zé)產(chǎn)生數(shù)據(jù),第二個循環(huán)處理數(shù)據(jù)。盡管并行執(zhí)行(可能以不同的速率執(zhí)行),但仍使用隊列在兩個循環(huán)之間傳遞數(shù)據(jù),隊列是通用編程語言中的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)。

在LabVIEW中以圖形方式進行編程的好處8
圖9. LabVIEW Producer / Consumer設(shè)計模式通常用于提高需要并行任務(wù)的應(yīng)用程序的性能。

并行性在計算機程序中很重要,因為由于計算機處理器設(shè)計的最新變化,并行性可以釋放相對于純順序程序的性能提升。40多年來,計算機芯片制造商提高了處理器時鐘速度,以提高芯片性能。但是,如今由于功耗和散熱限制,提高時鐘速度以實現(xiàn)性能提升已不再可行。結(jié)果,芯片供應(yīng)商轉(zhuǎn)而使用一種在單個芯片上具有多個處理器內(nèi)核的新芯片架構(gòu)。

為了利用多核處理器中提供的性能,您必須能夠在應(yīng)用程序中使用多線程(換句話說,將應(yīng)用程序分解為可以獨立執(zhí)行的離散部分)。如果使用傳統(tǒng)的基于文本的語言,則必須顯式創(chuàng)建和管理線程以實現(xiàn)并行性,這是非專家程序員面臨的主要挑戰(zhàn)。

相反,G代碼的并行特性使多任務(wù)和多線程易于實現(xiàn)。內(nèi)置的編譯器在后臺連續(xù)工作以標(biāo)識代碼的并行部分。只要G代碼在電線中具有分支或該圖上的節(jié)點平行順序,編譯器就會嘗試在LabVIEW自動管理的一組線程中并行執(zhí)行該代碼。用計算機科學(xué)的術(shù)語來說,這稱為“隱式并行性”,因為您不必為了并行運行而專門編寫代碼。G語言自行處理并行性。

除了在多核系統(tǒng)上實現(xiàn)多線程之外,G還可以通過將圖形編程擴展到現(xiàn)場可編程門陣列(FPGA)來提供更大的并行執(zhí)行能力。FPGA是大規(guī)模并行化的可重編程硅芯片-每個獨立的處理任務(wù)都分配給芯片的專用部分-但它們不受可用處理內(nèi)核數(shù)量的限制。結(jié)果,當(dāng)添加更多處理時,應(yīng)用程序一部分的性能不會受到不利影響。

從歷史上看,F(xiàn)PGA編程僅是受過專門培訓(xùn)的專家,對數(shù)字硬件設(shè)計語言有深刻的了解。越來越少的沒有FPGA專業(yè)知識的工程師希望使用基于FPGA的定制硬件來實現(xiàn)獨特的定時和觸發(fā)例程,超高速控制,與數(shù)字協(xié)議的接口,數(shù)字信號處理(DSP),RF和通信以及許多其他需要高速應(yīng)用的應(yīng)用硬件可靠性,定制性和嚴(yán)格的確定性。G特別適合于FPGA編程,因為它清楚地表示了并行性和數(shù)據(jù)流,并且作為尋求并行處理和確定性執(zhí)行的開發(fā)人員的一種選擇工具,其正在迅速普及。

在LabVIEW中以圖形方式進行編程的好處9
圖10.在LabVIEW中管理內(nèi)存是可選的,但是高級用戶可以配置內(nèi)存使用情況,以幫助確定要優(yōu)化的應(yīng)用程序部分。

如果G代碼表現(xiàn)出異常或意外的行為,而您無法使用前面提到的調(diào)試工具輕松解決,則可以通過LabVIEW Desktop Execution Trace Toolkit使用更高級的調(diào)試功能。該工具包是為想要對以下內(nèi)容執(zhí)行動態(tài)代碼分析的更高級的用戶而設(shè)計的:

檢測內(nèi)存和引用泄漏

隔離特定事件或不良行為的源,針對可提高性能的區(qū)域篩選應(yīng)用程序,確定錯誤之前的最后一次調(diào)用確保在不同目標(biāo)上應(yīng)用程序的執(zhí)行相同

將G與其他語言結(jié)合

盡管G代碼為并行性提供了出色的表示形式,并消除了開發(fā)人員理解和管理計算機內(nèi)存的要求,但它不一定適用于所有任務(wù)。特別是,數(shù)學(xué)公式和方程式通??梢杂梦淖指啙嵉乇硎?。因此,您可以使用LabVIEW將圖形化編程與幾種形式的基于文本的編程相結(jié)合。在LabVIEW中運行時,可以選擇文本方法,圖形方法或兩者的組合。

例如,LabVIEW包含公式節(jié)點的概念,該公式對程序框圖上類似于C的文本數(shù)學(xué)公式和表達式求值。這些數(shù)學(xué)公式可以并行執(zhí)行,并與圖形化的LabVIEW代碼集成在一起。

在LabVIEW中以圖形方式進行編程的好處10
圖11.公式節(jié)點使用類似于C的語法,以簡潔的,基于文本的格式表示數(shù)學(xué)表達式。

解決問題的更好方法

與傳統(tǒng)的底層替代方法相比,LabVIEW及其圖形化數(shù)據(jù)流編程語言為您提供了更好的解決問題的方法,并且證明了它的長壽性。G語言編程的主要區(qū)別在于您可以創(chuàng)建的直觀圖形代碼,以及控制其執(zhí)行的數(shù)據(jù)驅(qū)動規(guī)則相結(jié)合,以提供一種編程體驗,比其他語言更能表達其用戶的思維過程。盡管G是高級語言,但由于內(nèi)置的LabVIEW編譯器,您仍然可以實現(xiàn)與C等語言相當(dāng)?shù)男阅堋?/div>
咨詢單
管理入口| 返回頂部 ©2026 上海恩艾儀器有限公司 版權(quán)所有   技術(shù)支持:汽車測試網(wǎng)   訪問量:321025