NI製品ディスカッション

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

DOでトリガーを出力したいのですが手順が分かりません

PCI-6250でDAQmxのC APIを使用しています。
DOを使用して任意のタイミングで1msecのトリガー(※1)を1回だけ出力したいのですか可能でしょうか?
※1)通常はHigh、1msecの間だけLowになるトリガー

 

C APIで実装する方法を知っていれば教えて頂けないでしょうか。よろしくお願いします。

 

0 件の賞賛
メッセージ1/5
1,739件の閲覧回数

DAQmxインストール時に「C言語サポート」などという項目があった気がします。該当項目をインストールすると以下のフォルダにサンプルがあるはずです。

 

C:\Users\Public\Documents\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Digital\Generate Values\Write Dig Chan

0 件の賞賛
メッセージ2/5
1,607件の閲覧回数

連絡、ありがとうございます。

DO出力は出来るのですが、1msceという正確な時間で出力できません。NIボードの内蔵タイマー等を使用して
正確に1msecの間だけLowレベルにする必要があります。

サンプルを探しても正確な時間だけ1ショット出力するものを見つける事が出来ませんでした。

0 件の賞賛
メッセージ3/5
1,563件の閲覧回数

正確な時間で、ということは、ソフトウェア的に出力タイミングを決めるのではなく、ハードウェア的に出力を決めることになるかと思います。

LabVIEWであれば、「DAQmx timing」という関数を使用すればハードウェア的なタイミングになると思うのですが、Cだと

DAQmxCfgSampClkTimingが対応しそうですね。

 

すいません、Cのプログラミングに疎いのでコードはかけないのですが、LabVIEWであれば、

「チャンネルを生成して、タイミングを決めて、タスクを開始する」

という流れでプログラムを組みます、そしてその流れはCでも変わらないと思います。

 

以下の資料にある「タイミングパラメータを構成する」は参考になりませんか?

 

テキストベースのプログラミング環境でNI-DAQmxを使用する - National Instruments
http://www.ni.com/tutorial/5409/ja/

0 件の賞賛
メッセージ4/5
1,524件の閲覧回数

アドバイス、ありがとうございます。
DAQmxCfgSampClkTimingを使用して実装できるか調べてみます。

 

0 件の賞賛
メッセージ5/5
1,514件の閲覧回数