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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > NI-DAQmx和傳統(tǒng)NI-DAQ常見問題解答

          NI-DAQmx和傳統(tǒng)NI-DAQ常見問題解答

          作者: 時(shí)間:2005-04-06 來源:網(wǎng)絡(luò) 收藏


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

          NI-DAQmx描述

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

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

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


          圖1.虛擬儀器軟件

          本文引用地址:http://www.ex-cimer.com/article/196099.htm



          問:什么是測量服務(wù)軟件?

          答:可以把測量服務(wù)軟件看作I/O驅(qū)動(dòng)軟件層,然而,它不僅僅只是一個(gè)驅(qū)動(dòng)。

          測量服務(wù)是快速的應(yīng)用程序開發(fā)中最為重要的部分之一。這個(gè)軟件提供了虛擬儀器軟件和硬件之間的連通性以用于測量和控制。直觀的應(yīng)用程序編程接口(API)、儀器驅(qū)動(dòng)、配置工具、快速I/O助手和其他包含在所購買的NI硬件中的軟件是它的特色。NI測量和控制服務(wù)軟件提供了與NI硬件以及NI應(yīng)用程序開發(fā)環(huán)境(ADE)的最優(yōu)化結(jié)合。

          表1.NI-DAQmx包含了高性能的驅(qū)動(dòng)和附加軟件來提高系統(tǒng)開發(fā)效率


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

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

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


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


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

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

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

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

          圖3.多態(tài)VI簡化了NI-DAQmxAPI


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

          答:作為最新的NI測量服務(wù)軟件,NI-DAQmx支持最新的NIDAQ硬件,包括M系列插入式DAQ設(shè)備,一些最新的USBDAQ設(shè)備,以及數(shù)以百計(jì)傳統(tǒng)NI-DAQ所支持的DAQ設(shè)備。

          雖然NI-DAQmx支持許多最新的NIDAQ硬件設(shè)備,NI-DAQmx并不支持所有的NIDAQ設(shè)備。例如,傳統(tǒng)DAQ設(shè)備,如使用ISA總線(用于臺式計(jì)算機(jī))的設(shè)備,他們僅受傳統(tǒng)NI-DAQ的支持。

          欲想了解當(dāng)前NI-DAQmx所支持的設(shè)備列表,請?jiān)L問ni.com/dataacquisition/software并單擊DeviceSupport(所支持的設(shè)備),或者參看包含于NI-DAQmx之中NI-DAQmxReadme文件。


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

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

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


          問:我可以將NI-DAQmx與哪些編程語言共同使用?

          答:您可以將NI-DAQmx用于各種不同的編程語言,它們包括:
          NILabVIEW
          ANSIC
          MicrosoftVisualC++類庫(NIMeasurementStudio7或更高版本)
          MicrosoftVisualC++
          MicrosoftC#.NET
          MicrosoftVisualBasic.NET
          MicrosoftVisualBasic(Beta版)

          欲想了解更多關(guān)于使用NI-DAQmx和基于文本語言編程的信息,請?jiān)L問NI-DAQ用于文本語言編程語言和NI-DAQReadme文件。


          問:我可以將NI-DAQmx與哪些應(yīng)用程序開發(fā)環(huán)境結(jié)合使用?

          答:NI-DAQmx可以與許多最流行的ADE協(xié)同工作。一旦安裝了NI-DAQmx,您可以選擇安裝對各種ADE的支持,包括:
          NILabVIEW7或更高
          NILabVIEWReal-Time7.1或更高
          NILabWindows/CVI7或更高
          .NET語言
          NIMeasurementStudio,支持VisualC++.NET(需要MeasurementStudio7或更高)
          MicrosoftVisualC支持
          為了安裝對這些ADE的支持,請?jiān)诎惭bNI-DAQmx時(shí)選擇合適的支持。在您第一次安裝NI-DAQmx時(shí),在特性樹上將NI-DAQmx選項(xiàng)展開,然后,選擇您希望使用的API來安裝合適的支持。


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

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


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

          答:NI-DAQmx只適用于那些為MicrosoftWindows開發(fā)應(yīng)用程序并應(yīng)用的用戶。NI目前沒有計(jì)劃將NI-DAQmx擴(kuò)展到Linux和MACOSX。然而,近來這些平臺在科學(xué)和工程計(jì)算領(lǐng)域的應(yīng)用有所增長,為滿足這些需求,NI已經(jīng)開發(fā)了NI-DAQmxBASE。

          NI-DAQmxBASE將NI-DAQmx功能的一個(gè)子集提供給Windows、Linux、MacOSX和PocketPC操作系統(tǒng),并且支持大部分最流行的NIDAQ設(shè)備,包括新的低成本USBDAQ產(chǎn)品。

          請?jiān)L問ni.com/linux和ni.com/mac以獲得為Linux和MacOSX提供的最新NI產(chǎn)品。


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

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

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

          答:比較這些軟件工具的最好方式是在ni.com/dataacquisition/software上使用驅(qū)動(dòng)程序比較圖。這兒提到的是其中一些不同之處。

          雖然NI-DAQmx和NI-DAQmxBASE具有相似的API,但是這兩種API具有完全不同的體系結(jié)構(gòu)。NI-DAQmxBase是使用NI工具――NI測量硬件驅(qū)動(dòng)開發(fā)包(DDK)寫成的,這個(gè)工具用寄存器級編程的方式來定制開發(fā)驅(qū)動(dòng)。這種方式的一個(gè)好處是NI-DAQmxBase是開放的源代碼。這使得您可以打開子VI(subVI),并在LabVIEW里觀察/編輯寄存器存取情況,以及添加或修改功能。

          NI-DAQmxBASE沒有NI-DAQmx中所包含的一些軟件特性。只有NI-DAQmx才有的一些特性包括:
          DAQ助手
          用于高級DAQ任務(wù)的屬性節(jié)點(diǎn)
          多線程I/O性能

          問:在什么情況下不應(yīng)選擇使用NI-DAQmx進(jìn)行開發(fā)呢?

          答:盡管NI鼓勵(lì)您將NI-DAQmx的優(yōu)點(diǎn)充分利用到您的應(yīng)用程序中,但是在有些情況下使用NI-DAQmx是不夠理想的。

          若下列情形之一存在,請安裝并使用傳統(tǒng)NI-DAQ:
          您有一臺NI-DAQmx不支持的設(shè)備,例如一個(gè)AT(用于ISA接口)E系列多功能DAQ卡。
          您用的LabVIEW、LabWindows/CVI或MeasurementStudio版本在7.0之前。
          您正在使用VisualBasic6。
          您要從NI-DAQ6.9.x版本升級并且存在您不愿意與NI-DAQmx相連接的應(yīng)用程序。
          如果下列情形之一存在,請安裝并使用NI-DAQmxBase:
          您正在開發(fā)應(yīng)用于Linux、MacOSX或PocketPC之上的應(yīng)用程序。
          YouhaveaUSBDAQdevicesupportedonlybyNI-DAQmxBase.
          您有一個(gè)僅受NI-DAQmxBase支持的USBDAQ設(shè)備。
          如果下列情形之一存在,請安裝并使用使用MeasurementHardwareDDK:
          您正在使用寄存器級編程來開發(fā)一個(gè)自定義的驅(qū)動(dòng)程序。

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


          問:我怎樣得到NI-DAQmx?

          答:從NI購買NI-DAQmx支持所支持的硬件產(chǎn)品的話,其中會附有一張NI-DAQ光盤,它包含了最新版本的NI-DAQmx。

          您可以訪問通過瀏覽ni.com/china/daq免費(fèi)下載最新版NI-DAQmx軟件。



          NI-DAQmx引入的概念

          問:什么是DAQ助手?
          答:DAQ助手是一個(gè)基于步驟的向?qū)?,它可以使您無需編程即可配置數(shù)據(jù)采集任務(wù)、虛擬通道以及實(shí)現(xiàn)縮放操作。您可以從NI應(yīng)用軟件中啟動(dòng)DAQ助手,例如LabVIEW、LabWindows/CVI、MeasurementStudio、VILogger或MAX。

          圖5.DAQ助手支持NI所有的ADE

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

          您也可以使用DAQ助手來生成NI-DAQmx代碼,運(yùn)行您的任務(wù)和全局虛擬通道,或者把它們轉(zhuǎn)移到其他的系統(tǒng)。

          利用DAQ助手,您可以:
          創(chuàng)建和編輯任務(wù)和虛擬通道
          添加虛擬通道至任務(wù)
          創(chuàng)建并編輯量程
          測試您的配置
          保存您的配置
          在您的NI應(yīng)用軟件中生成代碼以在您的應(yīng)用程序中使用
          觀察您的傳感器的連接圖

          問:為什么我要使用DAQ助手而不使用NI-DAQmxAPI?

          答:DAQ助手建立在NI-DAQmxAPI之上,并且可以作為一個(gè)配置工具和學(xué)習(xí)工具來加快您在新的NI-DAQmxAPI上的學(xué)習(xí)速度。

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


          問:什么是NI-DAQmx任務(wù)?

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

          問:NI-DAQmx里的局部虛擬通道和全局虛擬通道有什么區(qū)別?

          答:在NI-DAQmx中,您可以將虛擬通道配置成任務(wù)的一部分或者與任務(wù)分離。創(chuàng)建于任務(wù)內(nèi)部的虛擬通道是局部虛擬通道。定義在任務(wù)外部的虛擬通道是全局虛擬通道。

          您可以在MAX或您的應(yīng)用軟件中創(chuàng)建全局虛擬通道然后將它們保存在MAX中。您也可以在任意的應(yīng)用程序中使用全局虛擬通道或把它們添加到許多不同的任務(wù)中。如果您修改了一個(gè)全局虛擬通道,這個(gè)改變將會影響所有引用該全局虛擬通道的任務(wù)。


          問:什么時(shí)候我應(yīng)該使用一個(gè)任務(wù)而不是一個(gè)全局虛擬通道?

          答:當(dāng)一個(gè)任務(wù)是具有定時(shí)、觸發(fā)和其他特性的一個(gè)或多個(gè)虛擬通道的集合時(shí)。

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


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

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

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

          欲想了解更多關(guān)于如何使用此特性以及觀看例程,請?jiān)L問http://ni.com/dataacquisition/nidaqmx.。


          問:我該如何導(dǎo)入/導(dǎo)出設(shè)備、任務(wù)、通道和縮放配置?

          答:使用MAN,您可以導(dǎo)出您系統(tǒng)的配置以作為備份或應(yīng)用至其他機(jī)器。

          使用導(dǎo)出向?qū)Э蓮南到y(tǒng)復(fù)制配置數(shù)據(jù)至一個(gè)文件。要啟動(dòng)這個(gè)導(dǎo)出向?qū)?,請?jiān)贛AX中選擇File?Export


          問:什么是屬性節(jié)點(diǎn)?

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

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

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

          對于大多數(shù)應(yīng)用程序,NI-DAQmxVI提供了所需的功能。然而,對于更高級的應(yīng)用程序,您可能需要屬性節(jié)點(diǎn)來得到較少使用的驅(qū)動(dòng)屬性和特性。


          問:我應(yīng)該怎樣過濾屬性節(jié)點(diǎn)列表?

          答:當(dāng)您第一次打開并瀏覽一個(gè)屬性節(jié)點(diǎn)時(shí),屬性列表的顯示也許會看起來令人難受。為了更容易地瀏覽這些列表,可以通過如下所示的對話窗口來利用一些過濾屬性。



          要進(jìn)入該對話框,右擊屬性節(jié)點(diǎn)并單擊SelectFilter即可。ShowAllAttributes顯示了所有NI-DAQmxAPI所支持的屬性。ShowAttributesForConfiguredDevices顯示了所有當(dāng)前已安裝并配置在您系統(tǒng)中的設(shè)備所支持的屬性。使用ShowAttributesForSelectedDevices選擇您需要為之顯示屬性的已安裝設(shè)備。

          除了過濾選項(xiàng)之外,您也可以通過LabVIEW幫助查看一個(gè)完整的設(shè)備屬性列表。為找到這個(gè)列表,單擊菜單欄的Help,并從幫助窗口所顯示的目錄表中選擇VI、FunctionHow-ToHelp。然后瀏覽至VIandFunctionReference?NIMeasurementsVIsandFunctions?DAQmxCDataAcquisitionVisandFunctions?AdditionalInformation?DeviceConsiderations?SupportedPropertiesbyDevice。


          問:什么是NI-DAQmx仿真設(shè)備?

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

          NI-DAQmx仿真設(shè)備十分有用,可用來創(chuàng)建和運(yùn)行NI-DAQmx程序,而且無需任何物理硬件的存在即可試驗(yàn)諸如DAQ助手或SignalExpress之類的工具。NI-DAQmx仿真設(shè)備在沒有真實(shí)物理硬件的時(shí)候發(fā)掘設(shè)備性能也是十分有用的。

          檢驗(yàn)使用NI-DAQmx仿真設(shè)備的任務(wù),就如同它們運(yùn)行在真實(shí)設(shè)備之上。如果某個(gè)屬性被置為無效值,返回給仿真設(shè)備的錯(cuò)誤與返回給真實(shí)設(shè)備的錯(cuò)誤是相同的。所有任務(wù)需要的資源都為NI-DAQmx仿真設(shè)備而保存。RTSI線、PXI觸發(fā)線、DMA通道、計(jì)數(shù)器等等都如同它們在真實(shí)設(shè)備上一樣被計(jì)數(shù)和保存。


          性能

          問:NI-DAQmx提供了哪些性能的提高?

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


          問:為什么NI-DAQmxCPU使用率達(dá)100%?

          答:一些用戶已經(jīng)注意到他們的DAQ處理使CPU使用率達(dá)到了100%。使用NI-DAQmx7.3版本或更早的版本,在應(yīng)用程序執(zhí)行一個(gè)讀或?qū)懻{(diào)用之中時(shí),這種情況是可能發(fā)生的。通常,過度的CPU使用在運(yùn)行其他的應(yīng)用程序時(shí)不成問題,但是對于筆記本,NI-DAQmx會消耗電池電量并且引起CPU風(fēng)扇啟動(dòng)。

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

          這一問題的最好解決方案就是使用最近發(fā)布的NI-DAQmx,如NI-DAQmx7.4。NI-DAQmx7.4改變了緩沖式讀寫操作的默認(rèn)等待模式。當(dāng)需要輪詢時(shí),NI-DAQmx在繼續(xù)讀或?qū)懖僮髦皶菝咭恍《螘r(shí)間(1ms)。與以前版本的NI-DAQmx相比,這一改變對于大部分應(yīng)用程序的性能幾乎沒有影響。然而,其他NI-DAQmx7.4版本的讀寫改進(jìn)和優(yōu)化不僅僅只是彌補(bǔ)了可能的性能損失。應(yīng)用程序升級至NI-DAQmx7.4既可以改進(jìn)性能也可以減少CPU使用率。

          如果您需要對NI-DAQmx7.4等待數(shù)據(jù)的方式進(jìn)行更多的控制,您可以選擇一個(gè)不同的休眠時(shí)間或者將讀等待模式改變成輪詢或出讓。使用出讓模式會造成與NI-DAQmx7.3相似的行為。使用輪詢方式會造成最大的吞吐量但是在同時(shí)運(yùn)行其他應(yīng)用程序的情況下并不合適。


          問:單點(diǎn)I/O性能有沒有改進(jìn)?

          答:與傳統(tǒng)NI-DAQ(Legacy)相比,NI-DAQmx幾乎在各個(gè)情形下都提供了更好的單點(diǎn)I/O性能。然而,也有些情形下,傳統(tǒng)NI-DAQ(Legacy)提供了更好的性能。

          值得一提的是,NI-DAQmx為以下應(yīng)用提供了更好的單點(diǎn)性能:
          1.用于模擬和計(jì)數(shù)通道的軟件定時(shí)讀和寫
          2.包含多通道的軟件或硬件定時(shí)讀或?qū)?

          傳統(tǒng)NI-DAQ為以下應(yīng)用提供了更好的性能:
          1.使用數(shù)字通道讀或?qū)?
          2.用于僅有一個(gè)輸入和輸出通道應(yīng)用程序的硬件定時(shí)單點(diǎn)

          注意:傳統(tǒng)NI-DAQ用戶可能不熟悉硬件定時(shí)單點(diǎn)。具體而言,這些應(yīng)用程序使用硬件定時(shí)、大小為零的緩存并且每次讀或?qū)懸粋€(gè)采樣。


          有時(shí)候,傳統(tǒng)NI-DAQ會更快,因?yàn)镹I-DAQmx比傳統(tǒng)NI-DAQ提供了更多的功能。例如,您可以任意將線和端口與NI-DAQmx數(shù)字通道連接。支持多線程和處理異常情況,如意外設(shè)備刪除等,這些都會添加一些額外開支。

          許多DAQ應(yīng)用程序需要絕對最佳的性能,NI-DAQmx團(tuán)隊(duì)也一直致力于開發(fā)可以改進(jìn)驅(qū)動(dòng)性能的新特性。


          問:狀態(tài)機(jī)是如何幫助改進(jìn)NI-DAQmx的性能的?

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

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


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


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

          磁盤I/O帶寬

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

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

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

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

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

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

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

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

          注意:一個(gè)單一的NI6115DAQ可以產(chǎn)生80MB/s的數(shù)據(jù)

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


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

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

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

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

          在一些情況下,由于采樣已經(jīng)包含不使用的位,因而沒有數(shù)據(jù)損失。例如,一個(gè)具有12位分辨率和16位采樣大小的通道包含4位不使用的位。您可以無損失地丟棄這4位同時(shí)所需磁盤空間減少的幅度達(dá)25%。

          此外,您可以配置NI-DAQmx丟棄采樣中一個(gè)或更多不重要的位。例如,您可以配置一個(gè)24位分辨率和32位采樣大小的通道而僅返回最高的20位。總共有12位被丟棄,包括8個(gè)不使用的位,這樣所需磁盤空間減少的幅度達(dá)了37.5%。


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

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

          答:有許多原因可解釋為什么要升級到NI-DAQmx。一個(gè)重要的原因是NI工程師致力于提高NI-DAQmx而不是傳統(tǒng)NI-DAQ(Legacy)的效率和性能。如果使用這個(gè)測量服務(wù)軟件的最新版本,NI-DAQmx用戶就能享受這一革新的好處。

          獨(dú)立于當(dāng)前工程師的努力之外,由于相對于傳統(tǒng)NI-DAQ(Legacy)的軟件特性優(yōu)勢,用戶可以簡單地升級到NI-DAQmx。其中一些優(yōu)勢包括:
          更好的狀態(tài)模型
          多線程驅(qū)動(dòng)
          異常情況下的可靠性
          簡化了的同步功能
          DecreasedLabVIEWdiagramclutter
          降低了LabVIEW程序的復(fù)雜度
          從簡單到高級編程的平滑過渡
          注意:欲想了解更多關(guān)于這些優(yōu)點(diǎn)及其他信息,請參閱ni.com上DeveloperZone可得的AdvantagesofNI-DAQmx指南。

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


          問:哪些資源可以幫助我把應(yīng)用程序從傳統(tǒng)NI-DAQ升級至NI-DAQmx?

          答:ni.com上的DeveloperZone包含了極好的資源,可以幫助傳統(tǒng)NI-DAQmx用戶將他們應(yīng)用程序升級至NI-DAQmx。

          第一個(gè)指南,TransitionTraditionalNI-DAQtoNI-DAQmx,表明雖然在傳統(tǒng)NI-DAQ和NI-DAQmx之間許多編程技術(shù)是相似的,但是還是有一些細(xì)微的差別。這個(gè)指南描述了每個(gè)API中最為常見的VI和功能之間的相似之處和不同之處。

          第二個(gè)指南,學(xué)會NI-DAQmx里的10個(gè)功能并解決80%的數(shù)據(jù)采集應(yīng)用程序,描述了您如何利用NI-DAQmx里的10個(gè)函數(shù)和VI來使用NI-DAQmx來代替眾多的傳統(tǒng)NI-DAQ功能和VI。這個(gè)指南闡述了如何使用這每個(gè)VI,它們構(gòu)成了NI-DAQmxAPI核心。

          對于那些希望升級至NI-DAQmx但仍希望利用當(dāng)前傳統(tǒng)NI-DAQ應(yīng)用程序來使用NI-DAQmx所支持的新硬件產(chǎn)品的用戶,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-DAQVI一樣并與現(xiàn)有的應(yīng)用程序無縫集成。在等待用NI-DAQmx重寫這些應(yīng)用程序的同時(shí),這些具有兼容性的VI被創(chuàng)建用來使用,但是您可以仍然使用僅NI-DAQmx支持的設(shè)備。用戶在使用具有兼容性的VI時(shí)應(yīng)該十分小心因?yàn)樗鼈儾⒉恢С炙性O(shè)備上的所有特性并且不保證在將來的版本中得到更新。欲想了解更多關(guān)于VI的信息,請?jiān)L問 http://ni.com 。


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


          問:我能同時(shí)使用傳統(tǒng)NI-DAQ和NI-DAQmx嗎?
          答:如果您擁有兩個(gè)DAQ設(shè)備,并且其中之一使用傳統(tǒng)NI-DAQ而另一臺使用NI-DAQmx,那么您可以同時(shí)使用傳統(tǒng)NI-DAQ和NI-DAQmx。如果您僅有一臺設(shè)備,您仍然可以既使用傳統(tǒng)NI-DAQ又使用NI-DAQmx,但是只能順序地使用――不是同時(shí)。在這個(gè)順序中,您需要重設(shè)您的設(shè)備以在傳統(tǒng)NI-DAQ和NI-DAQmx驅(qū)動(dòng)之間轉(zhuǎn)換。

          在LabVIEW中,在傳統(tǒng)NI-DAQ)序列的末端使用DeviceResetVI,在您NI-DAQmx序列的末端使用DAQmxResetDeviceVI。您仍然需要?jiǎng)?chuàng)建一個(gè)傳統(tǒng)的NI-DAQ虛擬通道和一個(gè)NI-DAQmx任務(wù)以分別使用每個(gè)驅(qū)動(dòng)。
          .



          問:對于VisualBasic6.0開發(fā)者來說應(yīng)該選擇哪一種DAQ軟件?

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


          問:沒有NIConfig.DAQ文件,我該如何在機(jī)器間轉(zhuǎn)移我的配置?

          答:您現(xiàn)在可以使用NI-DAQmx里的導(dǎo)出功能來在機(jī)器間轉(zhuǎn)移您的硬件配置。

          進(jìn)入MAX并選擇File?Export以啟動(dòng)配置導(dǎo)出向?qū)АJ褂眠@個(gè)向?qū)В梢赃x擇希望導(dǎo)出的配置并保存它們至您所選擇的用于導(dǎo)出的文件。為了導(dǎo)入配置,進(jìn)入MAX,F(xiàn)ile?Export并從配置導(dǎo)出向?qū)傻奈募袑?dǎo)入配置。

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

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

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

          傳統(tǒng)NI-DAQNI-DAQmx
          CounterGroupConfigVIDAQmxCreateChannelVI
          CounterSetAttributeVIDAQmxChannelPropertyNodeVI
          CounterSource(TIO)VIDAQmxTriggerPropertyNodeVI
          CounterSource(STC)VIDAQmxPropertyNodeVI
          CounterControlVIDAQmxStartVI
          CounterGetAttributeVIDAQmxReadVI
          CounterControlVIDAQmxStopVI

          欲想了解更多關(guān)于在NI-DAQmx里寫入計(jì)數(shù)器應(yīng)用程序的幫助信息,請參閱ni.com上DeveloperZone的TransitionTraditionalNI-DAQtoNI-DAQmx技術(shù)指南。


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

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

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



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

          答:您依舊可依在MAX中通過選擇NI-DAQmxDevices、右擊SCXI機(jī)箱并選擇Properties來設(shè)置SCXI模塊屬性。您可以看到每個(gè)安裝在機(jī)箱中的模塊并且您可以通過單擊詳細(xì)信息來設(shè)置每個(gè)模塊的屬性。

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


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

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

          問:使用NI-DAQmx我該如何完成遠(yuǎn)程數(shù)據(jù)采集(RDA)?

          答:NI-DAQmx不提供RDA特性。要想遠(yuǎn)程控制您的DAQ設(shè)備,您可以使用LabVIEW7或更高版本里的遠(yuǎn)程前面板特性。利用這一特性,您可以通過因特網(wǎng)遠(yuǎn)程控制DAQ應(yīng)用程序。


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

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

          2005NationalInstruments公司。版權(quán)所有:CVI、DAQCard、LabVIEW、MeasurementStudio、NI、ni.com、NI-DAQ、RTSI、SCXI和SignalExpress。

          c++相關(guān)文章:c++教程


          pid控制器相關(guān)文章:pid控制器原理


          熱電偶相關(guān)文章:熱電偶原理


          關(guān)鍵詞: NI-DAQmx NI-DAQ

          評論


          相關(guān)推薦

          技術(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); })();