一種嵌入式數據終端的設計方案與實現


與解析引擎相似,數據采集引擎把采集到的數據根據一定的協議格式設置好,通過通訊 層把數據發送給上位機,上位機根據數據采集解析協議把采集數據分類解析。從而達到終端 的功能邏輯、人機交互、外設控制,數據處理完全由上位機控制的目的。
3.3 終端的軟件實現流程
應用程序的具體實現流程如圖3 所示。

上文已經介紹了變量ID、STEP, ID 表示大的功能節點,STEP 表示相應功能點(ID) 下的操作步驟,如果定義為字節變量,兩個字節總共可以表示256*256=65536 個功能,完全 可以滿足一般數據采集終端的需求;RTN 是終端的狀態機變量,終端程序通過設置一個工作 狀態變量RTN 來控制系統的工作狀態。
(1) RTN=0 表示,所有的工作就緒,可以接受上位機的業務請求。
(2) RTN=1 表示,終端已正確接收到了上位機的業務請求。對應流程,在這個過程中, 終端要做的事情就是設置上位機的業務請求。首先,分析當前請求的ID 與STEP,應用程序 實現不同功能間的跳轉主要由功能節點ID 與STEP 決定,例如:當前ID=3,STEP=4,表明終 端當前在業務流程的第三個功能的第四個步驟,如果ID 為特殊功能程序更新,可以實現終 端程序的遠程更新。其次,如果ID 不是特殊請求,進行功能協議分析。設置好終端當前功 能步驟的業務請求后,將該數據結構傳入事件響應。業務響應根據業務要求將功能劃分成不 同子模塊,調用解析引擎庫相應的子事件處理函數。在子事件處理函數中調用板級驅動處理 函數,實現具體的硬件功能。設置完上位機業務功能請求后RTN 置為2。
(3) RTN=2 表示終端已處理好接收到的信息,并根據具體業務要求,實現了界面顯示, 按鍵權限的設置,按鍵轉向的設置(按鍵轉向是指:按某個按鍵后,上位機根據當前按下的 按鍵,把相應的功能點下達到終端,實現功能跳轉),刷卡轉向功能設置,A/D 采集設置等, 此時一直等待數據采集、按鍵動作或刷卡動作等觸發,采集動作完成后,通過數據采集引擎 規劃好采集到的數據,提交上位機,同時RTN 置零完成一次功能請求到響應,重新回到空閑 狀態等待上位機詢問。
采用以上的軟件設計方案,可以在很小的硬件資源下實現ID×STEP 個功能的相互跳轉, 而且當業務改變時,只需要配置上位機的邏輯關系與數據,而無需改變終端內部的應用程序。 實際應用中,終端程序只需一套,上位機只要根據終端的地址就可以決定該終端的功能流程。
4、結束語
本文的創新點:提出了一種有別于傳統設計方案的嵌入式智能數據交互終端的設計方 案,該方案可以解決在業務需求改變的情況下無需改變數據采集終端的內部程序,從而在一 定程度上解決了數據采集終端在不同行業推廣過程中的通用性問題,縮短了整個系統的開發 周期,也給系統的維護和升級帶來了很大的方便。同時本文提出的終端程序設計框架還可以 在有限硬件資源的情況上實現256*256 個業務功能界面的相互跳轉。
該嵌入式智能數據交互終端系統已在廣東省某大型企業試運行后,運行效果良好,現已 大批量投入使用,企業對該系統的日常維護和業務升級都非常方便,相比于該企業原先把業 務流程及數據采集項定制成程序固化在終端內的傳統設計方案,新方案大大降低了企業在業 務升級和業務流程發生變化時,要頻繁修改終端或終端程序與上位機應用程序所帶來的生產 成本,每年直接經濟效益至少20 萬元以上,而且還提高了企業勞動效率。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論