NI製品ディスカッション

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

VISA read で値が返ってこない

解決済み
解決策を見る

初めて質問させていただきます.

現在トルクメーターでモーターのトルクの値をLabVIEWを使用して測定しようと考えています.

トルクメーターは小野測器のTS-3200A(https://www.onosokki.net/PDFs/TS3200A-E_Ver1.2.pdf)

を使用しています.またトルクメータとPCを接続するのにAgilent 82357B USB/GPIBインターフェイスを使用しています.

NI MAXのVISAテストパネルにおいては1つ目の画像の様に書き込み,読み取りができます(トルクを読み取るコマンド:RLD1).しかし,LabVIEW上では2つ目の画像の様に,read bufferの所に何も出てこないです.書き込むだけのコマンド(トルクメータのディスプレイの表示の変更,設定の変更)は確認することができました.また,2つ目の画像を実行するとエラーは出ませんでした.

すべてをダウンロード
0 件の賞賛
メッセージ1/11
3,901件の閲覧回数

どうしてreadの値が返ってこないのか教えていただきたいです.


@yamayamata さんは書きました:

初めて質問させていただきます.

現在トルクメーターでモーターのトルクの値をLabVIEWを使用して測定しようと考えています.

トルクメーターは小野測器のTS-3200A(https://www.onosokki.net/PDFs/TS3200A-E_Ver1.2.pdf)

を使用しています.またトルクメータとPCを接続するのにAgilent 82357B USB/GPIBインターフェイスを使用しています.

NI MAXのVISAテストパネルにおいては1つ目の画像の様に書き込み,読み取りができます(トルクを読み取るコマンド:RLD1).しかし,LabVIEW上では2つ目の画像の様に,read bufferの所に何も出てこないです.書き込むだけのコマンド(トルクメータのディスプレイの表示の変更,設定の変更)は確認することができました.また,2つ目の画像を実行するとエラーは出ませんでした.


 

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

この手の話はDFを最も賑わせているのではないでしょうか。

 

まず終端文字列が設定されていないようなので、確認してください。

LabVIEWで終端文字をVISAシリアル書き込みの際に追加する方法

 

 

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

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

Emboarさん

返信ありがとうございます.

使用しているトルクメータの仕様書より終端文字がCR+LFであったので

キャプチャ3のように設定したのですがプロパティノードの所でエラーが出てしまいます.

ASRL End Outを付けたすとエラーが出ます.

そのときのI/Otraceした画像をキャプチャ4です.

またNI MAXのVISAテストパネルのI/Otraceがキャプチャ1で

最初に質問させていただいたときのI/Otraceがキャプチャ2となっています.

すべてをダウンロード
0 件の賞賛
メッセージ4/11
3,863件の閲覧回数
解決策
トピック作成者yamayamataが受理

GPIBで接続されているのですね。それでしたらそのプロパティは使用できません。

 

プロパティノードは削除して、VISA書き込み関数に配線された文字列定数の、

表記をエン表記にして、「ABC\r\n」のように、"\r\n"を最後に追記して見てください。

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

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

Emboarさん

その方法も試してみたのですが

エラーは出ませんが

read bufferには何も表示されませんでした

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

byte countをたとえば"1"にしてみてください。

1024バイトデータが来るのを待ってしまっているのかな。。。

 

通常GPIBはEOIを用いて送信の停止を知らせるはずなのですが

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

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

Emboarさん

今までと同様に

エラーは出ませんが

read bufferには何も表示されませんでした.

VISAのテストパネルでトルクを読み取るコマンド(RLD1)をクエリしたときと

LabVIEWにおいて同様のコマンドを実行したときの

I/Otraceのプロパティシートを添付します.

まずキャプチャ1~3までがvisaのテストパネルでクエリしたときのwrite

キャプチャ4~6までがvisaのテストパネルでクエリした時のread

キャプチャ7~9までがLabVIEWで実行したときのwrite

キャプチャ10,11がLabVIEWで実行したときのreadです

LabVIEWで実行したときreadにバッファがありませんでした.

 

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

キャプチャ11が添付しきれなかったので

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

Emboarさん

問題が解決しました.

LabVIEW上のブロックダイアグラムウィンドウにて,

VISA readの設定で同期I/Oモードの所でデフォルトで非同期となっていたのを

同期に換えたらread Bufferに値が出るようになりました.

質問に答えてくれてありがとうございました!

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