VisualStudio 2005のC#で、PCI-6250を利用して、内部クロックで、ア
ナログ入力するプログラムを作成しています。内部クロックが16Hz、サン
プリング点数が96点なので、サンプリングには、約6秒かかるはずですが、
以下のプログラムだと、瞬時にサンプリングが終了して、結果も返ってき
ます。(値の検証はまだしていません)何処が悪いのでしょうか?
なお、対象のフレームワークは、.NET Framework 2.0です。
--- プログラム ----
// AIタスクを作成する。
Task aiTask = new Task();
try {
string sch = "Dev1/ai0:7";
// AIチャネルを作成する。
aiTask.AIChannels.CreateVoltageChannel(sch, "", AITerminalConfiguration.Differential,
-5.0, 5.0, AIVoltageUnits.Volts);
// サンプリング点数
int SampleCount = 96;
// 内部クロック
string sClockSource = string.Empty;
double SampleRate = 16.0;
// AIサンプリングクロックを設定する
aiTask.Timing.ConfigureSampleClock(sClockSource, SampleRate, SampleClockActiveEdge.Rising, SampleQuantityMode.FiniteSamples, SampleCount);
aiTask.Stream.ReadAutoStart = false;
aiTask.Control(TaskAction.Verify);
AnalogMultiChannelReader aiReader = new AnalogMultiChannelReader(aiTask.Stream);
aiTask.Start();
while (! aiTask.IsDone) {
}
double[,] aiData = aiReader.ReadMultiSample(SampleCount);
aiTask.Stop();
aiTask.Dispose();
FAiData = aiData;
return 0;
} catch (Exception ex) {
// AIタスクが残っていれば、リセットする。
if (aiTask != null) {
aiTask.Dispose();
}
throw ex;
}
}