李 洋,林 晓,汪铸杰,党学明
(合肥工业大学 仪器科学与光电工程学院,安徽 合肥 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.