ホーム
サポート
エラー -1073807298: VISA読み取り/書き込み後にエラーが発生する
エラー -1073807298: VISA読み取り/書き込み後にエラーが発生する
更新しました Jul 8, 2022
使用製品
使用製品とは、この記事で説明されている解決策で動作することが確認された製品を示しています。この解決策は、他の同様の製品やアプリケーションにも適用される可能性があります。
ドライバ
NI-VISA
問題
NI-VISAを使用して計測器に書き込みを試みていますが、
エラー -1073807298(Hex 0xBFFF003E)が不明位置で発生
し続けます。なぜエラーが発生するのですか?回避策はありますか?
解決策
コード内で開いているVISAセッションリファレンスがすべて閉じるようにしていることを確認します。VISAを使用したほとんどのLabVIEWコードは、以下の手順を行います。
VISAリファレンスを開きます。
読み取りと書き込みを実行します。
VISAリファレンスを閉じます。
このコード構造の例については、
ヘルプ>>サンプル
を検索からLabVIEWのサンプルプログラム
Simple Serial.vi
を参考にしてください。
デバイスのI/Oポート(Modbus I/O、I/Oサーバなど)を妨害するプロセスがないことを確認します。 これは
分散システムマネージャ
で確認できます。
この問題は、VISA Write IRP_MJ_FLUSH_BUFFER要求がデバイスからのINVALID DEVICE REQUEST応答を引き起こしている可能性があります。デフォルトでは、VISA読み取りおよび書き込み後に、RS-232経由で通信するときにVISA I/Oバッファ排出の呼び出しが続きます。このエラーを回避するために、VISAバッファ設定を変更して、VISA I/Oバッファ排出の呼び出しを実行しないようにすることができます。
アプリケーション開始時(VISAを開く関数の後、読み取りまたは書き込み関数の前)にVISA I/Oバッファ設定関数を呼び出し、マスクを48(16 + 32、16は受信バッファのマスク、32は送信バッファのマスクです)、サイズを4000から読み書きを行う想定最大量の間の値に設定すると、排出コマンドが実行されなくなります。
重要:
上限を設定してください。送信または受信しているデータに対して十分な大きさでない場合、コンピュータがクラッシュする可能性があります。
追加情報
排出関数を呼び出さない場合、NI-VISAはすべての書き込みを500ミリ秒のチャンクに分割し、書き込みごとに排出します。NI-VISAに4000以上の値、またはサイズを設定する値を使用しないようにすることで、NI-VISAは排出を呼び出しません。
関連リンク
Error -1073807298: Could Not Perform Operation Because of I/O Error Using a Third Party Instrument in LabVIEW
その他のサポートオプション
NIコミュニティに聞く
ディスカッションフォーラムで他のユーザーとコラボレーション
NIコミュニティでソリューションを検索する
エンジニアからのサポートをリクエストする
有効なサービス契約が必要な場合があり、サポートオプションは国によって異なります。
サービスリクエストを開く
サポートサービスの購入または更新
Was this information helpful?
Helpful
Not Helpful