解決方案
此超時錯誤是由於TCP / IP功能配置不正確而引起的,並且只要接收到數據,通常就可以在不造成損坏的情況下將其清除。如果未接收到數據,則下面有幾個故障排除步驟來緩解此錯誤。
- 確保產生錯誤的VI具有正確設置的超時值。例子:使用HTTP Client GET VI從慢速伺服器接收大型字串時,默認的10秒超時值可能不足。如果此超時值設置不正確或設置得太低,請嘗試提高超時值,以查看是否能夠成功查看通訊,同時保持在專案規格範圍內。
- 如果使用的是使用TCP / IP的可重入VI ,請嘗試關閉可重入。可能發生競爭狀況,導致網絡在寫入或讀取時變得繁忙並超時
- 超時錯誤是您的應用程式的預期行為。從TCP Read Standard接收數據時,TCP功能將在超時期間等待指定的位元組數。如果該函數未接收到完整的數字,它將返回收到的數據,並顯示錯誤56。有關清除錯誤的訊息,請參閱Clearing A Specific Error From the Error Cluster。
- 確保將網絡電纜正確連接到每個系統,或正確建立無線網絡連接。
- 打開連接時,請使用IP地址而不是域名來檢查與域名伺服器(DNS)有關的問題。
- 您也可以嘗試導航至Tools»Options»VI Server,然後通過在底部選擇Add,在電腦名稱/存取字段中輸入*並確保選擇了Allow access,將*添加到電腦存取列表中。但是,這將授予所有電腦存取目標電腦的權限。
- 嘗試使用ping指令存取有問題的網絡設備,以驗證設備是否仍在連接並且正在通訊。
- 關閉電腦上安裝的所有防火牆和防毒軟體包,以確保沒有端口被阻擋。
- 如果關閉防火牆不起作用,請嘗試在“Firewall Advanced Settings”中更改inbound規則。
- 在防火牆高級設置中,LabVIEW默認有兩個inbound規則。一個阻擋公共網絡的TCP通訊,另一個阻擋公共網絡的UDP通訊。
- 除了上一步之外,還應該創建一個自定義inbound規則,以強制防火牆接受所需的協議通訊。
- 確保兩個設備都在同一子網中,並且具有相同的子網掩碼。請參閲“Inconsistent IP Settings" When Connecting to Real-Time Target ”,以在NI MAX獲取有關配置NI網絡設備的更多訊息。
- 檢查本地網絡流量過大是否減慢了網絡通訊速度,並導致傳輸花費的時間比預期的長。
- 如果使用的是FTP VI,請檢查所使用的密碼是否包含不可打印的字元或空格。
- 確保發送訊息的VI正在運行。
- 如果通訊部分位於子VI中,請嘗試將其從子VI中取出,並查看其是否在子VI之外工作。
- 嘗試使用LabVIEW Example Finder 中範例中的“ Simple TCP.lvproj”。
- 如果通過迴圈重複讀取和/或寫入,請嘗試在迴圈中插入Wait功能(大約200毫秒)。
如果使用RT控制器VI:
- 確保連接至VI的MAC地址正確且格式正確。確保您的字串控件或常數ID以十六進制格式顯示其數據。例如:0080 2F0A 14FF。如果您的字串控件不是十六進制格式,請右鍵單擊它,然後選擇“Hex Display” 。
如果在Open Suse 11.1上通過LabVIEW for Linux使用FTP Put File 或TCP Wait On Listener VIs:
使用Packet Sniffing進行故障排除:
如果上述步驟沒有幫助,請使用packet sniffing 程式查看數據是否正在通過網絡發送。名為Wireshark的第三方工具可以幫助您查看數據是否正在到達。如果沒有數據到達,並且您看到此錯誤,則說明發送數據的設備或網絡存在問題。如果數據到達Wireshark,但您仍然看到此錯誤,則很可能是防火牆問題或TCP功能格式錯誤。 Wireshark可從
Wireshark獲得 。您可以將
Capture Filters 與Wireshark一起使用,以幫助隔離僅進出某個IP地址的數據包。
此外,如果數據包確實成功發送到網絡,但終端設備沒有響應,則可能是終端設備的網絡適配器有故障。