第一個參數是欲建立的波道,可以使用程式畫面上的某個控制項的內容來作為輸入,例如使用一個名為cmbChannel的ComboBox控制項
第二個參數是虛擬波道的名稱,以字串表示,如果不給的話,系統將自動設定(通常給定空字串即可)
第三個參數指定訊號接線的方式,它支援四種不同的訊號接線方式,以AITerminalConfiguration列舉表示,可使用的列舉內容如下
成員名稱 | 說明 |
Differential | 差動式輸入. |
Nrse | 無參考式單接點 |
Pseudodifferential | 擬差動式輸入 |
Rse | 有參考式單接點 |
第四個和第五個參數是此虛擬波道將量測的數值範圍,可以使用表單上的二個NumericalUpDown元件用來選擇輸入的電壓範圍,即是將選擇後的數值填到這二個參數的位置。當確定所量測的電壓範圍,只需要將數值設定在所需的範圍即可,這樣可以有效地增加系統可量測的最小電壓數值。
第六個參數是量測電壓單位,以AIVoltageUnits列舉表示,此列舉的內容如下
成員名稱 | 說明 |
FromCustomScale | 使用者指定的刻度 |
FromTeds | 使用TEDS定義的資訊 |
Volts | 使用電壓 |
將參數給定後,系統就會依參數的內容設備硬體。
接下來,我們介紹讀取器(Reader)的概念:
之前建立Task是一個執行工作的任務物件,而取得的AD資料就放在這個物件的Stream屬性裡面,如果想取得裡面的資料,就得使用讀取器。讀取器類別有二類,依不同的波道,分為AnalogSingleChannelReader和AnalogMultiChannelReader;使用AnalogSingleChannelReader類別可以建立單波道的讀取器物件,而使用AnalogMultiChannelReader則可以建立多波道的讀取器物件。例如讀取單波道的資料,程式的寫法可以如下
除了可以如上般地取單一數據外,該類別另外還有其他的方法可用,如下表所列
善用不同的方法,可以應用到不同的範圍,以得到不同的應用數據結果。
接下來,我們介紹讀取器(Reader)的概念:
之前建立Task是一個執行工作的任務物件,而取得的AD資料就放在這個物件的Stream屬性裡面,如果想取得裡面的資料,就得使用讀取器。讀取器類別有二類,依不同的波道,分為AnalogSingleChannelReader和AnalogMultiChannelReader;使用AnalogSingleChannelReader類別可以建立單波道的讀取器物件,而使用AnalogMultiChannelReader則可以建立多波道的讀取器物件。例如讀取單波道的資料,程式的寫法可以如下
物件名稱是reader,以New建立後,再使用ReadSingleSample方法取得單一數據。1: reader = New AnalogSingleChannelReader(ADTask.Stream)2: Dim data As Double = reader.ReadSingleSample()
除了可以如上般地取單一數據外,該類別另外還有其他的方法可用,如下表所列
方法 | 說明 |
BeginMemoryOptimizedReadWaveform | 開始非同步的方式讀取類比波道的數據波形 |
BeginReadMultiSample | 開始非同步的方式讀取類比波道的多筆數據 |
BeginReadSingleSample | 開始非同步的方式讀取類比波道的單筆數據 |
BeginReadWaveform | 開始非同步的方式讀取類比波道的數據波形 |
EndReadMultiSample | 非同步多筆取樣完成後應執行的函式 |
EndReadSingleSample | 非同步單筆取樣完成後應執行的函式 |
EndReadWaveform | 非同步波形取樣完成後應執行的函式 |
MemoryOptimizedReadWaveform | 讀取波形數據 |
ReadMultiSample | 讀取多筆資料 |
ReadSingleSample | 讀取單筆資料 |
ReadWaveform | 讀取波形資料 |
善用不同的方法,可以應用到不同的範圍,以得到不同的應用數據結果。
沒有留言:
張貼留言