NI製品ディスカッション

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

USB-6008 アナログ出力の電圧をVB6で設定

解決済み
解決策を見る

NI USB-6008

Visual basic SP6 (WIndows7 64)

アナログ出力のチャンネル0に指定の電圧を発生させたい

 

まず、サンプルプログラムのCont Gen Volt Wfm-Int Clkを試すと、エラーコード -200077が返ります。

過去の質問を参考に、さらにシンプルな以下のコードの付いたボタンを追加して試しましたが、同様にエラーコード -200077が返ります。


DAQmxErrChk DAQmxCreateTask("", taskHandle)

DAQmxErrChk DAQmxCreateAOVoltageChan(taskHandle, physicalChannelTextBox.Text, "aoChannel", minValueTextBox.Text, maxValueTextBox.Text, DAQmx_Val_VoltageUnits2_Volts, "")

DAQmxErrChk DAQmxGetTaskNumChans(taskHandle, numChannels)
DAQmxErrChk DAQmxWriteAnalogScalarF64(taskHandle, True, 10, amplitudeTextBox.Text, ByVal 0&)

 

電圧は”2.00”Vです。

最後の部分でエラーになります。

 

どこが間違っているのでしょうか。ご教授頂けると助かります。

よろしくお願いいたします。

0 件の賞賛
メッセージ1/4
3,285件の閲覧回数
解決策
受理者 フィル

0-5Vの間ではエラーは出ないと思います。USB-6008のアナログ出力レンジは0-5Vです。

 

http://home.hit.no/~finnh/videos/topics/labview_analog_io/371303.pdf

(14ページ目をご覧ください)

 

今後なんらかのエラーが出る場合、Google検索などで「DAQmx 200077 error」という風に調べるとエラーの原因が引っかかる可能性があります。実際この検索で以下のページを見つけまして、もしかして出力レンジ外の値ではと思いました。

 

http://digital.ni.com/public.nsf/allkb/0E497BE24CD123F286256EB00066E2C9

 

 

追記:2Vを渡していらしたのですね。それではレンジ内ということで上記はまったくあてはまりません。早とちりしてすいません。。

TailOfGon
Certified LabVIEW Architect 2013
メッセージ2/4
3,283件の閲覧回数

VBの記述が不慣れなので見当違いかもしれないのですが、DAQmxWriteAnalogScalarF64に与えている電圧値としてamplitudeTextBox.Textを与えていますが、これはちゃんと数値として認識されているのでしょうか?

 

試しに値で定数の1などを与えても同じエラーが出ますでしょうか?

 

DAQmxErrChk DAQmxWriteAnalogScalarF64(taskHandle, True, 10, 1 ByVal 0&)

TailOfGon
Certified LabVIEW Architect 2013
0 件の賞賛
メッセージ3/4
3,277件の閲覧回数

TailOfGon 様

 

早々のアドバイスをありがとううございました。お蔭様で解決しました。

MaxとMInの値が、+10, -10 となっていたのが原因でした。

DAQmxCreateAOVoltageChan ではエラーが出ず、その後の DAQmxWriteAnalogScalarF64 で(5V 以下の値でも)、ここでエラーが出るのですね。

助かりました。

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