NI製品ディスカッション

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

4チャンネルのデジタル出力について

初めて投稿させていただきます、よろしくお願いします。

現在、LabVIEW2014を使い始めたばかりなのですが、以下のような動作をLabVIEWで考えています。

 

NI myDAQをLabVIEWで制御して任意のデジタル波形をDAQアシスタントを用いて4チャンネル分出力をしたいと考えています。サンプルコードなどを調べると1チャンネルのデジタル出力はありますが、4チャンネルのデジタル出力の方法は見当たりません。

 

どなたか参考になるプログラムや解決策を教えていただけないでしょうか?

よろしくお願いします。

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

Duplicated sorry....

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/8
3,839件の閲覧回数

 

 

DAQアシスタントであれば、下記の設定後4つの要素を持つブール配列をDAQアシスタントに入力します。 

DO.gif

 

 

個人的には、DAQアシスタントを使用しないほうが、柔軟性の高いアプリケーションが作成できます。

C:\Program Files\National Instruments\LabVIEW 2014\examples\DAQmx\Digital Output\Digital - SW-Timed Output.vi

が最もシンプルなサンプルです。

 

Dev1/port0/line0:1の記述をDev1/port0/line0:3のようにして、

「書き込むデータ」のブール配列を4個有効にして(非グレーアウトにして)実行してみてください。

 

example.png

 

 

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ3/8
3,836件の閲覧回数

ご返答ありがとうございます。実際に試してみようと思います。

 

追加で質問させて頂きたいのですが、このデジタル出力の周波数を変えたい場合にはどうすればよいでしょうか?また、DAQアシスタントを使わない場合はどのようなプログラムになりますか?(VIの写真などを添付していただけると助かります。)

 

お手間を取らせて申し訳ありませんが、ご教授いただけないでしょうか?

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

myDAQのDIOはソフトウェアタイミングのため、精度の高い周波数設定はできません。

http://www.ni.com/pdf/manuals/373061f.pdf

"Update mode .....................................................Software-timed"

 

周波数は、DAQアシスタントを呼び出すループのループレートによって決まりますが、

PCの負荷によるジッタが存在し得ます。

 

DAQアシスタントを使用しないプログラムは、先にご紹介した通りです。daq.png

 

 

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ5/8
3,821件の閲覧回数

早々にご返答ありがとうございます。

 

教えて頂いたプログラムを試してみましたが所望する動作を得られませんでした。

最終的に私が行いたいことは3.3V.png

このような同期のとれた波形をデジタル出力し、周波数も変えることを目指しています。

しかし、myDAQでは精度の高い周波数設定ができないならば図のような動作を実現することは不可能なのでしょうか?

0 件の賞賛
メッセージ6/8
3,801件の閲覧回数

まず、ハードがソフトウェアタイミングであることの懸念点を理解されたほうがよいと思います。

Accuracy of Software-Timed Applications in LabVIEW

デジタル出力の更新はソフトウェアタイミングで行われるので、精度は最小1msecです。

しかしソフトウェアはジッタがあるため、1mが2mや5mになることもあります。

すなわち1kHz設定の周波数が900Hzになったり1100Hzになったりし得ます。

逆に周波数が低くてもよければ、それらのジッタは無視できるかもしれません。

 

どうしてもmyDAQで精度のよいパルスが欲しければカウンタ機能を使って下さい。

ただし1chしかありません。

How Do I Use the NI myDAQ Counter?

デジタルでPWMするようなサンプルもありますが、個人的には精度が見込めないためあまりお勧めしません。

 Software Timed Pulse Width Modulation

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ7/8
3,792件の閲覧回数

ご返答ありがとうございます。

 

myDAQの仕様をあまり理解せず質問をしてしまい、自分の勉強の足りなさがわかりました。

引き続きLabVIEWの勉強をしていきたいと思います。

 

今回はいろいろとアドバイスをしてくださり本当にありがとうございました。

 

 

 

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