05-14-2021 03:41 AM
NI-VISAがインストールされているパソコンに計測ソフトもインストール
されており、ローカル・ループバックを使用して計測ソフトを制御しよう
としています。
まずは正常に通信が出来るかを簡易的に確認するため、NI-MAXを使いました。
ConfigurationのEnable Termination Charactorにチェックを入れて
「*IDN?\n」を送信したところ、正常にデータも受信することができました。
ConfigurationのEnable Termination Charactorにチェックを外して
「*IDN?\n」を送信したところ、タイムアウトエラーになります。
上記のより機器の通信環境は問題が無いようです。
次にNI-VISAのサンプルプログラム「SimpleReadWrite」を起動し、
「*IDN?\n」を送信したところタイムアウトエラーが出てしまいます。
他のコマンドを送信した場合は、計測ソフトは正常に設定されている
ので、コマンドは送信できているようです。
受信時にタイムアウトエラーが出ないようにするには、何か設定を
する必要はありますでしょうか?
添付の画像もご参考にしてください。
よろしくお願いいたします。
解決済! 解決策の投稿を見る。
05-15-2021 12:10 AM
問題が解決したので、解決方法を載せておきます。
NI-VISAのサンプルプログラムのポートをOPENする関数の最後に以下の
コードを追加しました。(このサンプルプログラムはVBです)
mbSession.Timeout = 5000 'タイムアウト時間の設定
mbSession.TermibationCharacter = 10 '終端文字の選択 10はvbLf(\n)
mbSession.TermibationCharacterEnabled = 1 '終端文字の有効無効 1:有効、0:無効
これで、受信時にタイムアウトエラーが出なくなりました。
Timeoutの設定は5秒(5000)じゃなくても大丈夫です。