NI製品ディスカッション

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

NI-VISAでRead時にタイムアウトが出る

解決済み
解決策を見る

NI-VISAがインストールされているパソコンに計測ソフトもインストール
されており、ローカル・ループバックを使用して計測ソフトを制御しよう
としています。
まずは正常に通信が出来るかを簡易的に確認するため、NI-MAXを使いました。
ConfigurationのEnable Termination Charactorにチェックを入れて
「*IDN?\n」を送信したところ、正常にデータも受信することができました。
ConfigurationのEnable Termination Charactorにチェックを外して
「*IDN?\n」を送信したところ、タイムアウトエラーになります。
上記のより機器の通信環境は問題が無いようです。

 

次にNI-VISAのサンプルプログラム「SimpleReadWrite」を起動し、
「*IDN?\n」を送信したところタイムアウトエラーが出てしまいます。
他のコマンドを送信した場合は、計測ソフトは正常に設定されている
ので、コマンドは送信できているようです。
受信時にタイムアウトエラーが出ないようにするには、何か設定を
する必要はありますでしょうか?

 

添付の画像もご参考にしてください。

 

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

 

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

問題が解決したので、解決方法を載せておきます。

NI-VISAのサンプルプログラムのポートをOPENする関数の最後に以下の

コードを追加しました。(このサンプルプログラムはVBです)

 

mbSession.Timeout = 5000          'タイムアウト時間の設定
mbSession.TermibationCharacter = 10     '終端文字の選択 10はvbLf(\n)
mbSession.TermibationCharacterEnabled = 1  '終端文字の有効無効 1:有効、0:無効

 

これで、受信時にタイムアウトエラーが出なくなりました。

Timeoutの設定は5秒(5000)じゃなくても大丈夫です。

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