NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

アナログ出力タスク終了後の出力に関して

こんにちは。
シモグチと申します。
NIDAQmxシリーズのPCIボードの出力に関して質問がございます。
 
私は現在NI-6251タイプのPCIボードのNI-DAQmx関数の
DAQmxWriteAnalogF64を用いてアナログ出力を行っているのですが、
タスクを終了したにも関わらず一番最後の出力が出続けてしまいます。
 
例えば出力するサンプル数が10000個だったとき、最後の10000個目の
サンプルのデータがタスク終了後も出力され続けるといった具合です。
 
タスク終了後に(もちろん決められたサンプル数を出力後にも)出力を止めるには
どうしたら良いのでしょうか。
 
非常に基本的な質問で恐縮なのですがよろしくお願い致します。
0 件の賞賛
メッセージ1/3
4,643件の閲覧回数

私はDAQmxを使用したプログラミングを行なわないので、詳細を述べることができませんが、今までの経験上のお話をします。

質問の内容は、アナログ出力を終了したら、アナログ出力が0Vになるようにしたいということであると思います。

DAQmx以前の関数を使用したときの話になりますが、アナログ出力の命令が終了後のアナログ出力の値は、最後の出力命令の値を保持し続けるはずです。パソコンの電源を切るか、DAQボードをリセットしない限り、最後の出力命令の値を出力し続けます。これを停止させるには、最後の出力値を0Vとして与えるか、または別途アナログ出力の命令を記述して0V出力命令を行なうか、またはリセット命令を実行することになります。

DAQmxの場合も、DAQボードに対して特定のタスクを作成して、一連の実行を行ないます。このソフトウェア的な一連の動作を開放してあげる動作がタスクのクリアであり、DAQボードに対してハードウェア的なクリアの命令を送るものではないと思います。したがって、別途、最後の出力値を0Vとして与えるか、または別途アナログ出力の命令を記述して0V出力命令を行なうか、またはリセット命令を実行することになるでしょう。

 

0 件の賞賛
メッセージ2/3
4,633件の閲覧回数

そうですか、DAQmx以前の関数の実行でも最後の出力が保持されるのですか。

やはり別途0Vのアナログ出力の命令を出す方法が良さそうですね。

ありがとうございます。大変参考になりました。

また下らない質問をすることもあるかもしれませんが、

そのときもまたよろしくお願いいたします。

0 件の賞賛
メッセージ3/3
4,601件の閲覧回数