在最近一個軟硬體整合的企業生產管理應用軟體項目中,用到了不同類型一定數量的硬體裝置,包括電子看板、企業客戶生產裝置的參數採集和讀卡裝置。採用這些裝置的目的主要為軟體系統提供生產現場的裝置運行和管理資料,並在現場顯示生產情況。按照系統規劃,這些不同種類的裝置是通過485匯流排與軟體系統進行通訊的,實現全天24小時裝置和軟體系統穩定運行和資訊採集。為此系統要實現以下目標:
1) 電子看板資料的上傳和下發;
2) 裝置採集器的資料上傳;
3) 讀卡機的資料上傳。
4) 通過資料庫的方式,儲存系統資料並自動實現下發處理。
本人在網上收集和搜尋串口通訊實現的相關資料過程中,發現這方面資料較少,且程式的設計和實現比較簡單,由於普遍缺乏較好的設計理念,導致程式的複用性較差。於是我在程式的設計和實現過程中,引入了物件導向分析和設計的理念,通過UML方式提高程式的設計效率,並增加程式的複用性。這樣做的好處是可以增加了程式的可維護性,有效降低了開發難度和開發成本。下面簡單介紹一下該系統的開發思路,為從事串口通訊開發的同仁提供一點有價值的參考意見。
首先,我們根據系統目標進行了架構的規劃。從分層設計的角度出發將程式分成了以下五層:1-系統資料表示層:通過程式介面進行一些參數設定和組態監控,如硬體裝置郵寄地址的設定,各種裝置上傳下發的瀏覽等。2-系統業務層:各種裝置支援的相關商務邏輯的實現,如從生產管理系統軟體中提取正在執行的加工計劃資訊下發到對應工位的電子看板上顯示,以指示該工位的加工要求;並和上傳的生產資料群組合成有效即時生產資料,反映生產狀態。3-系統傳輸層:主要根據各種不同硬體裝置的通訊協議,通過解碼和解碼操作,實現硬體指令和邏輯資料間的轉換和傳輸執行;4-系統收發層:由於要對應不同類型的硬體裝置,所以通過抽取資料收發基本操作,形成共同的基類,就是說該類開發穩定後,可很方便的擴充應用到其它種類的裝置上,這樣就增加了系統的可維護性和資料轉送的穩定性。
這樣程式的架構就設計完成了,接下來要做的工作就是進行不同層中各個業務類的設計了。在這裡不同的設計員可能有自己的設計方法,我的方法是以出口通訊中要實現的主要業務為線索,利用UML時序圖,反映各個邏輯層不同類的對象之間互動和調用關係,最後抽象出各個類應完成的操作,形成各個類的方法,最終完成類的設計,這樣系統的設計就基本完成了。
接下來,就可根據程式的要求採用需要的程式設計語言進行程式的設計了。由於採用了物件導向方法進行程式設計,我們得到了合理而清晰的程式實現方式,程式實現起來目標明確而簡單,調試起來比較容易定位問題,更簡單了。更好的是,程式的複用性提高我們程式的適用性,可以很容易地擴充不同的裝置上。該系統由於有了比較好的架構設計,經過一段時間的運行檢驗,證明系統很穩定,達到了預期的設計目標。