2008-12-19 32 views
3

我們正在使用一些新的切削刀具,通過串口而不是控制面板來改變硬件參數。有沒有處理串口通信的設計模式?

當硬件參數改變時,硬件需要幾秒鐘時間來重新配置自身,然後發出信號表明它已準備好使用。

在此之前,我們的設置涉及操作員單擊剪切板或零件命令。該軟件將顯示一個對話框,允許操作員更改與運動有關的任何事物(速度,延遲等),並顯示硬件應配置的配置。操作員驗證完所有事件後,單擊「確定」,機器開始切割。

對於新的硬件,如果我們傳輸的信息發生變化,我們會提取當前配置,並顯示一個對話框,顯示新配置以及顯示硬件是否準備就緒的指示符。並非所有事情都通過串口自動完成,所以有時候對話框必須保持在那裏,直到操作員點擊OK。其他時候,它可以在硬件發出信號時自行卸載。

我的問題(和問題)是通過串口做這件事情都很痛苦。這也是我們第一次完成這類工作。我擔心我錯過了一些解決方案,以使整個事情更具響應能力。當我們從第三方購買切割硬件時,不能選擇使用替代產品。

我想要做的另一件事是可以選擇顯示一個狀態對話框並讓它在沒有串行通訊的情況下繼續運行。

Win32 API或.NET的提示是我正在尋找的。

回答

2

這取決於機器控制的交互性如何 - 您可以只發送一個動作到xy,cutto xy還是您需要不斷監視機器並啓動和停止電機?

如果機器比較聰明,那麼我會像繪圖儀那樣對待它。在你的gui中建立一個命令列表,然後提交它們。這樣就很容易測試機器的獨立機器。

您還可以擁有一個測試應用程序,它在切割昂貴的素材之前將命令列表繪製在屏幕上作爲檢查。甚至可以將命令轉換成類似HPGL或SVG的格式,並直接顯示它們。

2

一種選擇是在單獨的線程中運行串口通信並讓該線程將其狀態報告給gui線程。 (Invoke)

這就是我最近編碼的HID卡刷卡系統。一個線程將卡片刷卡記錄到列表中。另一個線程將這些寫入數據庫系統。每個報告給GUI線程。