當前位置:首頁 > 測試測量 > 測試測量
[導讀]本文檔回答了關于NI-DAQmx和傳統(tǒng)NI-DAQ的一些常見問題。所有問題按照邏輯性分為如下四類:


本文檔回答了關于NI-DAQmx和傳統(tǒng)NI-DAQ的一些常見問題。所有問題按照邏輯性分為如下四類:
目錄
·    NI-DAQmx描述
·    NI-DAQmx引入的概念 
·    工作性能
·    從傳統(tǒng)NI-DAQ到NI-DAQmx的升級

NI-DAQmx描述

問:為什么軟件對于數(shù)據(jù)采集應用如此重要?

答:功能靈活且強大的軟件是所有虛擬儀器系統(tǒng)的核心。

讓我們先仔細看一下虛擬儀器軟件的組成。大多數(shù)人首先想到的就是應用程序層,就是主要的開發(fā)環(huán)境。它包括諸如LabVIEW、LabWindows/CVI(ANSI C)和Measurement Studio(Visual Studio 編程語言)之類的軟件。測試執(zhí)行層結合了應用程序層所開發(fā)的功能。接下去一層通常很容易被忽視,但它對于軟件開發(fā)效率來說卻是至關重要的。測量和控制服務層包括與硬件通信的驅動程序。測量和控制服務必須能訪問并發(fā)揮硬件功能和性能,它們也必須與所有其他的驅動和已成為解決方案一部分的眾多模塊化I/O協(xié)同工作。

 
圖1.虛擬儀器軟件




問:什么是測量服務軟件?
 
答:可以把測量服務軟件看作I/O驅動軟件層,然而,它不僅僅只是一個驅動。

測量服務是快速的應用程序開發(fā)中最為重要的部分之一。這個軟件提供了虛擬儀器軟件和硬件之間的連通性以用于測量和控制。直觀的應用程序編程接口(API)、儀器驅動、配置工具、快速I/O助手和其他包含在所購買的NI硬件中的軟件是它的特色。NI測量和控制服務軟件提供了與NI硬件以及NI應用程序開發(fā)環(huán)境(ADE)的最優(yōu)化結合。
 
表1.NI-DAQmx包含了高性能的驅動和附加軟件來提高系統(tǒng)開發(fā)效率



NI測量&自動化瀏覽器(MAX)和DAQ Assistant (DAQ助手) 是NI-DAQmx測量服務軟件(大部分NI數(shù)據(jù)采集設備都附帶該軟件)體現(xiàn)它無限價值的其中兩個例子。此外,NI還在M系列和USB DAQ設備以及其他許多設備上附送了免費的數(shù)據(jù)記錄軟件。

諸如MAX之類的配置工具所包含的特性能夠用來配置和測試I/O,以及存儲標定、校準和通道別名信息。這些工具對于以更短的時間完成首次測量、維護測試系統(tǒng)和解決測試系統(tǒng)故障是十分重要的。

I/O Assistant (I/O助手) 是一個交互式工具,用來快速創(chuàng)建測量應用程序。DAQ助手就是其中一個這樣的I/O助手,如圖2所示。 它提供了一個面板,您可在上面輕松配置常用的DAQ參數(shù),而無需任何編程工作。您可以在任何NI ADE中使用由它生成的DAQ任務。易于使用的助手和強大編程環(huán)境的結合提供了快速的開發(fā)和可滿足廣泛應用需求的能力。

 
圖2. NI-DAQmx 里提供的DAQ助手簡化了DAQ任務的創(chuàng)建



問:為什么NI推出了NI-DAQmx?為什么不繼續(xù)開發(fā)傳統(tǒng)NI-DAQ?

答:NI在20世紀90年代首次發(fā)布了傳統(tǒng)NI-DAQ驅動。傳統(tǒng)NI-DAQ通過提供對各種設備的擴展功能對已有的DAQ庫進行了許多改進,這些改進包括雙緩沖采集、對特定傳感器類型提供內置標度,例如熱電偶和應變計、信號調理、以及一個單一的且可與多種設備和操作系統(tǒng)(OS)協(xié)同工作的函數(shù)庫。

在90年代后期,NI-DAQ團隊意識到保持API與以前版本的兼容性的這個要求增加了向傳統(tǒng)NI-DAQ添加新特性和設備的難度。此外,在長期的發(fā)展過程中,傳統(tǒng)NI-DAQ的API產生了許多需要解決的問題。NI-DAQ開發(fā)者難以直觀地擴展API而且難以優(yōu)化不斷增長的客戶應用范圍。因此NI認為一個全新的API設計和體系結構可以幫助NI-DAQ開發(fā)者更輕松地添加新特性和新設備,解決許多現(xiàn)有的驅動問題,并且同時可以優(yōu)化性能。

NI-DAQmx項目的一些宏偉目標包括:
1.    更輕松地往DAQ API中添加新特性。傳統(tǒng)NI-DAQ API的許多函數(shù)都有大量的參數(shù)而且沒有有效的方式可以添加新參數(shù)。相比而言,NI-DAQmx API 通過一個豐富的屬性層次來使用基于屬性的方法。這種方法易于擴展。通常,添加一個新特性與添加一個新屬性一樣輕松。
2.    更輕松地添加新設備。如果不對現(xiàn)有的功能進行改動,NI就難以向傳統(tǒng)NI-DAQ添加更多的設備,而改動往往會導致一些漏洞。尋找并解決意外的漏洞花費了太多的時間來發(fā)布每一個版本。相比而言,NI-DAQmx使用了作為組件的插入式設計,使得添加新設備更加便利。
3.    更有效的多線程數(shù)據(jù)采集。傳統(tǒng)NI-DAQ最初是為不具備多線程功能的舊版本操作系統(tǒng)而設計的。為了在多線程操作系統(tǒng)下安全地運行,傳統(tǒng)NI-DAQ將存取操作限制在每次一個線程。對于那些需要同時完成兩個或更多DAQ任務的應用來說,這種限制就引起了問題因為兩個任務不能同時訪問驅動器。NI-DAQmx使用多線程設計解決了這個問題,這樣多線程就可以同時訪問驅動器。
4.    提高數(shù)據(jù)采集性能,尤其是單點性能。一些使用傳統(tǒng)NI-DAQ的應用經歷過拙劣的軟件定時單點性能,因為它們不斷地在主循環(huán)里執(zhí)行代價高昂的操作,例如驗證配置(檢驗)、保留資源(保留)和對硬件編程(實施)。傳統(tǒng)NI-DAQ并沒有對何時執(zhí)行檢驗、保留和實施操作給予足夠的應用程序控制,因此用戶不能重寫這些應用程序以更快地運行。NI-DAQmx利用一個基于已定義狀態(tài)模型的設計提高了性能。NI-DAQmx給用戶提供了高級的API功能,例如檢驗、保留和實施。因此,用戶對于在何時執(zhí)行這些代價高昂的操作擁有更多的控制能力。
5.    提高驅動性能和可靠性。NI-DAQmx專門設計成具有世界一流的數(shù)據(jù)采集性能和穩(wěn)定性。自NI-DAQmx開發(fā)伊始,用戶每次添加一個新特性或者對驅動進行一次改變,一個嚴格且完備的功能和性能自動測試包就會檢驗這個改變是否引入了漏洞。這個測試包對應用于各種設備、傳感器和操作系統(tǒng)配置中的常見和不常見的驅動進行測試。不常見或例外的驅動應用對于整體的可靠性十分重要。NI-DAQmx設計成能夠處理異常的情形,例如DAQ任務中止、看門狗定時器終止和意外設備刪除(如從計算機中拔出USB設備)。
6.    更輕松地進行數(shù)據(jù)采集。在90年代中期,NI-DAQ團隊往傳統(tǒng)NI-DAQ中添加了Easy I/O和中間I/O層,從而使得通常的DAQ任務更加輕松。然而,這種方法卻引起了一些問題,因為一旦用戶需要給應用程序添加更多高級的特性,他們就不得不使用更高級的API來重寫應用程序。NI-DAQmx通過以下方式使得開發(fā)應用程序更輕松:
·    配置工具如DAQ助手。利用DAQ助手,用戶可以圖形化地選擇他們希望進行測量的類型,保存配置以供以后使用,而且生成代碼以包含在應用程序中。
·    高級NI-DAQmx路由特性。這些特性簡化了DAQ設備的觸發(fā)和同步。
·    在NI-DAQmx里報告并描述錯誤。這一特性幫助用戶精確地確定錯誤的原因并推薦解決方案。用戶認為NI-DAQmx里的高級錯誤報告功能使得調試DAQ應用程序更加輕松。
·    從LabVIEW 7開始的易用特性。LabVIEW 7引入的新特性,尤其是應用于NI-DAQmx之中的新特性,包含了創(chuàng)建Express VI和多態(tài)VI的能力。利用Express VI,用戶可以使用一個簡單的配置對話框來代替一個復雜DAQ的絕大部分。利用多態(tài)VI,用戶可以更輕松地找到特性。由于這兩方面的特性,用戶可以用更少的時間開發(fā)出應用程序。
 
圖3.多態(tài)VI簡化了NI-DAQmx API



問:NI-DAQmx支持哪些硬件?不支持哪些硬件?

答:作為最新的NI測量服務軟件,NI-DAQmx支持最新的NI DAQ硬件,包括M系列插入式DAQ設備,一些最新的USB DAQ設備,以及數(shù)以百計傳統(tǒng)NI-DAQ所支持的DAQ設備。
 
雖然NI-DAQmx支持許多最新的NI DAQ硬件設備,NI-DAQmx并不支持所有的NI DAQ設備。例如,傳統(tǒng)DAQ設備,如使用ISA總線(用于臺式計算機)的設備,他們僅受傳統(tǒng)NI-DAQ的支持。

欲想了解當前NI-DAQmx所支持的設備列表,請訪問ni.com/dataacquisition/software并單擊Device Support(所支持的設備),或者參看包含于NI-DAQmx之中NI-DAQmx Readme文件。


問:為什么有些DAQ設備僅受NI-DAQmx支持?

答:諸如M系列DAQ之類的設備是最新的、最好的DAQ硬件。M系列設備是市場上第一款18位插入式DAQ設備,第一款擁有最大數(shù)據(jù)吞吐量達六個DMA通道的插入式DAQ設備,并且具有創(chuàng)新的設備校準。這些設備只受NI-DAQmx支持,而不受傳統(tǒng)NI-DAQ支持。

將來新的NI DAQ設備也將只受NI-DAQmx支持,而受傳統(tǒng)NI-DAQ支持。NI工程師致力于NI-DAQmx的效率和性能,而不是使用資源來開發(fā)傳統(tǒng)驅動軟件。


問:我可以將NI-DAQmx與哪些編程語言共同使用?
 
答:您可以將NI-DAQmx用于各種不同的編程語言,它們包括:
·    NI LabVIEW
·    ANSI C 
·    Microsoft Visual C++ 類庫(NI Measurement Studio 7 或更高版本) 
·    Microsoft Visual C++ 
·    Microsoft C# .NET
·    Microsoft Visual Basic .NET 
·    Microsoft Visual Basic (Beta版)

欲想了解更多關于使用NI-DAQmx和基于文本語言編程的信息,請訪問NI-DAQ用于文本語言編程語言和NI-DAQ Readme文件。


問:我可以將NI-DAQmx與哪些應用程序開發(fā)環(huán)境結合使用?
 
答:NI-DAQmx可以與許多最流行的ADE協(xié)同工作。一旦安裝了NI-DAQmx,您可以選擇安裝對各種ADE的支持,包括:
·    NI LabVIEW 7 或更高
·    NI LabVIEW Real-Time 7.1或更高
·    NI LabWindows/CVI 7或更高 
·    .NET語言
·    NI Measurement Studio,支持 Visual C++.NET(需要 Measurement Studio 7 或更高)
·    Microsoft Visual C 支持
為了安裝對這些ADE的支持,請在安裝NI-DAQmx時選擇合適的支持。在您第一次安裝NI-DAQmx時,在特性樹上將NI-DAQmx選項展開,然后,選擇您希望使用的API來安裝合適的支持。

 
圖4.NI-DAQmx提供不同API用于各種ADE 

 
如果你已經安裝了NI-DAQmx并且希望改變你的選擇,運行添加/刪除程序。選擇NI軟件入口并單擊Change。然后,在已安裝到您機器上的NI軟件列表上選擇NI-DAQmx。單擊Modify以啟動NI-DAQmx安裝程序,在這里您可以指定API支持選項。


問: NI-DAQmx是否適用于Linux?Mac OS X操作系統(tǒng)?

答:NI-DAQmx只適用于那些為Microsoft Windows開發(fā)應用程序并應用的用戶。NI目前沒有計劃將NI-DAQmx擴展到Linux和MAC OS X。然而,近來這些平臺在科學和工程計算領域的應用有所增長,為滿足這些需求,NI已經開發(fā)了NI-DAQmx BASE。

NI-DAQmx BASE將NI-DAQmx功能的一個子集提供給Windows、Linux、Mac OS X和Pocket PC操作系統(tǒng),并且支持大部分最流行的NI DAQ設備,包括新的低成本USB DAQ產品。

請訪問 ni.com/linux和ni.com/mac以獲得為Linux和Mac OS X提供的最新NI產品。


問:NI會繼續(xù)傳統(tǒng)NI-DAQ的開發(fā)嗎?

答:NI沒有計劃繼續(xù)開發(fā)傳統(tǒng)NI-DAQ。但是,為了維持現(xiàn)有的應用程序,NI會繼續(xù)提供傳統(tǒng)NI-DAQ并繼續(xù)提供它的技術支持。

問:NI-DAQmx與NI-DAQmx Base有何不同?

答:比較這些軟件工具的最好方式是在ni.com/dataacquisition/software上使用驅動程序比較圖。這兒提到的是其中一些不同之處。
 
雖然NI-DAQmx和NI-DAQmx BASE具有相似的API,但是這兩種API具有完全不同的體系結構。NI-DAQmx Base是使用NI工具——NI測量硬件驅動開發(fā)包(DDK)寫成的,這個工具用寄存器級編程的方式來定制開發(fā)驅動。這種方式的一個好處是NI-DAQmx Base是開放的源代碼。這使得您可以打開子VI(subVI),并在LabVIEW里觀察/編輯寄存器存取情況,以及添加或修改功能。
 
NI-DAQmx BASE沒有NI-DAQmx中所包含的一些軟件特性。只有NI-DAQmx才有的一些特性包括:
·    DAQ助手
·    用于高級DAQ任務的屬性節(jié)點 
·    多線程I/O性能

問:在什么情況下不應選擇使用NI-DAQmx進行開發(fā)呢?
 
答:盡管NI鼓勵您將NI-DAQmx的優(yōu)點充分利用到您的應用程序中,但是在有些情況下使用NI-DAQmx是不夠理想的。
 
若下列情形之一存在,請安裝并使用傳統(tǒng)NI-DAQ:
·    您有一臺NI-DAQmx不支持的設備,例如一個AT(用于ISA接口)E系列多功能DAQ卡。
·    您用的LabVIEW、LabWindows/CVI或Measurement Studio版本在7.0之前。
·    您正在使用Visual Basic 6。
·    您要從NI-DAQ 6.9.x版本升級并且存在您不愿意與NI-DAQmx相連接的應用程序。
如果下列情形之一存在,請安裝并使用NI-DAQmx Base: 
·    您正在開發(fā)應用于Linux、Mac OS X或Pocket PC之上的應用程序。
·    You have a USB DAQ device supported only by NI-DAQmx Base.
·    您有一個僅受NI-DAQmx Base支持的USB DAQ設備。 
如果下列情形之一存在,請安裝并使用使用Measurement Hardware DDK:
·    您正在使用寄存器級編程來開發(fā)一個自定義的驅動程序。

欲想得到更多幫助來決定哪一種驅動軟件適合您,請使用ni.com/dataacquisition/software上的設備支持表和驅動軟件比較圖以及NI-DAQ Readme 文件。


問:我怎樣得到NI-DAQmx?
 
答:從NI購買NI-DAQmx支持所支持的硬件產品的話,其中會附有一張NI-DAQ光盤,它包含了最新版本的NI-DAQmx。
 
您可以訪問通過瀏覽ni.com/china/daq免費下載最新版NI-DAQmx軟件。



NI-DAQmx引入的概念
 
問:什么是DAQ助手? 
答:DAQ助手是一個基于步驟的向導,它可以使您無需編程即可配置數(shù)據(jù)采集任務、虛擬通道以及實現(xiàn)縮放操作。您可以從NI應用軟件中啟動DAQ助手,例如LabVIEW、LabWindows/CVI、Measurement Studio、 VI Logger或 MAX。
 
圖5. DAQ助手支持NI所有的ADE

 
注意:您必須使用LabVIEW、LabWindows/CVI和Measurement Studio的7.X版本或更新版本,以及VI Logger的2.X版本才能使用DAQ助手。

您也可以使用DAQ助手來生成NI-DAQmx代碼,運行您的任務和全局虛擬通道,或者把它們轉移到其他的系統(tǒng)。
 
利用DAQ助手,您可以:
·    創(chuàng)建和編輯任務和虛擬通道
·    添加虛擬通道至任務 
·    創(chuàng)建并編輯量程
·    測試您的配置 
·    保存您的配置
·    在您的NI應用軟件中生成代碼以在您的應用程序中使用
·    觀察您的傳感器的連接圖

問:為什么我要使用DAQ助手而不使用NI-DAQmx API?
 
答:DAQ助手建立在NI-DAQmx API之上,并且可以作為一個配置工具和學習工具來加快您在新的NI-DAQmx API上的學習速度。

在配置之后,LabVIEW里的DAQ助手Express VI包含了所有必需的API代碼來運行您的配置任務,但是它隱藏于程序框圖之中。如果您希望在您配置中觀察或修改API功能而不是使用DAQ助手對話框,DAQ助手也提供了了代碼生成功能,可以用于LabVIEW、LabWindows/CVI和Measurement Studio應用程序。


問:什么是NI-DAQmx任務?

答:NI-DAQmx任務是具有定時、觸發(fā)和其他特性的一個或多個虛擬通道的集合。概念上,一個任務代表了您希望完成的測量或信號產生任務。您可以建立和保存任務中的配置信息,并在應用程序中使用任務。

問:NI-DAQmx里的局部虛擬通道和全局虛擬通道有什么區(qū)別?
 
答:在NI-DAQmx中,您可以將虛擬通道配置成任務的一部分或者與任務分離。創(chuàng)建于任務內部的虛擬通道是局部虛擬通道。定義在任務外部的虛擬通道是全局虛擬通道。
 
您可以在MAX或您的應用軟件中創(chuàng)建全局虛擬通道然后將它們保存在MAX中。您也可以在任意的應用程序中使用全局虛擬通道或把它們添加到許多不同的任務中。如果您修改了一個全局虛擬通道,這個改變將會影響所有引用該全局虛擬通道的任務。


問:什么時候我應該使用一個任務而不是一個全局虛擬通道?
 
答:當一個任務是具有定時、觸發(fā)和其他特性的一個或多個虛擬通道的集合時。

一個全局虛擬通道只引用了一個物理通道,而且沒有包含定時或觸發(fā)功能。但是,全局虛擬通道可以被許多任務包含和引用,而一個任務是一個獨立的實體,它不能被其他任務包含或引用。


問:我能可編程地使用NI-DAQmx保存虛擬通道嗎?

答:利用NI-DAQ7.4或更新的版本,您可以可編程地創(chuàng)建并保存任務、全局虛擬通道和量程。這種編程方式保存的對象會出現(xiàn)在MAX里,您可以在DAQ助手和應用程序中使用它們。

可編程地保存任務、通道和量程簡化了系統(tǒng)配置和多種場合的應用,并且減少了發(fā)生錯誤的可能性和調試的需要。

欲想了解更多關于如何使用此特性以及觀看例程,請訪問http://ni.com/dataacquisition/nidaqmx.。


問:我該如何導入/導出設備、任務、通道和縮放配置?
 
答:使用MAN,您可以導出您系統(tǒng)的配置以作為備份或應用至其他機器。
 
使用導出向導可從系統(tǒng)復制配置數(shù)據(jù)至一個文件。要啟動這個導出向導,請在MAX中選擇File»Export


問:什么是屬性節(jié)點?
 
答:屬性節(jié)點是您可以使用的LabVIEW結構,它可以用來在引用的對象上訪問屬性。NI-DAQmx使用這些結構來對所有NI-DAQmx API支持的屬性提供完備的編程控制,并且這些屬性節(jié)點形成了API的基本功能。

除了屬性節(jié)點之外,NI-DAQmx也提供了一套NI-DAQmx VI,從而您可以用來編寫程序。這些VI在功能上與使用屬性節(jié)點等價,但是通常更容易且更便于使用。例如,下面的兩個例子在功能上是等價的,然而,第一個例子使用了NI-DAQmx,而另一個例子使用了NI-DAQmx屬性節(jié)點。 
  

 

圖6.使用NI-DAQmx屬性節(jié)點實現(xiàn)高級的自定義任務

對于大多數(shù)應用程序,NI-DAQmx VI提供了所需的功能。然而,對于更高級的應用程序,您可能需要屬性節(jié)點來得到較少使用的驅動屬性和特性。


問:我應該怎樣過濾屬性節(jié)點列表?
 
答:當您第一次打開并瀏覽一個屬性節(jié)點時,屬性列表的顯示也許會看起來令人難受。為了更容易地瀏覽這些列表,可以通過如下所示的對話窗口來利用一些過濾屬性。
 




要進入該對話框,右擊屬性節(jié)點并單擊Select Filter即可。Show All Attributes顯示了所有NI-DAQmx API所支持的屬性。Show Attributes For Configured Devices顯示了所有當前已安裝并配置在您系統(tǒng)中的設備所支持的屬性。使用Show Attributes For Selected Devices選擇您需要為之顯示屬性的已安裝設備。

除了過濾選項之外,您也可以通過LabVIEW幫助查看一個完整的設備屬性列表。為找到這個列表,單擊菜單欄的Help,并從幫助窗口所顯示的目錄表中選擇VI、Function& How-To Help。然后瀏覽至VI and Function Reference»NI Measurements VIs and Functions»DAQmx – Data Acquisition Vis and Functions»Additional Information»Device Considerations»Supported Properties by Device。


問:什么是NI-DAQmx仿真設備?

答:利用NI-DAQmx 7.4版本和更新版本,您可以創(chuàng)建NI-DAQmx仿真設備。您可以選擇任意NI-DAQmx所支持的設備并且作為一個仿真設備在MAX里添加到您的硬件配置中。這使得設備通過應用軟件即可使用。


 


NI-DAQmx仿真設備十分有用,可用來創(chuàng)建和運行NI-DAQmx程序,而且無需任何物理硬件的存在即可試驗諸如DAQ助手或SignalExpress之類的工具。NI-DAQmx仿真設備在沒有真實物理硬件的時候發(fā)掘設備性能也是十分有用的。
 
檢驗使用NI-DAQmx仿真設備的任務,就如同它們運行在真實設備之上。如果某個屬性被置為無效值,返回給仿真設備的錯誤與返回給真實設備的錯誤是相同的。所有任務需要的資源都為NI-DAQmx仿真設備而保存。RTSI線、PXI觸發(fā)線、DMA通道、計數(shù)器等等都如同它們在真實設備上一樣被計數(shù)和保存。


性能
 
問:NI-DAQmx提供了哪些性能的提高?
 
答:在用戶應用程序中的DAQ性能是許多因素的綜合,包括采樣率、總線速度、驅動性能、分析以及其他操作。在許多應用中,NI-DAQmx都可以提高應用程序在傳統(tǒng)DAQ上的性能,因為驅動體系結構的改進包括以下幾個方面:
1.    多線程操作。利用NI-DAQmx,由于在執(zhí)行不同的NI-DAQmx任務之時,多個線程可以同時存取NI-DAQmx驅動,因此如果您使用LabVIEW或者多線程C程序,性能就能得到提高。多個線程存取驅動的能力去除了DAQ應用程序的瓶頸障礙,并且可以在一些情況下極大地提高性能。多線程操作使得那些執(zhí)行多任務和一次讀或寫多個采樣的應用性能提高尤其明顯。
2.    對諸多繁瑣的數(shù)據(jù)采集操作任務的更好的控制。利用NI-DAQmx,您可以更好地控制各種驅動操作,如檢查配置(檢驗)、保存資源(保存)和對硬件編程(實施),而以往這些操作會成為一些應用程序開發(fā)的瓶頸。利用NI-DAQmx,您可以開發(fā)一個在主DAQ循環(huán)之外進行檢驗、保存或實施任務的應用程序,從而驅動不再需要重復地執(zhí)行這些操作。
3.    內置的硬件定時單點操作。NI-DAQmx 7.2版本引入了對需要執(zhí)行硬件定時單點數(shù)據(jù)采集的應用程序的內置支持。與傳統(tǒng)NI-DAQ相比,這種新的內置模式具有許多優(yōu)勢,包括更好的單點任務(使用多通道)性能。
NI-DAQmx團隊一直致力于改進NI-DAQmx的性能。


問:為什么NI-DAQmx CPU使用率達100%? 
 
答:一些用戶已經注意到他們的DAQ處理使CPU使用率達到了100%。使用NI-DAQmx7.3版本或更早的版本,在應用程序執(zhí)行一個讀或寫調用之中時,這種情況是可能發(fā)生的。通常,過度的CPU使用在運行其他的應用程序時不成問題,但是對于筆記本,NI-DAQmx會消耗電池電量并且引起CPU風扇啟動。

由于NI-DAQmx 7.3版本或更早的版本在一個讀或寫操作時會等待新的數(shù)據(jù)的到來,因此100%的CPU使用率就會發(fā)生。在等待新的數(shù)據(jù)到來時,如果在一個讀操作中數(shù)據(jù)仍然不可得,NI-DAQmx 7.3版本就會轉向其他的處理。如果另外一個處理需要使用CPU,NI-DAQmx就會與那個處理共享CPU。然而,如果沒有其他的處理或任務需要使用CPU,NI-DAQmx繼續(xù)等待新數(shù)據(jù)的到來。如果計算機僅執(zhí)行數(shù)據(jù)采集,那么這種解決方案提供了非常優(yōu)異的性能,在與其他應用程序共享CPU時則提供了較好的性能。然而,副作用卻是在沒有其他應用程序運行時NI-DAQmx占用了100%的CPU的使用率。

這一問題的最好解決方案就是使用最近發(fā)布的NI-DAQmx,如NI-DAQmx 7.4。NI-DAQmx 7.4改變了緩沖式讀寫操作的默認等待模式。當需要輪詢時,NI-DAQmx在繼續(xù)讀或寫操作之前會休眠一小段時間(1ms)。與以前版本的NI-DAQmx相比,這一改變對于大部分應用程序的性能幾乎沒有影響。然而,其他NI-DAQmx 7.4版本的讀寫改進和優(yōu)化不僅僅只是彌補了可能的性能損失。應用程序升級至NI-DAQmx 7.4既可以改進性能也可以減少CPU使用率。
 
如果您需要對NI-DAQmx 7.4等待數(shù)據(jù)的方式進行更多的控制,您可以選擇一個不同的休眠時間或者將讀等待模式改變成輪詢或出讓。使用出讓模式會造成與NI-DAQmx 7.3相似的行為。使用輪詢方式會造成最大的吞吐量但是在同時運行其他應用程序的情況下并不合適。


問:單點I/O性能有沒有改進?
 
答:與傳統(tǒng)NI-DAQ(Legacy)相比,NI-DAQmx幾乎在各個情形下都提供了更好的單點I/O性能。然而,也有些情形下,傳統(tǒng)NI-DAQ(Legacy)提供了更好的性能。
 
值得一提的是,NI-DAQmx為以下應用提供了更好的單點性能:
1.    用于模擬和計數(shù)通道的軟件定時讀和寫
2.    包含多通道的軟件或硬件定時讀或寫 
 
傳統(tǒng)NI-DAQ為以下應用提供了更好的性能:
1.    使用數(shù)字通道讀或寫
2.    用于僅有一個輸入和輸出通道應用程序的硬件定時單點

注意:傳統(tǒng)NI-DAQ用戶可能不熟悉硬件定時單點。具體而言,這些應用程序使用硬件定時、大小為零的緩存并且每次讀或寫一個采樣。

 
有時候,傳統(tǒng)NI-DAQ會更快,因為NI-DAQmx比傳統(tǒng)NI-DAQ提供了更多的功能。例如,您可以任意將線和端口與NI-DAQmx數(shù)字通道連接。支持多線程和處理異常情況,如意外設備刪除等,這些都會添加一些額外開支。
 
許多DAQ應用程序需要絕對最佳的性能,NI-DAQmx團隊也一直致力于開發(fā)可以改進驅動性能的新特性。


問:狀態(tài)機是如何幫助改進NI-DAQmx的性能的?
 
答:NI-DAQmx任務狀態(tài)機能跟蹤保存在數(shù)據(jù)采集或生成可以開始之前您所需要完成的配置操作。配置操作包括檢查配置(檢驗)、保存資源(保存)以及對硬件編程(實施)。

NI-DAQmx使用狀態(tài)機來確保代價高昂的操作如任務檢驗、資源保存及硬件編程僅在需要時執(zhí)行。當在主采集或信號生成循環(huán)外執(zhí)行顯示配置操作時,一個DAQ應用程序可從改進的性能中受益。NI-DAQmx提供了顯示命令,可以引起一個將要執(zhí)行的檢驗、保存或實施。當一個任務顯示地在采集或生成循環(huán)外檢驗、保存、實施或開始時,NI-DAQmx并不在每個循環(huán)重復這些操作。因此從總體上來說,應用程序運行得更快。
 

 
欲想了解更多關于每個NI-DAQmx狀態(tài)的信息,請參閱NI-DAQmx幫助文檔。


問:什么是限制流盤性能的主要因素?
.
答:磁盤I/O帶寬、CPU帶寬和總線帶寬。

磁盤I/O帶寬

典型的使用IDE驅動的系統(tǒng)主要被磁盤的吞吐量所限制。

潛在的改進包括添加一個用于流的專用驅動器或控制器。一個專用的驅動器避免了因碎片和操作系統(tǒng)或其他應用程序存取磁盤而引起的性能問題。高速的驅動器和高速的RAID控制器提高了磁盤I/O帶寬。

注意:在添置驅動器和控制器之前請檢查CPU帶寬和總線帶寬以防止增加的磁盤I/O超出了您事實上可以使用的范圍。

CPU帶寬
對于原始數(shù)據(jù),處理器帶寬通常只在高速RAID控制器已安裝的系統(tǒng)中影響性能。在這些系統(tǒng)中,CPU可以影響您如何快速地得到所需的數(shù)據(jù)并把它寫入磁盤驅動器。甚至利用一個專用的RAID控制器,CPU帶寬的一部分也在將數(shù)據(jù)寫入磁盤時被消耗。對于經標度的數(shù)據(jù),處理器帶寬通常是限制因素。

增加系統(tǒng)中CPU的數(shù)量和CPU的速度提高了系統(tǒng)的帶寬。

甚至當CPU使用率低于100%的時候,最小化并行的任務和操作。稀有資源的競爭會降低流盤的性能。

最后,為特定的系統(tǒng)調節(jié)流代碼。對于多CPU的系統(tǒng),執(zhí)行一些并行的代碼可能會提高系統(tǒng)的吞吐量。(注意:對同一個磁盤的并行磁盤I/O操作通常降低了性能)優(yōu)化代碼以避免存儲副本和其他浪費CPU帶寬的操作。

總線帶寬
一個典型的帶有單一PCI/PXI總線的臺式系統(tǒng)會被總線帶寬限制。標準PCI/PXI的理論帶寬大約是130MB/s。真實帶寬則依總線競爭的程度而降低。通常,在同樣總線上同時運行更多設備會降低總線帶寬。

注意:一個單一的NI 6115 DAQ可以產生80MB/s的數(shù)據(jù)

增加系統(tǒng)中總線的數(shù)量是提高帶寬的唯一方法。例如,一些高端的母板包括2個或更多的獨立PCI總線。這有利于您建立一個系統(tǒng),這個系統(tǒng)分別在獨立的總線上有一個RAID控制器和DAQ設備。對于這些母板,橋片可能會限制所有連接總線的總吞吐量。


問:NI-DAQmx執(zhí)行高速流盤的性能如何?

答:NI-DAQmx影響流盤性能主要在于它使用了CPU帶寬同時移動和標度了設備所采集的數(shù)據(jù)。因此,對于那些CPU帶寬是一個限制因素的系統(tǒng),NI-DAQmx有效地使用CPU就顯得十分重要。

自從首次發(fā)布以降低讀寫時的CPU使用率開始,NI-DAQmx經歷了多次優(yōu)化。例如,在NI-DAQmx 7.3和NI-DAQmx 7.4版本之間,標度的模擬輸入基準的性能已從8%增長至60%。未標度的模擬輸入基準性能已從12%增長至40%。對于那些CPU帶寬緊張的系統(tǒng),這個性能的提高直接轉化成為的更高的流盤吞吐量。

NI-DAQmx使用了極為簡單的壓縮形式。采樣末端的位被簡單的丟棄而后將所得的采樣打包送入內存。NI-DAQmx并沒有使用其他無損失或損失性壓縮算法如LZE或JPEG。

在一些情況下,由于采樣已經包含不使用的位,因而沒有數(shù)據(jù)損失。例如,一個具有12位分辨率和16位采樣大小的通道包含4位不使用的位。您可以無損失地丟棄這4位同時所需磁盤空間減少的幅度達25%。
 
此外,您可以配置NI-DAQmx丟棄采樣中一個或更多不重要的位。例如,您可以配置一個24位分辨率和32位采樣大小的通道而僅返回最高的20位??偣灿?2位被丟棄,包括8個不使用的位,這樣所需磁盤空間減少的幅度達了37.5%。


從傳統(tǒng)NI-DAQ升級

問:為什么我要從傳統(tǒng)NI-DAQ升級至NI-DAQmx?

答:有許多原因可解釋為什么要升級到NI-DAQmx。一個重要的原因是NI工程師致力于提高NI-DAQmx而不是傳統(tǒng)NI-DAQ(Legacy)的效率和性能。如果使用這個測量服務軟件的最新版本,NI-DAQmx用戶就能享受這一革新的好處。
 
獨立于當前工程師的努力之外,由于相對于傳統(tǒng)NI-DAQ(Legacy)的軟件特性優(yōu)勢,用戶可以簡單地升級到NI-DAQmx。其中一些優(yōu)勢包括: 
·    更好的狀態(tài)模型 
·    多線程驅動 
·    異常情況下的可靠性 
·    簡化了的同步功能 
·    Decreased LabVIEW diagram clutter
·    降低了LabVIEW程序的復雜度
·    從簡單到高級編程的平滑過渡
注意:欲想了解更多關于這些優(yōu)點及其他信息,請參閱ni.com上Developer Zone可得的Advantages of NI-DAQmx 指南。

另外一個升級至NI-DAQmx的原因是利用了NI提供的最新的DAQ硬件。最新和最具創(chuàng)新性的DAQ設備提供了其他廠商和其他設備所不能提供的技術。最新的NI DAQ設備僅被NI-DAQmx支持。


問:哪些資源可以幫助我把應用程序從傳統(tǒng)NI-DAQ升級至NI-DAQmx?
 
答:ni.com上的Developer Zone包含了極好的資源,可以幫助傳統(tǒng)NI-DAQmx用戶將他們應用程序升級至NI-DAQmx。

第一個指南, Transition Traditional NI-DAQ to NI-DAQmx,表明雖然在傳統(tǒng)NI-DAQ和NI-DAQmx之間許多編程技術是相似的,但是還是有一些細微的差別。這個指南描述了每個API中最為常見的VI和功能之間的相似之處和不同之處。
 
第二個指南,學會NI-DAQmx里的10個功能并解決80%的數(shù)據(jù)采集應用程序,描述了您如何利用NI-DAQmx里的10個函數(shù)和VI來使用NI-DAQmx來代替眾多的傳統(tǒng)NI-DAQ功能和VI。這個指南闡述了如何使用這每個VI,它們構成了NI-DAQmx API核心。

對于那些希望升級至NI-DAQmx但仍希望利用當前傳統(tǒng)NI-DAQ應用程序來使用NI-DAQmx所支持的新硬件產品的用戶,NI創(chuàng)建了傳統(tǒng)NI-DAQ兼容的VI。這些VI利用了可與傳統(tǒng)NI-DAQ和NI-DAQmx協(xié)同工作的庫代替了一些傳統(tǒng)NI-DAQVI庫。這些VI看起來與現(xiàn)有的傳統(tǒng)NI-DAQ VI一樣并與現(xiàn)有的應用程序無縫集成。在等待用NI-DAQmx重寫這些應用程序的同時,這些具有兼容性的VI被創(chuàng)建用來使用,但是您可以仍然使用僅NI-DAQmx支持的設備。用戶在使用具有兼容性的VI時應該十分小心因為它們并不支持所有設備上的所有特性并且不保證在將來的版本中得到更新。欲想了解更多關于VI的信息,請訪問 http://ni.com 。


此外,NI網站在http://ni.com/examples上提供了數(shù)以千計的DAQ例程。數(shù)以百計的例程說明了如何使用NI-DAQmx來完成最為常見的DAQ任務。


問:我能同時使用傳統(tǒng)NI-DAQ和NI-DAQmx嗎? 
答:如果您擁有兩個DAQ設備,并且其中之一使用傳統(tǒng)NI-DAQ而另一臺使用NI-DAQmx,那么您可以同時使用傳統(tǒng)NI-DAQ和NI-DAQmx。如果您僅有一臺設備,您仍然可以既使用傳統(tǒng)NI-DAQ又使用NI-DAQmx,但是只能順序地使用——不是同時。在這個順序中,您需要重設您的設備以在傳統(tǒng)NI-DAQ和NI-DAQmx驅動之間轉換。
 
在LabVIEW中,在傳統(tǒng)NI-DAQ)序列的末端使用Device Reset VI,在您NI-DAQmx序列的末端使用DAQmx Reset Device VI。您仍然需要創(chuàng)建一個傳統(tǒng)的NI-DAQ虛擬通道和一個NI-DAQmx任務以分別使用每個驅動。
 .




問:對于Visual Basic 6.0開發(fā)者來說應該選擇哪一種DAQ軟件?

答:許多使用Visual Basic 6.0的數(shù)據(jù)采集系統(tǒng)開發(fā)者還沒有轉移到Microsofts .NET語言。使用Visual Basic 6.0的開發(fā)者可有以下幾種選擇:
1.    升級至VB.NET并使用NI-DAQmx。這種選擇的好處是您可以使用Microsoft和NI的最新軟件。
2.    使用Visual Basic 6.0和NI-DAQmx:NI-DAQmx 7.4包含了對Visual Basic 6.0的支持(測試版)。一旦安裝了C++支持,您還可以獲得一個Visual Basic類型的庫。目前NI還不支持這種的選擇,尚未提供任何這方面的技術文檔。
3.    使用傳統(tǒng)NI-DAQ和Visual Basic 6.0:雖然在短期內這種選擇基本沒有什么問題,但是它要求您使用Microsoft和NI的傳統(tǒng)軟件。


問:沒有NIConfig.DAQ文件,我該如何在機器間轉移我的配置?

答:您現(xiàn)在可以使用NI-DAQmx里的導出功能來在機器間轉移您的硬件配置。
 
進入MAX并選擇File»Export以啟動配置導出向導。使用這個向導,您可以選擇希望導出的配置并保存它們至您所選擇的用于導出的文件。為了導入配置,進入MAX,F(xiàn)ile»Export并從配置導出向導所生成的文件中導入配置。 


 



問:我現(xiàn)在該如何使用SCXI設備?“ob0!sc1!md1!0”通道字符串語法在NI-DAQmx中無法用。

答:用在傳統(tǒng)NI-DAQ中的SCXI通道字符串不再能用于NI-DAQmx?,F(xiàn)在的格式為SCxMody/channel
1.    x 代表在配置機箱時所選擇的SCXI機箱ID。
2.    y 代表模塊的插槽位置。機箱中的插槽從左至右開始編號,從1開始。
3.    I/channel 根據(jù)所執(zhí)行的數(shù)據(jù)采集類型具有不同的格式:
·    模擬輸入:/ai#。#是模塊上模擬輸入通道的數(shù)字。例如,SC1/MOD1/ai1代表ID位為1的SCXI機箱上1號插槽模塊上的物理模擬輸入通道1。如果您有許多在同一個SCXI模塊配置的通道,您可以把它們都包含在SC1/MOD1/ai1.2.4這樣的格式里,這表示同一個SCXI模塊的模擬輸入通道1、2、和4。
·    模擬輸出:/ao#。#是模塊上模擬輸出通道的數(shù)字。例如/ao2代表物理模擬輸出通道2。
·    數(shù)字I/O:port#/line#。第一個數(shù)字代表數(shù)字端口,第二個數(shù)字代表所使用端口的數(shù)字線。例如,port0/line2意味著物理數(shù)字端口0線2。
·    計數(shù)器I/O:/ctr#。#是模塊上計數(shù)器的數(shù)字。例如,/ctr0代表模塊上的計數(shù)器0。

問:如何使用NI-DAQmx對計數(shù)器進行編程?
答:下面的表格列出了NI-DAQmx和傳統(tǒng)NI-DAQ相似的VI以幫助您熟悉從前者到后者的轉變:

傳統(tǒng)NI-DAQ    NI-DAQmx
Counter Group Config VI    DAQmx Create Channel VI
Counter Set Attribute VI    DAQmx Channel Property Node VI
Counter Source (TIO) VI    DAQmx Trigger Property Node VI
Counter Source (STC) VI    DAQmx Property Node VI
Counter Control VI    DAQmx Start VI
Counter Get Attribute VI    DAQmx Read VI
Counter Control VI    DAQmx Stop VI

欲想了解更多關于在NI-DAQmx里寫入計數(shù)器應用程序的幫助信息,請參閱ni.com上Developer Zone的Transition Traditional NI-DAQ to NI-DAQmx 技術指南。


問:在NI-DAQmx中我該如何使用雙緩沖采集?

答:如果您正在使用雙緩沖I/O,您最有可能以輪詢緩沖區(qū)的方式來連續(xù)地采集數(shù)據(jù)。在NI-DAQmx中,您可以簡單地通過使用NI-DAQmx定時功能及將采樣模式參數(shù)設置成連續(xù)模式來達到這個目的。

NI-DAQmx使用循環(huán)式緩沖區(qū)。對于輸入操作,一部分數(shù)據(jù)可以在緩沖區(qū)為滿時從緩沖區(qū)中讀取。如同輸出操作一樣,緩沖區(qū)的一部分可以在緩沖區(qū)為空時寫入。使用循環(huán)式緩沖區(qū),您可以簡單地將設備設置成連續(xù)采集數(shù)據(jù)模式,同時NI-DAQmx會按照要求找回采集到的數(shù)據(jù)。 
 



問:我該如何使用NI-DAQmx來配置SCXI模塊?

答:您依舊可依在MAX中通過選擇NI-DAQmx Devices、右擊SCXI機箱并選擇Properties來設置SCXI模塊屬性。您可以看到每個安裝在機箱中的模塊并且您可以通過單擊詳細信息來設置每個模塊的屬性。 
 



MAX中唯一沒有顯示的屬性是增益設置。NI-DAQmx可以使用基于信號的I/O極限來自動地配置設備以達到最優(yōu)的增益設置。


問:NI-DAQmx里的脈沖序列極性和占空比控制功能的變化?

答:在NI-DAQmx里,您可以通過使用通用的DAQmx創(chuàng)建通道函數(shù)并選擇Counter Output»Pulse Generation»Frequency來簡化您的程序。在傳統(tǒng)NI-DAQmx里,您必須使用生成脈沖序列函數(shù)來定義脈沖序列的極性、頻率和占空比。除了頻率和占空比之外,NI-DAQmx使用空閑狀態(tài)參數(shù)來配置脈沖序列的極性。 
 

 


問:使用NI-DAQmx我該如何完成遠程數(shù)據(jù)采集(RDA)?
 
答:NI-DAQmx不提供RDA特性。要想遠程控制您的DAQ設備,您可以使用LabVIEW 7或更高版本里的遠程前面板特性。利用這一特性,您可以通過因特網遠程控制DAQ應用程序。


問:我可以無需重啟任務就能改變NI-DAQmx里生成的脈沖序列頻率嗎?

答:可以。您可以在任何時候更新一個連續(xù)脈沖序列的頻率和占空比,包括在任務運行的時候。這對于需要脈沖寬度調節(jié)的應用十分有益,如PID環(huán)控制應用程序。在DAQmx寫功能里,頻率和占空比參數(shù)可以在任務運行的時候自動更新脈沖序列。在更新脈沖生成速率的時候,在新的速率起作用之前,一個當前速率的完整周期會生成。 
  



 
© 2005 National Instruments公司。版權所有:CVI、DAQCard、LabVIEW、Measurement Studio、NI、ni.com、NI-DAQ、RTSI、SCXI和SignalExpress。 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉