李 洋,林 曉,汪鑄杰,黨學(xué)明
(合肥工業(yè)大學(xué) 儀器科學(xué)與光電工程學(xué)院,安徽 合肥 230009)
平板顯示屏自動(dòng)光學(xué)檢測(cè)系統(tǒng)(簡(jiǎn)稱平板檢測(cè)系統(tǒng))是集運(yùn)動(dòng)控制、在線檢測(cè)和工業(yè)計(jì)算機(jī)為一體的自動(dòng)化精密儀器,廣泛運(yùn)用于平板制造業(yè)生產(chǎn)線[1]。工業(yè)現(xiàn)場(chǎng)的設(shè)備具有良好設(shè)計(jì)的人機(jī)交互界面,能及時(shí)發(fā)現(xiàn)問題,解決故障,縮短檢修調(diào)試時(shí)間,同時(shí)可以提高用戶的工作效率和舒適性[2]。
平板檢測(cè)系統(tǒng)放置于工業(yè)生產(chǎn)流水線中,設(shè)備的使用對(duì)象是生產(chǎn)操作員和檢修設(shè)備的工程師,人機(jī)界面應(yīng)當(dāng)滿足不同工種人員的使用需求,同時(shí)基于人機(jī)雙向的信息交互,人機(jī)界面的設(shè)計(jì)應(yīng)當(dāng)遵循啟示性、容錯(cuò)性[3]、易用性、美觀性[4]等設(shè)計(jì)要求。
基于對(duì)平板檢測(cè)系統(tǒng)的工作流程和功能需求的分析,人機(jī)界面設(shè)計(jì)采用“總-分”結(jié)構(gòu)。如圖1所示,系統(tǒng)可以運(yùn)行在兩種狀態(tài):自動(dòng)模式和檢修模式。自動(dòng)模式下,使用對(duì)象為現(xiàn)場(chǎng)操作員,用戶權(quán)限受到限制,功能簡(jiǎn)單; 檢修模式下,使用對(duì)象為設(shè)備工程師,用戶權(quán)限高,顯示內(nèi)容廣,操作功能多。在系統(tǒng)設(shè)置界面下,工程師和操作員都可以設(shè)置系統(tǒng)運(yùn)行參數(shù)。
圖1 人機(jī)界面總體架構(gòu)
根據(jù)人機(jī)界面“總-分”總體架構(gòu),采用“父-子”窗口顯示界面,如圖2所示。其中主界面顯示主要參數(shù),多個(gè)子界面集成特定功能。父窗口作為主界面,子窗口顯示內(nèi)容根據(jù)“模式+功能”組合確定。
圖2 界面顯示區(qū)劃
主界面顯示系統(tǒng)時(shí)間、系統(tǒng)狀態(tài)、界面標(biāo)題、關(guān)鍵參數(shù)和運(yùn)行提示。系統(tǒng)操作人員在該界面上能夠準(zhǔn)確了解系統(tǒng)運(yùn)行過程中的各種基本信息,對(duì)系統(tǒng)當(dāng)前的狀態(tài)做出合理的判斷。另外主界面下方提供模式切換和功能選擇按鈕,由此可以進(jìn)入自動(dòng)模式界面、檢修模式界面和系統(tǒng)設(shè)置界面。
功能界面是子界面,包括自動(dòng)模式下的狀態(tài)顯示界面、監(jiān)控界面和錯(cuò)誤報(bào)警界面,檢修模式下的主氣路界面、電磁閥界面、運(yùn)動(dòng)軸界面、組合動(dòng)作界面和照明界面。自動(dòng)模式下的功能界面以顯示和輔助功能為主,檢修模式下的功能界面可以控制系統(tǒng)底層元件動(dòng)作。
參數(shù)設(shè)置界面用于對(duì)系統(tǒng)運(yùn)行的各種參數(shù)進(jìn)行設(shè)置。其中網(wǎng)絡(luò)設(shè)置用于系統(tǒng)聯(lián)網(wǎng)功能的IP和端口設(shè)置,運(yùn)動(dòng)軸位置設(shè)置用于限制電機(jī)行程。其他設(shè)置用于系統(tǒng)啟動(dòng)時(shí)狀態(tài)初始化。
界面的動(dòng)態(tài)顯示是正確處理“模式切換+功能選擇”的組合。分析模式切換,應(yīng)當(dāng)符合以下要求:
(1) 自動(dòng)模式與檢修模式可以相互切換。
(2) 自動(dòng)模式與檢修模式互斥,設(shè)備工作在一種模式。
(3) 權(quán)限等級(jí):檢修模式>自動(dòng)模式>系統(tǒng)設(shè)置。
(4) 系統(tǒng)設(shè)置運(yùn)行在自動(dòng)模式下,即進(jìn)入系統(tǒng)設(shè)置,系統(tǒng)切換到自動(dòng)模式。
考慮用戶所有可能的輸入,模式切換響應(yīng)如表1所示。表格左側(cè)為系統(tǒng)當(dāng)前模式,右側(cè)為單擊不同模式按鈕的響應(yīng)。
(1) 自動(dòng)按鈕只保留指示作用,避免誤點(diǎn)擊自動(dòng)按鈕。
(2) 自動(dòng)模式是系統(tǒng)的基礎(chǔ)模式,若要由其他模式進(jìn)入自動(dòng)模式,單擊該模式的返回功能按鈕。
(3) 檢修模式因?yàn)槠錂?quán)限最高,在進(jìn)入或退出時(shí)有提示框確認(rèn)。
(4) 檢修模式和自動(dòng)模式的訪問區(qū)別,是為了防止使用者忽略性地點(diǎn)擊提示框。
表1 模式切換
本文中人機(jī)界面的軟件開發(fā)環(huán)境是Visual Studio 2008,界面顯示使用NI Measurement Studio提供的CWUI控件。這種控件比Windows內(nèi)置的控件美觀,色彩豐富,3D效果突出,滿足工業(yè)現(xiàn)場(chǎng)人機(jī)操作界面需求。人機(jī)界面的硬件載體選用研華科技工控機(jī)PPC-3120,這是一款12.1英寸的工業(yè)平板電腦,可滿足嚴(yán)格現(xiàn)場(chǎng)環(huán)境下的多種需求,運(yùn)行穩(wěn)定可靠[5]。
MFC開發(fā)應(yīng)用程序有兩種方式:基于對(duì)話框和基于文檔視圖[6]。人機(jī)界面主要實(shí)現(xiàn)平板檢測(cè)系統(tǒng)的各種功能和動(dòng)作,重點(diǎn)是實(shí)現(xiàn)系統(tǒng)底層的控制,根據(jù)系統(tǒng)特點(diǎn),本文采用MFC類向?qū)?chuàng)建基于對(duì)話框的應(yīng)用程序。根據(jù)平板檢測(cè)系統(tǒng)人機(jī)界面的功能劃分,人機(jī)界面由主界面、功能界面、參數(shù)設(shè)置界面組成。整個(gè)程序由框架類、對(duì)話框類、控件類邏輯實(shí)現(xiàn),各個(gè)主要類之間的相互關(guān)系如圖3所示。
圖3 界面類關(guān)系圖
主界面是系統(tǒng)啟動(dòng)后出現(xiàn)的第一個(gè)界面,并在程序生命周期內(nèi)持續(xù)顯示。以框架自動(dòng)生成的對(duì)話框?yàn)榛A(chǔ),修改其屬性為無邊框,拖放其邊界以適應(yīng)PPC-3120觸摸屏界面。根據(jù)1.1節(jié)的界面布局,編輯主界面如圖4所示。
圖4 主界面
圖6 ChangeModeFuncNo函數(shù)流程圖
子界面可以采用TAB控件來進(jìn)行分頁設(shè)計(jì),當(dāng)子界面內(nèi)容較多時(shí),切換界面會(huì)有卡頓現(xiàn)象。本文提出 “創(chuàng)建-隱藏-顯示”的新方式:在程序初始化時(shí),創(chuàng)建所有的子界面并隱藏窗口,將子界面對(duì)象指針依次存入指向非模態(tài)對(duì)話框的指針數(shù)組。界面切換的實(shí)質(zhì)是隱藏當(dāng)前窗口,顯示指定窗口。
參數(shù)設(shè)置界面使用一個(gè)文件名為config.ini的配置文件,調(diào)用Windows配置文件讀寫函數(shù)保存設(shè)置參數(shù)或者恢復(fù)初始參數(shù)。
在MFC應(yīng)用程序框架中為每個(gè)子界面添加子界面類,并在程序初始化時(shí)創(chuàng)建子界面窗口并隱藏。
在主界面類中定義int成員變量m_iMode和m_iFuncNo,m_iMode取值0、1、2,分別對(duì)應(yīng)三種模式;m_iFuncNo取值0、1、2、3、4、5、6, 分別對(duì)應(yīng)七個(gè)功能按鈕。
圖5 界面顯示流程
模式切換的實(shí)現(xiàn)方式是將系統(tǒng)當(dāng)前模式功能值對(duì)(m_iMode,m_iFuncNo)與下一個(gè)狀態(tài)值對(duì)(imode,ifunc)進(jìn)行比較,重置按鈕狀態(tài),并保存新值。最后根據(jù)m_iMode和m_iFuncNo的值顯示正確的對(duì)話框和模式功能按鈕控件。具體流程如圖5所示。
在主界面類中定義以下三個(gè)函數(shù):
ChangeModeFuncNo(int imode, int ifunc),根據(jù)模式和功能按鈕狀態(tài)來改變(m_iMode,m_iFuncNo)的值。函數(shù)流程圖如圖6所示。
ShowFuncBTN(int imode,int ifunc),根據(jù)(m_iMode,m_iFuncNo)的值顯示功能按鈕。
圖7 ShowDlg函數(shù)流程圖
ShowDlg(int imode, int ifunc),根據(jù)(m_iMode,m_iFuncNo)的值顯示或者隱藏對(duì)話框。函數(shù)流程圖如圖7所示。
模式切換和功能選擇的邏輯實(shí)現(xiàn)依賴上述三個(gè)函數(shù)順序調(diào)用,經(jīng)實(shí)際測(cè)試,界面切換流暢,顯示正確。
人機(jī)界面模式切換邏輯復(fù)雜,使用參數(shù)對(duì)有利于代碼與界面分離。采用“總-分”邏輯結(jié)構(gòu)和“父-子”界面顯示,人機(jī)界面邏輯清晰,層次分明。未來系統(tǒng)添加功能,即使邏輯流程更加繁雜,代碼與界面的更新亦非常方便。
[1] 劉美津, 黨學(xué)明, 李洋. 平板檢測(cè)系統(tǒng)直線電機(jī)運(yùn)動(dòng)平穩(wěn)性研究[J]. 制造業(yè)自動(dòng)化, 2017, 39(3):77-81
[2] 李天科. 以人為本的人機(jī)界面設(shè)計(jì)思想[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2005, 26(5):1228-1229.
[3] 孫揚(yáng), 浦云明, 黃淑貞. 基于人機(jī)交互的界面設(shè)計(jì)研究[J]. 現(xiàn)代計(jì)算機(jī), 2012(23):29-33.
[4] 鮑珊, 韓春明, 肖峰. YH40型自動(dòng)精密液壓校直機(jī)中的人機(jī)界面設(shè)計(jì)[J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2003, 26(3):422-426.
[5] 何小虎. 平板顯示屏自動(dòng)光學(xué)檢測(cè)系統(tǒng)的運(yùn)動(dòng)控制技術(shù)研究[D]. 合肥:合肥工業(yè)大學(xué), 2016.
[6] 侯俊杰. 深入淺出MFC[M]. 武漢:華中理工大學(xué)出版社, 2001.