目標
介紹在不同軟件平臺上使用MCC數據采集設備獲取模擬波形。
適用人群
需要實時數字化模擬波形的數據采集系統開發人員,并希望理解其在不同軟件環境下如何實現波形的獲取。
概述
對于變化十分緩慢的模擬現象,以極低頻率采樣信號綽綽有余。采樣時間間隔的變化是可接受的,因為獲取信號的當前狀態是主要需求。這種情況下,對每路AI通道進行十分簡單的“軟件輪詢”或許可以滿足。然而如果信號隨時間流逝改變迅速,或用戶對信號的頻率成分感興趣,則需要更快的A/D采樣。實際上,不僅需要更快的采樣,統一且控制良好的采樣間隔也很重要。
MCC的AI DAQ設備包含板載定時電路,統一調節來自單通道或多通道AI的讀數。MCC DAQ設備也包含板載存儲器,用來排列數據并通過接口總線(通常為USB)周期性傳輸有效大小的數據包。與DAQ硬件配合使用的MCC軟件驅動接收數據包,將它們一起捆綁至存儲器中的較大緩存區,從而保證高級編程語言用戶能獲取這些數據和狀態。
應用程序開發人員希望從AI采樣時長與數據訪問需求的角度理解項目。簡言之,我需要多長的采樣時間與我需要在收集中還是收集完畢之后訪問數據。最簡單的情況是在較短時間內收集數據,并且收集完畢后再處理數據。對該情況進行延伸,開發人員可能需要在收集過程中開始處理數據---例如要為操作者提供實時顯示。這種情況下,開發人員要在新數據不斷填充的同時訪問數據緩存區。MCC在Background模式下提供對此類操作的支持。最復雜的情況是收集時間十分長。由于計算機內存有限,此時一個循環緩存區是必要的。隨著新數據不斷進入,應用程序必須能完成所需的運算、顯示亦或需要將結果記錄至硬盤并保證高效跟進。雖然這不是本文檔的重點,但MCC軟件驅動在Continuous模式下支持這種高級需求。
對于非連續掃描,無論使用哪種軟件平臺,都需要指定以下信息:
AI通道數
收集的采樣點數
時鐘頻率
輸入范圍
存儲數據的緩存區
除A/D數據外,錯誤代碼也會被返回。
以下示例展示了如何使用Universal Library?,UL for Android?,NI LabVIEW?,DASYLab?和DAQami實現非連續掃描。
Universal Library通用庫范例
以下示例介紹如何使用Universal Library和Visual Basic實現非連續掃描:
LowChan = 0
HighChan = 0 '從通道0采集數據
Count = 50000 '定義采樣點數
Rate = 50000 '定義每通道采樣率
Range = MccDaq.Range.Bip10Volts ‘定義信號輸入范圍:+/- 10V
ULStat = DaqBoard.AInScan(LowChan, HighChan, Count, Rate, Range, MemHandle, Options)
采樣數據返回至所提供句柄處PC存儲器中的緩存區,同時錯誤代碼作為ULStat數值返回。然后我們將緩存區中的數據復制到本地程序數組中,命名為ADData:
ULStat = MccDaq.MccService.WinBufToArray(MemHandle, ADData, FirstPoint, Count)
至此,為保證高效,數據已經以數字格式傳輸并存儲。我們可以使用以下UL函數將其轉化為電壓:
ULStat = DaqBoard.ToEngUnits(Range, ADData(0), EngUnits)
UL for Android
以下示例介紹如何使用UL for Android和Java實現非連續掃描:
lowChan = 0;
highChan = 0; //從通道0采集數據
mode = ChannelMode.SINGLE_ENDED; //定義通道信號連接模式:單端模式
range = Range.BIP10VOLTS; //定時輸入信號范圍:±10V
samplesPerChan = 50000; //定義每通道采樣數
rate = 50000; //定義每通道采樣率
mUnit = AiUnit.VOLTS; //定義電壓單位actualScanRate = mAiDevice.aInScan(lowChan, highChan, mode, range, samplesPerChan, rate, options, mUnit, mScanData);
通過調用aInScan()函數收集數值。數據被返回到mScanData數組中。
NI LabVIEW
以下示例介紹如何使用LabVIEW實現非連續掃描。接線圖顯示了相關VI和設置。硬件設備#0的第一個通道(AiO)被請求以50000Hz的頻率返回50000個采樣點,期望范圍為 -10 V 到 +10 V。最終電壓數據可以Measurement Array的形式獲取。

DASYLab
非編程人員可以考慮使用一種軟件包,它能十分輕松地收集、顯示并存儲波形數據。其中一種受歡迎的軟件包是DASYLab。
以下工作表示例演示了如何將Analog Input模塊的輸出連接至 Y/t Chart Display模塊。采集到的電壓波形可在圖表顯示中查看。

雙擊Analog Input模塊會打開對話框,您可以根據需求啟用通道,選擇輸入范圍并指定采樣率。

DAQami
以下示例展示了DAQami采集界面,您可以設置采樣率與采樣次數。

最終數據被繪制于DAQami顯示頁面:
