一種嵌入式數(shù)據(jù)終端的設計方案與實現(xiàn)
摘要:以MES 在制造業(yè)的應用為背景,針對企業(yè)車間的數(shù)據(jù)類型、數(shù)據(jù)采集手段、數(shù)據(jù) 下達與顯示方式在各種行業(yè)千差萬別的實際情況,提出了一種所有功能透明、受控于上位機 的基于S3C44B0 的嵌入式智能交互終端的數(shù)據(jù)采集方案。此方案能解決數(shù)據(jù)采集終端在不同 行業(yè)間推廣過程中的通用性問題,縮短系統(tǒng)的開發(fā)周期,日常維護和升級都非常方便。詳細 地給出了交互系統(tǒng)的總體模型,嵌入式智能數(shù)據(jù)交互終端的硬件平臺、軟件框架與設計流程。
本文引用地址:http://m.butianyuan.cn/article/148623.htm1、引言
傳統(tǒng)的 ERP 等信息管理系統(tǒng)在制造業(yè)企業(yè)內(nèi)發(fā)揮了重要的作用,但這些系統(tǒng)還未能延伸 到車間過程管理的環(huán)節(jié),使車間過程管理自動化、信息化、智能化?,F(xiàn)在新興的MES 系統(tǒng)為 解決以上的問題,通常在車間借用各種數(shù)據(jù)交互終端。數(shù)據(jù)交互終端負責采集和處理最原始 數(shù)據(jù)并將其傳送到工作站,同時接收工作站下達的操作命令[1]。但是,傳統(tǒng)的數(shù)據(jù)交互終端 把業(yè)務流程及數(shù)據(jù)采集項定制設計成程序固化在終端內(nèi),當業(yè)務流程發(fā)生變化或在不同行業(yè) 中應用時,就需要花費大量時間修改終端程序與上位機應用程序。例如在一個系統(tǒng)中有N 臺終端要實現(xiàn)不同的業(yè)務,就要設計N 套終端程序,使得終端程序的版本很多,很明顯不能 適應現(xiàn)代企業(yè)的快速變化,也不利于行業(yè)間的推廣。本文提出一種新的設計方案,引入業(yè)務 功能配置引擎與業(yè)務解析引擎。其中業(yè)務功能配置引擎為上位機應用程序核心,業(yè)務解析引 擎集成于數(shù)據(jù)交互終端。這樣,當業(yè)務或行業(yè)變化時,只需改變上位機的業(yè)務配置引擎的配 置信息而無需改變終端程序。采用這樣的設計方案可以加快系統(tǒng)開發(fā)進度,以及系統(tǒng)在各種 行業(yè)中的推廣。
2、嵌入式智能數(shù)據(jù)交互終端硬件平臺
硬件平臺采用Samsung S3C44B0 處理器,該處理器采用的ARM7TDMI 結構,最高頻率 66MHz[2]。本平臺以此處理器為核心,添加諸多外圍模塊,其硬件平臺框圖如圖1 所示。
鍵盤,RFID 與液晶屏為終端的人機交互平臺;系統(tǒng)的核心模塊通過系統(tǒng)總線與處理器 連接;外接豐富的RAM 與ROM 資源可以提高系統(tǒng)軟件設計的靈活性;以太網(wǎng)作為主要通訊接 口,使得系統(tǒng)通訊更加標準化,保證了通訊的速度與可靠性。在本系統(tǒng)中,除處理器、SDRAM、FlashRom 為主板固定模塊,其它外圍均采用可拔插的設計原理,這樣當需求改變時,只需 插上或拔下需要的外圍模塊即可,這樣的設計思想增加了終端的靈活性并縮短開發(fā)周期。
3、軟件設計的思想與實現(xiàn)
3.1 智能數(shù)據(jù)交互系統(tǒng)的整體模型及工作原理
在講述數(shù)據(jù)交互終端的軟件實現(xiàn)前,首先介紹系統(tǒng)的整體結構以及其工作原理。圖2 是MES 系統(tǒng)中的底層數(shù)據(jù)交互的總體模型。數(shù)據(jù)交互系統(tǒng)的上位機主要由業(yè)務需求模塊、業(yè) 務配置引擎、數(shù)據(jù)解析引擎、引擎配置信息與底層通訊模塊組成。系統(tǒng)從上層管理系統(tǒng)中獲 取業(yè)務需求,業(yè)務配置引擎讀取引擎配置信息,生成業(yè)務事件鏈,通過通訊模塊根據(jù)工位地 址發(fā)送到相應數(shù)據(jù)交互終端,相反收到采集數(shù)據(jù)包時,數(shù)據(jù)解析引擎解析數(shù)據(jù)交互終端采集 到的數(shù)據(jù),最后交由業(yè)務需求模塊反饋回上層管理程序。數(shù)據(jù)交互終端軟件主要由底層通訊 模塊、業(yè)務解析引擎、終端表現(xiàn)層與外設驅動與響應模塊組成。終端通訊層接收到上位機的 數(shù)據(jù)包校驗正確后交由業(yè)務解析引擎。解析引擎根據(jù)引擎協(xié)議解析出業(yè)務事件鏈后,通過終 端表現(xiàn)層,并等待數(shù)據(jù)采集,采集完成后交由采集生成引擎,生成固定格式數(shù)據(jù)再返回上位 機,從而形成數(shù)據(jù)交互的閉環(huán)。
3.2 終端引擎的實現(xiàn)原理
以上為系統(tǒng)的工作原理,下文接著對數(shù)據(jù)交互終端業(yè)務解析引擎與數(shù)據(jù)采集引擎的實現(xiàn) 做詳細的介紹。實現(xiàn)的功能主要就是:液晶顯示與外設控制。液晶如何顯示,顯示那些內(nèi)容, 外設如何控制,在沒經(jīng)過業(yè)務解析引擎前終端都是保持著上次狀態(tài),經(jīng)過解析后才知道應該 實現(xiàn)那些東西,如何去實現(xiàn)。解析引擎就是根據(jù)特定協(xié)議將一段數(shù)據(jù)轉化為邏輯控制功能的 庫。也就是通過一種協(xié)議把終端的業(yè)務邏輯交給了功能強大的PC 機去處理。終端工作只是 每次邏輯計算后的表現(xiàn)。要實現(xiàn)以上的功能,就必須有一套完整的功能協(xié)議棧,設計協(xié)議棧 之前,首先將終端的功能進行模塊劃分,這里以通訊模塊往后進行劃分,主要有:鍵盤控制、 液晶顯示、外設采集器控制。每個模塊繼續(xù)細化,盡可能表現(xiàn)各個模塊的可能會出現(xiàn)的狀態(tài)。 再次,功能協(xié)議的實現(xiàn),協(xié)議由協(xié)議關鍵字與控制內(nèi)容組成,比如關鍵字A 代表終端硬件模 塊A,關鍵字A 后面的內(nèi)容表示上位機要求模塊A 要實現(xiàn)的功能,模塊A 功能繼續(xù)細化。如 表1 給出了部分功能協(xié)議組成。終端的響應上位機的業(yè)務狀態(tài)主要由兩個狀態(tài)量控制,在程 序上我們定義為兩個全局變量,分別用來表示下位機當前屬于哪個業(yè)務功能與所屬該功能的 步驟,在程序上定義為ID 與STEP,上位機系統(tǒng)已經(jīng)把ID 與SteP 的邏輯流程設計好,例如 在某個ID 與STEP 狀態(tài)時,終端屏幕上顯示是工藝完成情況,并要求用戶通過各種采集外設 進行數(shù)據(jù)采集,提交上位機。每次上位機發(fā)送下來的數(shù)據(jù)都是以ID+STEP+模塊A 控制字 +模塊A 控制數(shù)據(jù)+模塊B 控制字+模塊B 控制數(shù)據(jù)+…。同時設置觸發(fā)模塊的NEXT_ID與NEXT_STEP。當相應觸發(fā)發(fā)生時,上位機可以根據(jù)NEXT_ID 與NEXT_STEP 向終端發(fā)送下個 業(yè)務流程與其步驟。比喻上位機是一個龐大的中央處理器,控制著業(yè)務流程的整個邏輯計算 與數(shù)據(jù)的組織,車間的所有終端就更像一個輸入輸出設備圍繞著這個中央處理器。我們知道 計算ID×STEP 個邏輯需要一定的CPU 時間,如果將這個工作交給上位機(CPU 達到G 級的 處理器)去完成,處理能力有限的終端就可以去處理更多的其他采集工作。同時,ID×STEP 個業(yè)務界面需要消耗很多的 RAM 與ROM 資源,如果把這些界面固化與終端內(nèi)部,將大大增 加了終端的硬件成本。而且當需求改變時,必須花大量的工作去更改每個終端的程序與數(shù)據(jù)。 如果把以上工作交給上位機處理,可以在很小的硬件資源中實現(xiàn)ID×STEP 個功能間的相互 跳轉,而且當業(yè)務改變時,只需要改變上位機的邏輯關系與數(shù)據(jù),而無需改變終端內(nèi)部的應 用程序。表一給出了協(xié)議的部分組成。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論