Error -1073807346: NI VISA中的Given Session或Object Reference無效

更新 Aug 24, 2023

產品資訊

軟體

  • LabVIEW
  • Measurement & Automation Explorer (MAX)

驅動程式

  • NI-VISA

問題敘述

  • 我已經建立了一個控制硬體的LabVIEW執行檔。該程式在我的開發電腦上可以執行,但是當我部署它時,我確收到錯誤-1073807346 。為什麼會這樣?
  • 當我試著為我的儀器打開新的VISA session或使用目前的session時,我收到Error -1073807346 VISA:(Hex 0xBFFF000E)Given session or object reference invalid。

解決方案

發生此錯誤的原因有很多可能:

  • 缺少驅動程式: 請為硬體安裝正確的驅動程式版本。對於任何的NI硬體,此資訊都可以在驅動程式的readme檔案中的Supported Devices章節下找到。​​​​​​

  • 不正確的位址: 請確認儀器的位址是否正確。

    • 確認在LabVIEW中所使用的Resource Name和下方相同:

      • Windows: 請參考VISA Resource的設定頁面(Settings)

      • Mac/Linux: 請參考Communicate with Third-Party Instrument in Linux

      • 如果您目前正在使用VISA Alias,請改用VISA Resource Name

        • 例如: 使用Resource Name,ASRL3::INSTR,而非使用Alias,"COM3"

  • 裝置並沒有接上電源: 確認裝置是否連接正確並已接上電源。

  • VISA Session先前已關閉: 如果VISA  session在通訊期間被意外關閉,也會出現此錯誤。最常見的情況是VISA resource儲存在Global Variable中。停用Automatically Close VISA Sessions選項可以防止此錯誤。注意: 如果停用此選項,請確認在裝置通訊結束時呼叫VISA Close

    1. 選擇Tools » Options 顯示Options對話框。

    2. Category list選擇Environment

    3. 取消Automatically Close VISA Sessions

    4. 選擇OK。

  • 不正確的Build Specification: 如果要建立和部署執行檔,請確認:

    1. Instrument driver VIs包含在LabVIEW Project中。

    2. Instrument driver VIs在Build SpecificationsSource Files的頁面中設定為"Always Included" 。

    3. 如果使用第三方裝置,可能的話,請確認已將裝置設定為遠端控制。

​​​

相關資訊

Automatically Close VISA Sessions允許在top-level VI空閒時自動關閉已打開的VISA session。該選項用來避免下次執行VI時可能會出現的潛在問題。因此,當使用Global Variable去存取VISA session時,只要此選項被啟用,就會傳回無效的VISA session錯誤。