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