NI-VISAエラー -1073807246: リソースにアクセスできません

更新しました Apr 18, 2024

使用製品

ハードウェア

  • CompactRIO Controller
  • Serial Interface Device
  • PXI Serial Interface Module
  • C Series Serial Interface Module
  • USB Cable

ソフトウェア

  • LabVIEW

ドライバ

  • NI-VISA

問題

サードパーティ製機器と通信しようとしています。NI MAXでVISAテストパネルは動作していますが、VISAサンプルVIを使用すると次のようなエラーメッセージが表示されます。

エラー -1073807246: リソースは有効ですが、現在VISAはアクセスできません。


 
なぜこのエラーが発生するのですか?どうすれば解決できますか?


シリアル互換VIを使用していると、エラー37: デバイスが見つかりませんが発生します。どうすればエラーを解決できますか?

解決策

このエラーは、LabVIEW開発環境およびビルドした実行ファイルの両方で発生します。これは、LabVIEWがシリアルポートの制御ができなかったことを示しています。

このエラーの原因と解決方法は、以下のとおりです。
  • 別のプログラムが、シリアルポートを制御しています。一度にシリアルポートを使用できるのは、1つのプログラムのみです。ハイパーターミナルやNI MAX VISAテストパネルなどシリアルポートを使用している別のプログラムを閉じます。ツール>>オプション>>環境の順に選択肢、VISAセッションを自動的に閉じるを選択して、LabVIEWのVISAセッションを自動的に閉じます。
  • LabVIEWでビルドした実行ファイルを実行中でLabVIEWが開いている場合、LabVIEWが既にシリアルポートを制御している可能性があります。LabVIEWでシリアル関連のVIを使用した後のデフォルト動作は、シリアルポートを開放しないことです。LabVIEWからシリアルを使用して別のVIは実行することはできますが、実行ファイルは実行できません。シリアルポートを開放するには、以下のいずれかをおこなう必要があります。
    • LabVIEWを終了します。シリアル関連VIを使用するすべてのVIを終了しても、ポートは開放されません。LabVIEWを完全に終了することで、LabVIEWで開いたすべてのセッションを強制的に閉じます。
    • VISA上級パレットにあるVISAを閉じるVIを使用します。

 
  • シリアル コンバータを使用している場合、または独自のカスタムシリアルコンバータを作成した場合は、シリアルポートラインを正しく接続していることを確認します。
  • serpdrvファイルが存在しません(LabVIEW 6.1以前でSerial Compatibility VIを使用している場合のみ)。
    • LabVIEWでVIを実行している際、serpdrvはlibdirによって指定されたディレクトリに存在する必要があります(通常、National Instruments\LabVIEW\)。
    • LabVIEWで作成した実行ファイルを使用している際、serpdrvは実行ファイルと同じディレクトリ、もしくはランタイムエンジンと同じディレクトリに存在する必要があります。ランタイムエンジンのデフォルトディレクトリは、次のとおりです。
      National Instruments\Shared\LabVIEW Run-Time
  • ​実行ファイルの場合は、LabVIEWの.iniファイル(Program Files\National Instruments\LabVIEW 20[XX]\LabVIEW.iniにある) を実行ファイルのあるフォルダへコピーします。名前を実行ファイル(name.ini)と同じ名前に変更し、最初の行を[LabVIEW]から[name]に編集します。
  • ご使用のオペレーティングシステム(OS)とNI-VISAドライバの互換性を確認してください。これは、使用しているNI-VISAのreadmeにあります。NI-VISAのバージョンがお使いのオペレーティングシステムと互換性がない場合、これが原因の可能性がありますので、ドライバをアップグレードする必要があります。
  • このエラーは、ドライバの問題によりCOMポートがドライバによって正しく認識されていない場合にも発生する可能性があります。 NI-VISAを強制的に再インストールしてみます。

追加情報

これらの解決策は、Serial関連のVIを使用しているときに発生するエラー37:デバイスが見つかりませんの解決にも役立ちます。これらのVIは推奨されなくなりましたので、エラーはここでは注釈としてのみ記載されています。NI MAXで同じエラーメッセージが表示された場合、またはその他のトラブルシューティング手順については、MAXのCOMポートに感嘆符が表示されてテストパネルにエラーが表示されるを参照してください。

CompactRIOを使用している場合は、Console Outを有効にすることによって発生します。cRIOの起動設定またはディップスイッチを確認してください。