李 洋,林 曉,汪鑄杰,黨學明
(合肥工業大學 儀器科學與光電工程學院,安徽 合肥 230009)
平板顯示屏自動光學檢測系統(簡稱平板檢測系統)是集運動控制、在線檢測和工業計算機為一體的自動化精密儀器,廣泛運用于平板制造業生產線[1]。工業現場的設備具有良好設計的人機交互界面,能及時發現問題,解決故障,縮短檢修調試時間,同時可以提高用戶的工作效率和舒適性[2]。
平板檢測系統放置于工業生產流水線中,設備的使用對象是生產操作員和檢修設備的工程師,人機界面應當滿足不同工種人員的使用需求,同時基于人機雙向的信息交互,人機界面的設計應當遵循啟示性、容錯性[3]、易用性、美觀性[4]等設計要求。
基于對平板檢測系統的工作流程和功能需求的分析,人機界面設計采用“總-分”結構。如圖1所示,系統可以運行在兩種狀態:自動模式和檢修模式。自動模式下,使用對象為現場操作員,用戶權限受到限制,功能簡單; 檢修模式下,使用對象為設備工程師,用戶權限高,顯示內容廣,操作功能多。在系統設置界面下,工程師和操作員都可以設置系統運行參數。

圖1 人機界面總體架構
根據人機界面“總-分”總體架構,采用“父-子”窗口顯示界面,如圖2所示。其中主界面顯示主要參數,多個子界面集成特定功能。父窗口作為主界面,子窗口顯示內容根據“模式+功能”組合確定。

圖2 界面顯示區劃
主界面顯示系統時間、系統狀態、界面標題、關鍵參數和運行提示。系統操作人員在該界面上能夠準確了解系統運行過程中的各種基本信息,對系統當前的狀態做出合理的判斷。另外主界面下方提供模式切換和功能選擇按鈕,由此可以進入自動模式界面、檢修模式界面和系統設置界面。
功能界面是子界面,包括自動模式下的狀態顯示界面、監控界面和錯誤報警界面,檢修模式下的主氣路界面、電磁閥界面、運動軸界面、組合動作界面和照明界面。自動模式下的功能界面以顯示和輔助功能為主,檢修模式下的功能界面可以控制系統底層元件動作。
參數設置界面用于對系統運行的各種參數進行設置。其中網絡設置用于系統聯網功能的IP和端口設置,運動軸位置設置用于限制電機行程。其他設置用于系統啟動時狀態初始化。
界面的動態顯示是正確處理“模式切換+功能選擇”的組合。分析模式切換,應當符合以下要求:
(1) 自動模式與檢修模式可以相互切換。
(2) 自動模式與檢修模式互斥,設備工作在一種模式。
(3) 權限等級:檢修模式>自動模式>系統設置。
(4) 系統設置運行在自動模式下,即進入系統設置,系統切換到自動模式。
考慮用戶所有可能的輸入,模式切換響應如表1所示。表格左側為系統當前模式,右側為單擊不同模式按鈕的響應。
(1) 自動按鈕只保留指示作用,避免誤點擊自動按鈕。
(2) 自動模式是系統的基礎模式,若要由其他模式進入自動模式,單擊該模式的返回功能按鈕。
(3) 檢修模式因為其權限最高,在進入或退出時有提示框確認。
(4) 檢修模式和自動模式的訪問區別,是為了防止使用者忽略性地點擊提示框。

表1 模式切換
本文中人機界面的軟件開發環境是Visual Studio 2008,界面顯示使用NI Measurement Studio提供的CWUI控件。這種控件比Windows內置的控件美觀,色彩豐富,3D效果突出,滿足工業現場人機操作界面需求。人機界面的硬件載體選用研華科技工控機PPC-3120,這是一款12.1英寸的工業平板電腦,可滿足嚴格現場環境下的多種需求,運行穩定可靠[5]。
MFC開發應用程序有兩種方式:基于對話框和基于文檔視圖[6]。人機界面主要實現平板檢測系統的各種功能和動作,重點是實現系統底層的控制,根據系統特點,本文采用MFC類向導創建基于對話框的應用程序。根據平板檢測系統人機界面的功能劃分,人機界面由主界面、功能界面、參數設置界面組成。整個程序由框架類、對話框類、控件類邏輯實現,各個主要類之間的相互關系如圖3所示。

圖3 界面類關系圖
主界面是系統啟動后出現的第一個界面,并在程序生命周期內持續顯示。以框架自動生成的對話框為基礎,修改其屬性為無邊框,拖放其邊界以適應PPC-3120觸摸屏界面。根據1.1節的界面布局,編輯主界面如圖4所示。

圖4 主界面

圖6 ChangeModeFuncNo函數流程圖
子界面可以采用TAB控件來進行分頁設計,當子界面內容較多時,切換界面會有卡頓現象。本文提出 “創建-隱藏-顯示”的新方式:在程序初始化時,創建所有的子界面并隱藏窗口,將子界面對象指針依次存入指向非模態對話框的指針數組。界面切換的實質是隱藏當前窗口,顯示指定窗口。
參數設置界面使用一個文件名為config.ini的配置文件,調用Windows配置文件讀寫函數保存設置參數或者恢復初始參數。
在MFC應用程序框架中為每個子界面添加子界面類,并在程序初始化時創建子界面窗口并隱藏。
在主界面類中定義int成員變量m_iMode和m_iFuncNo,m_iMode取值0、1、2,分別對應三種模式;m_iFuncNo取值0、1、2、3、4、5、6, 分別對應七個功能按鈕。

圖5 界面顯示流程
模式切換的實現方式是將系統當前模式功能值對(m_iMode,m_iFuncNo)與下一個狀態值對(imode,ifunc)進行比較,重置按鈕狀態,并保存新值。最后根據m_iMode和m_iFuncNo的值顯示正確的對話框和模式功能按鈕控件。具體流程如圖5所示。
在主界面類中定義以下三個函數:
ChangeModeFuncNo(int imode, int ifunc),根據模式和功能按鈕狀態來改變(m_iMode,m_iFuncNo)的值。函數流程圖如圖6所示。
ShowFuncBTN(int imode,int ifunc),根據(m_iMode,m_iFuncNo)的值顯示功能按鈕。

圖7 ShowDlg函數流程圖
ShowDlg(int imode, int ifunc),根據(m_iMode,m_iFuncNo)的值顯示或者隱藏對話框。函數流程圖如圖7所示。
模式切換和功能選擇的邏輯實現依賴上述三個函數順序調用,經實際測試,界面切換流暢,顯示正確。
人機界面模式切換邏輯復雜,使用參數對有利于代碼與界面分離。采用“總-分”邏輯結構和“父-子”界面顯示,人機界面邏輯清晰,層次分明。未來系統添加功能,即使邏輯流程更加繁雜,代碼與界面的更新亦非常方便。
[1] 劉美津, 黨學明, 李洋. 平板檢測系統直線電機運動平穩性研究[J]. 制造業自動化, 2017, 39(3):77-81
[2] 李天科. 以人為本的人機界面設計思想[J]. 計算機工程與設計, 2005, 26(5):1228-1229.
[3] 孫揚, 浦云明, 黃淑貞. 基于人機交互的界面設計研究[J]. 現代計算機, 2012(23):29-33.
[4] 鮑珊, 韓春明, 肖峰. YH40型自動精密液壓校直機中的人機界面設計[J]. 合肥工業大學學報(自然科學版), 2003, 26(3):422-426.
[5] 何小虎. 平板顯示屏自動光學檢測系統的運動控制技術研究[D]. 合肥:合肥工業大學, 2016.
[6] 侯俊杰. 深入淺出MFC[M]. 武漢:華中理工大學出版社, 2001.