簡體   English   中英

C#中的連續RS485通信和UI

[英]Continious RS485 communication and UI in C#

我有RS485從設備連接到計算機。 計算機詢問設備一些問題並等待響應。

通信應該是連續的用戶界面,以顯示來自設備的數據並實時控制它們。

我開發了一些使用bacgroundWorker進行RS485通信的應用程序。

我不確定,但我認為這次使用它不是正確的方法,因為用戶界面元素無法從backgroundWorker更改或更新。

我可以使用backgroundWorker和全局數據變量,然后在timer事件上更新UI。 但我擔心這個解決方案。 謝謝!

您不需要使用后台工作程序,因為串行端口支持異步操作 - 您訂閱了DataReceived ,在打開端口后,將定期使用接收到的數據調用您的事件。

然后,您需要緩沖數據,直到您構建完整的消息包(您可能會獲得數據,並且無法保證您將獲得完整形成的數據包),然后更新您的UI(通常使用BeginInvoke傳遞控制回你的UI線程)

我設計了遠程監控系統,通過RS-485與控制器配合使用。 它實現為Windows服務,它在SQL Server中寫入數據。 UI應用程序(它是我上一版本中的Web應用程序)從SQL獲取數據。 在以前的版本中,我使用了命名管道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM