用於Arduino的LabVIEW界面錯誤5003:發生超時

更新 Jun 20, 2023

產品資訊

軟體

  • LabVIEW
  • Third Party Add-Ons

其他

  • Arduino
  • LabVIEW Interface for Arduino (LIFA)

問題敘述

我有一個使用LabVIEW界面的Arduino工具包的VI。為什麼在運行應用程式時它會產生以下錯誤?

Error 5003 occurred at LabVIEW Interface for LabVIEW Interface for Arduino.lvlib:Analog Read Pin.vi. A timeout occurred while trying to read from the Arduino.

解決方案

錯誤5003表示LabVIEW已失去與Arduino的連接。 VI與Arduino通訊時斷開USB或串行電纜的連接或使用Xbee或藍牙等無線連接時無線訊號強度差導致連接失敗。

實際上,當LabVIEW在預定的時間內無法從Arduino讀取數據時(默認情況下,每次重試10次,每次嘗試100毫秒),就會發生超時。

請按照以下疑難解答步驟解決問題:
  • 如果使用有線連接,請確保所有電纜都已牢固連接,或者如果使用無線連接,請確保具有足夠的訊號強度。桌機背面的USB端口通常比前面板的USB端口具有更穩定的電源。如果您在使用桌機,則需要使用這些端口。如果您使用的是筆記型電腦,請確保在故障排除過程中已將其插入。
  • 檢查並確保為Arduino板指定了正確的鮑率和COM端口,以便正確定義通訊協議。未指定正確的設置可能會導致此錯誤。
  • 使用LabVIEW界面的Arduino(LIFA)工具包的每個程式都應以Init命令開頭,以Close命令結尾。確保盡可能避免使用LabVIEW的Abort(中止)按鈕。中止任務時,您的程式碼將沒有機會運行Close VI。下次您運行程式碼時,Arduino將以未知狀態啟動,可能會導致錯誤5003 。您可能需要重新啟動電路板並重新加載LIFA韌體才能更正此問題。
  • 確保沒有其他打開的程式也試圖與Arduino通訊。例如,打開Arduino集成開發環境(IDE)可能會保留Arduino資源,從而導致LabVIEW嘗試存取COM端口時出現錯誤5003
  • 您可以嘗試打開一個與相同的I/O引腳溝通的内建範例程式,以查看是否仍然出現錯誤5003 。這將確保Arduino實際上能夠與您的電腦通訊。
  • 您可以通過修改“Send Receive功能的“Time Out和“Max Retries”輸入終端來手動更改超時時間或重試次數。超時值較長或嘗試(重試)次數較多時,可能會與設備建立通訊。

相關資訊

請注意:LabVIEW Interface for Arduino(LIFA)已被LINX取代。強烈建議遷移到LINX,因為LIFA不會有進一步開發。請參閱如何為LabVIEW下載Digilent LINX以查看更多的訊息。