|
さまざまな操作(アナログ入出力、デジタル入出力、カウンタ入出力)をおこなっており、それぞれに適したデータ転送方法を選択したいです。データ転送でDMAチャンネルおよび割り込み要求をおこなうにはどのように構成すれば良いですか?
NI-DAQmxを使用する場合
LabVIEW API
図1. アナログ入力の構成例
操作タイプにより関数が異なります。たとえば、アナログ入力タスクでデータ転送方法を設定したい場合は、以下のように呼び出します。
DAQmxSetAIDataXferMech( TaskHandle taskHandle, const char channel[ ], int32 mode);
引数のmodeは、以下の4つの値から1つを選択することができます。
詳細については、NI-DAQmx C Reference Helpを参照してください。NI-DAQmx C Reference Helpは、スタート » すべてのプログラム » National Instruments » NI-DAQ » NI-DAQmx C Reference Helpにあります。
.NET API.NET呼び出しも操作タイプにより異なります。操作タイプがアナログ入力の場合は、以下のように呼び出します。
Task.AIChannels.All.DataTransferMechanism = Mode
Modeは、以下の4つの値から1つを選択することができます。
図2. 従来型DAQの構成例
従来型DAQでデータ転送方法を変更するには、以下のように呼び出します。
Set_DAQ_Device_Info( deviceNumber, infoType, infoValue )
infoTypeのパラメータは、操作タイプにより関数が異なります。たとえば、アナログ入力でデータ転送方法を変更したい場合は、以下のように呼び出します。
Set_DAQ_Device_Info( deviceNumber, ND_DATA_XFER_MODE_AI, infoValue )
infoValueパラメータは、EシリーズPCIデバイスを使用している場合なら2つの値から1つを選択することができます。
詳細については、Traditional NI-DAQ Function Reference Helpを参照してください。Traditional NI-DAQ Function Reference Helpは、スタート» すべてのプログラム » National Instruments » NI-DAQ » Traditional NI-DAQ Function Reference Helpにあります。
KB 430FRH7E: 複数のカウンタを使用する際に、エラー「-200251」が発生します。
KB 23GF01Q1: ローコストEシリーズマルチファンクションDAQボードがDMA競合してしまう。
NI Developer Zoneチュートリアル: Programming Interrupts for DOS-Based Data Acquisition on 80x86-Based Computers
KB 0I5924EO: DMA、IRQとは何でしょう。GPIBでどのように使われているのでしょう。
|