摘要:為了提高工作效率和舒適性,提出基于WinCE的高速工業(yè)繡花機系統(tǒng)人機界面的設計及實現方法。采用WinCE作為軟件操作平臺,分析了WinCE的GWES圖形用戶界面和消息映射機制的具體實現,著重論述了主刺繡界面、參數設置界面和磁盤管理界面的設計過程與實現方法。設計結果表明:該方法整體性能穩(wěn)定,系統(tǒng)運行效率高,人機界面的設計更友好、更人性化。
關鍵詞:高速工業(yè)繡花機;人機界面;WinCE;GWES
0 引言
高速工業(yè)繡花機是機電一體化結合較為完美、自動化程度較高的繡花專用設備,它能使傳統(tǒng)的手工繡花得到高速度、高效率、高可靠性的實現,并且還能實現手工繡花無法達到的“多層次、多功能、統(tǒng)一性和完美性”的要求。人機界面是高速工業(yè)繡花機與用戶打交道的窗口,一個好的人機界面可以提高用戶的工作效率和舒適性。
隨著WinCE嵌入式操作系統(tǒng)的不斷完善,給高品質、高效率、與PC機類似的人機界面提供了可能。在此提出一種基于WinCE 5.O的高速工業(yè)繡花機人機界面的設計方法,并重點給出了主刺繡界面、參數設置界面和磁盤管理界面的設計過程和方法。
1 WinCE系統(tǒng)分析
Windows CE是一個搶先式多任務的32位的嵌入式操作系統(tǒng),它的圖形用戶界面相當出色,開發(fā)人員可以利用豐富靈活的控件庫在Windo-ws CE環(huán)境下為嵌入式應用建立各種專門的圖形用戶界面。WindowsCE提供了符合Windows平臺標準的開發(fā)環(huán)境,它實現了Win32 API函數的一個子集,覆蓋了大部分的Win32功能。
圖形窗口和事件系統(tǒng)模塊(graphical windowing and event system,GWES)是用戶、用戶應用程序和操作系統(tǒng)之間的圖形化用戶接口。 GWES將控制選擇轉換為消息,傳送信息給應用程序和操作系統(tǒng)來處理用戶輸入。GWES通過創(chuàng)建和管理在顯示設備和打印機上顯示的窗口、圖形和文本處理輸出。GWES的核心是窗口。所有應用程序(即使是為缺小圖形顯示器的設備創(chuàng)建的那些應用)需要窗口以便從操作系統(tǒng)接收信息。GWES為需要圖形顯示器的設備提供控制、菜單、對話框和資源。它還提供控制文本和圖形顯示的GDI。
在運行的Windows CE操作系統(tǒng)中,圖形窗口和事件系統(tǒng)模塊體現為Gwes.exe進程。GWES模塊主要由3種類型的組件構成:支持圖形驅動的GDI組件;支持窗口控件的USER組件;支持其他窗口和圖形功能的一般GWES組件。
2 人機界面設計原理
2.1 功能結構
在高速工業(yè)繡花機控制系統(tǒng)人機界面的顯示和控制中,采用液晶屏和觸摸屏相結合的方式。利用液晶屏實現各種信息的顯示、菜單操作、圖形顯示及觸摸屏控制,為高速工業(yè)繡花機控制系統(tǒng)提供良好的人機界面。高速工業(yè)繡花機控制系統(tǒng)人機界面主要包括主刺繡界面、參數設置界面、磁盤管理界面、花樣管理界面和輔助刺繡界面。
主刺繡界面主要顯示所刺繡花樣、花樣名、花樣號、花樣針數、花樣顏色數、花樣位置、當前刺繡針數等刺繡花樣的各種信息、繡作過程中的各種狀態(tài)顯示和一些基本的操作功能。機器操作人員通過該界面能夠準確了解機器運行過程中的各種基本信息和進行一些相關的操作,并且也能夠對各種即將出現的情況做出及時的判斷。另外主刺繡界面上還有進入參數設置界面、磁盤管理界面、花樣管理界面和輔助刺繡界面的按鈕。
參數設置界面主要是用于對機器所需刺繡的各種相關參數進行設置。它包括的功能有通用參數設置、機器參數設置、剪線參數設置、刺繡速度參數設置、斷線參數設置、輔助刺繡參數設置、換色參數設置和統(tǒng)計信息顯示。
磁盤管理界面主要用于將花樣文件輸入到機器內存的操作,在磁盤管理界面中,用戶可以把USB設備上的花樣文件輸入到機器的內存中,也可以把機器內存中的花樣文件輸出到USB設備上??梢詫Υ疟P中花樣進行預覽。磁盤管理界面包含的功能有花樣文件的輸入、選中花樣文件預覽、選中全部花樣文件、取消全部選中花樣文件、停止花樣文件的輸入、磁盤花樣文件的排序與查看、花樣縮略圖的保存和進入內存管理界面等。
花樣管理界面主要用于從內存中選擇刺繡花樣文件、對內存中花樣文件進行各種相關設置和變換以及所有生成花樣文件的操作。它包括的功能有輸出花樣文件到磁盤、選中花樣文件的預覽、選中內存中單個花樣文件、花樣文件編輯、全部選中內存中花樣文件、取消全部選中內存花樣文件、刪除選中花樣文件、內存花樣文件的排序與查看和選中當前刺繡花樣進入主刺繡界面等。輔助刺繡界面主要用于完成一些輔助性刺繡功能。它包括恢復刺繡花樣的起繡點、機器沿刺繡花樣周邊刺繡、設置另外起點和機器繡作十字等功能。
2.2 功能模塊相互關系
人機界面各功能模塊的具體功能都是在主刺繡界面得以實現。各功能與主刺繡界面交互關系如圖1所示。從模塊交互關系中可以看出,主刺繡界面是整個人機界面的基礎,所有的其他界面都是圍繞著主刺繡界面在展開。
[!--empirenews.page--]
3 人機界面設計與實現
人機界面的軟件開發(fā)環(huán)境采用微軟提供的軟件開發(fā)平臺eVC++4.0,硬件平臺采用三星公司的ARM9芯片S3C2440。模擬器由該硬件平臺的BSP經過Platform Builder4.2軟件定制而成,在應用程序的開發(fā)過程中可以脫離硬件平臺而在開發(fā)主機上直接使用模擬器進行程序調試運行,避免由于經常調試運行的原因造成每次都必須下載到硬件平臺。在eVC++4.O中使用單文檔的形式進行人機界面應用程序的開發(fā),創(chuàng)建
了一個基于CFormView的單文當應用程序,再添加幾個窗體和與之對應的基于CFormView的新視類,然后通過在CMainFrame類中添加控制代碼和菜單控制實現這兩個窗體的動態(tài)切換。這種方法避免了普通WINDOWS窗口界面上的多余的工具條、菜單、文本框等內容,完全符合人機操作界面的要求。
3.1 應用程序類
應用程序即高速工業(yè)繡花機人機界面的開發(fā),主要實現繡花機的各種動作和控制,以及用戶需求規(guī)定的各種必須的功能。根據人機界面軟件的特點,結合面向對象程序設計的要求,以及MFC框架的特點,繡花機人機界面采用文檔一視圖(Document-View)結構結合對話框來實現。整個程序分成界面,數據處理,界面/數據輔助和核心框架等幾個大類。核心框架是MFC單文檔結構應用程序的基本核心,其中的文檔類是實現繡花機各種數據管理。界面類呈現給用戶供用戶操作或瀏覽。界面/數據輔助是為了更好的呈現用戶界面和進行數據處理設計的一些輔助類。各個部分的主要類和相互關系如圖2所示。
根據高速工業(yè)繡花機人機界面的功能劃分,人機界面分成以下5部分:主刺繡界面模塊、參數設置界面模塊、花樣管理界面模塊、磁盤管理界面模塊、輔助刺繡界面模塊。
3.2 主刺繡模塊
人機界面的應用程序是根據面向對象的思想進行編程的,在界面的開發(fā)過程中都是用類來包含各數據成員和成員函數。主刺繡界面作為開機后第一個出現的界面,使用一個繼承于CFormView類的類CEMBHIDView來包含主界面上的各個數據成員和成員函數。在設計中使用CEMBH-IDView∷OnCreate()函數來動態(tài)創(chuàng)建主界面上的各種功能按鈕。CEMBHIDView類的內容如下:
[!--empirenews.page--]
通過CEMBHIDView類和相應的成員函數所實現的主刺繡界面如圖3所示。
3.3 參數設置模塊
首先設計一個基于CDialog類的CParameter類來包含參數界面中所用到的數據成員和消息響應函數。用戶通過對相的參數設置項進行設置,等待窗口消息并調用響應的窗口過程函數來進行相應的處理。由于參數設置界面所需設置的參數較多,在一個頁面難以排布下,因此,在本設計中采用TAB控件來進行分頁設計,其中用到了一個從CTabCtrl類繼承來的CTabSheet類來包含分頁操作所用到的數據成員和成員函數,用于Tab Control的控件類。在類中有一個成員變量用來記錄各子對話框的指針CDialog*m_pPages[MAX-PAGE],MAXPAGE是該類所能加載的標簽的最大值。CTabSheet類的內容如下:
[!--empirenews.page--]
在CTabSheet類中用到AddPage方法,用于記錄子對話框的指針和所使用對話框資源的ID號。在使用AddPage加入了若干子對話框后,調用CTabSheet的Show方法來真正生成標簽和子對話框。生成好標簽和子對話框后,調用CTabSheet∷SetRect()函數來計算并調整屬性頁的大小。在單擊標簽欄后,應該是相應的子對話框顯示,正在顯示的子對話框應該隱藏。因此利用ClassWizard來處理WM_LBUTTONDOWN消息。這樣利用CTabSheet類就可以輕松地在對話框上放置自己的屬性頁了,并且控件都分散在各子對話框類中,符合對象封裝的思想。而且用這個方法來制作屬性頁就可以利用ClassWizard來輕松地生成消息映射處理Tab Control的消息了。使用這個類,可以將參數設置各頁面的封裝對象關聯(lián)起來,起到分頁顯示作用。每個頁面使用一個類來封裝數據成員和成員函數。應用程序中操作的對象可以是連續(xù)的,即應用程序退出時將用戶數據保存到磁盤上,在程序重新啟動時恢復它們,這個保存和恢復的過程稱為串行化。MFC中有一個特定類CSerialize,支持對象的串行化。并利用CArchive類對象作為執(zhí)行串行化對象和存儲介質之間的中繼,執(zhí)行串行化的對象可以使用CArchive類對象進行讀寫操作。參數設置界面中用到的全局變量包含在2個從CObject類派生的CDesignParams和CGlobalV中,使用這2個類中的重載成員函數CGlobalV∷Serialize(CAr-chive& ar)、CDesignParams∷Serialize(CArchive& ar)進行實際的串行化操作。通過以上的串行化技術就可以保存參數設置中用戶設置的參數,在程序退出時這些參數設置可以被存儲,程序啟動后被讀入。參數設置界面的實現如圖4所示。
3.4 磁盤管理模塊
磁盤管理界面是使用一個CDiskManagement類來封裝花樣管理界面中用到的數據成員和成員函數。用戶通過觸摸屏進行操作時,系統(tǒng)的消息循環(huán)隊列中會產生相應的消息。根據消息中的窗口句柄,系統(tǒng)將消息發(fā)送到目標窗口,并自動啟動相應的窗口過程函數來響應。當用戶點擊“輸入花樣文件”按鈕,將調用花樣拷貝函數進行花樣格式轉換、縮略圖的生成并保存到機器內存。點擊其他的按鈕亦將產生相應的功能操作。磁盤管理界面的實現如圖5所示。
4 測試與結論
人機界面作為人與高速工業(yè)繡花機信息交互的樞紐,必須將機器信息實時、準確而且容易識別的方式傳遞給機器操作人員,才能達到人與機器的最佳配合。而基于Windows CE操作系統(tǒng)制作的人機界面能夠很好地滿足這個要求并提供更美觀、更友好和人性化的界面,它將在嵌入式產品中應用越來越廣泛。