From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



使用序列通訊(Serial)VI時出現16408錯誤



主要軟體: LabVIEW Development Systems>>LabVIEW Professional Development System
主要軟體版本: 5.0.1
主要軟體修正版本:
次要軟體: N/A

問題:
當使用序列通訊(Serial)VI與設備溝通時,出現16408錯誤。是什麼原因造成了這個錯誤呢?我使用的作業系統是Windows,軟體是LabVIEW。


解答:
如果序列通訊(Serial)VI回傳16408錯誤,那麼Windows序列通訊(Serial)設備可能有下列兩個錯誤情況:CE_BREAK和CE_FRAME。

CE_BREAK: 發生於時間超過(start bits) + (data bits) + (parity bits) + (stop bits)的時候線纜不再反應時。這種情況通常發生於2個設備通訊速度不一致,例如一個設備以1192Baud的速度溝通,而另一個設備以1210Baud的速度溝通,這時兩個設備的通訊速度都會被認為是1200Baud。

CE_FRAME: 發生於序列通訊(Serial)設備不能識別出資料流程中的請求位元組數(資料封包)。例如,資料流程中的stop bits遺失。這也許是由於某種原因而損壞了stop bits。這時,接收端可能被設置為接收2個stop bits,而發射端實際只發送了一個stop bit。如果情況是CE_FRAME,那麼第一件需要做的事情就是檢查接收端和發射端之間的設定。

序列通訊(Serial)溝通的詳細設定可以參考相對應設備的用戶手冊。然後檢查當前COM port的設置和Serial Port Init.vi,以確保它們的設置符合設備用戶手冊上的要求。降低串列傳輸速率有時也可能解決這類型的錯誤。


相關連結:

附加檔案:





報告日期: 03/27/2007
最後更新: 08/15/2007
文件偏號: 7900