NI製品ディスカッション

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

USB-6008 デジタル出力の繰り返しで毎回リセットされる

LabVIEW7で添付のようなプログラムを作成し、DAQmx7.5でUSB-6008をコントロールしようとしています。

これで、dataをTrueにした状態でプログラムを実行させると、出力が一瞬LowになってからHighになります。

これにWhileLoopを適用して6008への命令を繰り返させたとき、dataがFalseの間は問題ありませんが、Trueにすると

6008にTrueが指示される直前に一度Falseになるため当該ラインに接続されたデバイスがON-OFFを繰り返してしまいます。

一方、LabVIEW2009とDAQmx9.3との組み合わせなら、おなじ構成のプログラムでもこのような問題は起こりません。

WhileLoopで6008へFalse命令を繰り返している状態からTrueに切り替えても、出力は一度Highに切り替わりLowに

戻ることはありません。

6008、あるいはDAQmxの設定やバージョンに問題があるのでしょうか?

 

添付のプログラム(ダイヤグラムのイメージ)

仮想チャネルを作成して、ラインを指定し、デジタル出力をブールでコントロールするものです。

 

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

Cm7 さん

 

こんにちわ!ハードウェアの問題ではなく、ドライバ・ソフトウェアっぽぃですね。
別PCにLabVIEW7とDAQmx7.5入れても同じか試してみるといいかもしれません

 

結構古いバージョン使ってますね!基本的な組み方は同じはずだけど、、
8.xや2009以降と比べると使いづらくないですか?

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

lonestarさん

反応ありがとうございます。

 

私も原因はドライバソフトで、一瞬"入力モード"になっているように思われます。

現在調べている回路は、デジタル出力をトランジスタのベースとエミッタに直接つなげたものです。

トランジスタの入力に抵抗を挿入してベース電流を制限することで解決できました。

 

以下は、蛇足ながら想像です。

MAXのテストパネルで、デジタルチャンネルの動作を見るとき、4.0では開始・停止がありません。

4.8にはあります。古いDAQmxでは、ハードウエアをアクティブにしたときに、まず"入力"に

なってしまうように思います。つまり、負荷の抵抗値が低いときはデジタル入力がLOWだと。

でも負荷がトランジスタなので、LOWとは言え0.7Vぐらいになります。

だからトランジスタの入力としてはHIGH状態で出力もLOWになってしまう。

ソフトウエアがアウトプットモードでLOWにすることになっていても、一瞬HIGHなってしまうと

考えられます。よって抵抗を入れることでトランジスタのベース電流を制限したつもりです。

 

ちなみに、DAQmxを8.01に変えても同じでした。

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