NI-VISAで仮想COMポートや他社製USBシリアル変換器を使用する

更新しました Dec 16, 2022

使用製品

ソフトウェア

  • Measurement and Automation Explorer (MAX)

ドライバ

  • NI-VISA
  • NI-Serial

問題

NI Measurement&Automation Explorer(MAX)で仮想COMポートまたは他社製USBシリアル変換器を使用できません。NI-VISAエラーが表示され続ける、またはMAXのデバイスとインタフェースにデバイスが黄色の感嘆符で表示されます。

解決策

まず、最新バージョンのNI-SerialNI-VISAをインストールして、もう一度テストを実行してください。

メモ: NI-VISAとLabVIEWバージョンの互換性を参照して、LabVIEW環境でサポートされている最新のNI-VISAバージョンを選択してください。


可能であれば、別のポートまたはコンピュータを使用してデバイスをテストします。USBデバイスの場合、互換性のない、または欠陥のあるUSBコントローラまたはポートによって、MAXがデバイスと通信できなくなる可能性があります。デバイスがMAXでエラーを出し続ける場合は、シリアルハードウェア自体に問題がある可能性があります。

ほとんどの仮想COMポートと多くの低コストUSB-シリアル変換器はシリアル仕様に完全には準拠していないため、非同期I/Oやフラッシュなど、VISAが使用する多くの機能をサポートしていません。

(MAXのVISAテストパネルまたは開発環境でVISA APIを使用して)独自のVISA呼び出しを行い、仮想COMポート用のドライバでサポートされていない呼び出しを回避すると、うまくいく可能性があります。各仮想COMポートは異なる機能を実装しており、MAXまたはVISAでは正式にはサポートされていません。

追加情報

別の回避策は、visaconf.iniファイルに以下トークンを追加してみることです。 

 

WriteTimeoutGranularity = 0 under section [ASRL-RSRC-ALIAS]

 

このファイルは通常、次の場所にあります。

  • Windows Vista以降: C:\ProgramData\National Instruments\NIvisa\visaconf.ini
  • Windows XP: C:\Documents and Settings\All Users\Application Data\National Instruments\NIvisa\visaconf.ini
  • Windows 2000/NT: C:\VXIPNP\WinNT\NIvisa\visaconf.ini
  • PharLap ETS: ni-rt\system\vxipnp\WinNT\nivisa\visaconf.ini
  • NI Linux Real-Time: /usr/local/vxipnp/linux/NIvisa/visaconf.ini