VISA錯誤-1073807339(0xbfff0015)超時在操作完成之前已過期

更新 Jun 3, 2021

產品資訊

軟體

  • LabVIEW
  • Measurement & Automation Explorer (MAX)

驅動程式

  • NI-VISA

操作系統

  • Windows

問題敘述

當我嘗試在LabVIEW或VISA Test Panels中與儀器通訊時,出現以下錯誤:

Error -1073807339 occurred at VISA <function name>.vi
Possible reason(s):
VISA:  (Hex 0xBFFF0015) Timeout expired before operation completed.

 

解決方案

這是個一般的超時錯誤,可能由不同的因素引起。請按照下面的故障排除步驟解決錯誤。

在VISA Test Panels中測試通訊

可以在使用VISA交互式控件測試與設備的通訊中找到說明。

如果您在VISA Test Panels中遇到問題,

  1. 請參考儀器的用戶手冊,確保使用正確的指令語法。
  2. 請參閱儀器的用戶手冊,檢查是否需要終止字元。
如果需要終止字元,請確保在VISA Test Panels中選擇“啟用終止字元”。
  1. 通過按照MAX Timeout 錯誤出現MAXVISATimeoutError中的步驟,確保正確設置硬體和軟體以進行通訊。
  2. 執行串行回送測試。這將會顯示串行端口,電纜或生成訊息的軟體中的問題,而無需連接到第三方硬體。
  3. 如果仍然無法在VISA Test Panels中與儀器通訊,請創建I/O Trace報告 ,然後聯繫NI支援
確認可以在VISA Test Panels中建立基本通訊後,繼續進行LabVIEW中的故障排除。
 

通過内建範例進行測試溝通

内建範例Simple Serial.vi可在LabVIEW Help >> Find Examples >> Hardware Input and Output >> Serial 中找到

  1. 確保設置“串行設置”以符合儀器的要求。如果需要,請參閱設備的用戶手冊。
  2. 如果您在内建範例中遇到通訊問題,請聯繫NI支援

LabVIEW應用故障排除

  1. 將您的程式碼減少到最小的可還原情況。
  2. 請參考儀器的用戶手冊,確保使用正確的指令語法。
  3. 請參考儀器的用戶手冊,確保正確配置終止字元。如果沒有終止字元,則設備可能不知道訊息已完成並且不會返迴響應。
如果需要終止字字元,請使用“ VISA配置串行端口”啟用並配置終止字元。有關終止符的更多訊息,請參閲NI-VISA中的終止字元
  1. 確保正確配置顯示樣式,以引導LabVIEW如何表示字元(常規, “ \”代碼,密碼,十六進制)。請參閱儀器的用戶手冊以查看預期的結果。
默認樣式設置為“Normal”。如果要使用其他顯示樣式,請通過右鍵單擊字串control 或 constant >> Properties >> Display Style來啟用它。
  1. 確保讀取的數據僅限於可用的數據量。該錯誤可能是由於NI-VISA試圖讀取比串行端口可用字節更多的字節引起的。
1. 在block diagram上的“VISA Bytes at Serial Port 屬性節點處放置VISA session,然後將VISA會話連接到其reference input。
2.將Bytes at Port output連接到VISA Read的 Byte Count input。
  1. 通過將VISA Read的Byte Count輸入設置為1,確保您不嘗試讀取太多字節,因此一次只讀取1個字節。
如果這樣做時沒有收到錯誤,請增加讀取的字節數,直到再次收到超時錯誤。這告訴您該指令發送回多少字節。
 
如果在僅讀取1個字節時仍然收到錯誤,請驗證本節中的步驟2和3。
  1. 通過使用VISA Set Timeout並參考Configuring Timeout for VISA Sessions以手動指定超時。
 
  1. 如果安裝了第三方儀器驅動程式,請按照“ After Installing 3rd Party VISA Software NI VISA No Longer Works的步驟操作,以確保NI-VISA是系統上VISA的主要實施。
 
  1. 如果使用的是較舊的儀器,請嘗試在VISA寫入和讀取之間實現Wait函數
 
較舊的儀器可能無法快速響應寫入端口的指令,從而導致VISA Write和VISA Read指令之間存在較大的延遲。設計為與這種類型的儀器接口的應用程式應預期看到這種延遲。
  1. 如果仍然遇到問題,請生成以下項目並聯繫NI支援以進行進一步的故障排除。

相關資訊

與儀器通訊的另一種方法是使用製造商提供的LabVIEW儀器驅動程式(如果有)。您可以在NI IDNET或製造商的網站上搜索可用的儀器驅動程式。