微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于WinCE的高速工业绣花机人机界面设计与实现

基于WinCE的高速工业绣花机人机界面设计与实现

时间:03-08 来源:互联网 点击:

3 人机界面设计与实现
人机界面的软件开发环境采用微软提供的软件开发平台eVC++4.0,硬件平台采用三星公司的ARM9芯片S3C2440。模拟器由该硬件平台的BSP经过Platform Builder4.2软件定制而成,在应用程序的开发过程中可以脱离硬件平台而在开发主机上直接使用模拟器进行程序调试运行,避免由于经常调试运行的原因造成每次都必须下载到硬件平台。在eVC++4.O中使用单文档的形式进行人机界面应用程序的开发,创建
了一个基于CFormView的单文当应用程序,再添加几个窗体和与之对应的基于CFormView的新视类,然后通过在CMainFrame类中添加控制代码和菜单控制实现这两个窗体的动态切换。这种方法避免了普通WINDOWS窗口界面上的多余的工具条、菜单、文本框等内容,完全符合人机操作界面的要求。
3.1 应用程序类
应用程序即高速工业绣花机人机界面的开发,主要实现绣花机的各种动作和控制,以及用户需求规定的各种必须的功能。根据人机界面软件的特点,结合面向对象程序设计的要求,以及MFC框架的特点,绣花机人机界面采用文档一视图(Document-View)结构结合对话框来实现。整个程序分成界面,数据处理,界面/数据辅助和核心框架等几个大类。核心框架是MFC单文档结构应用程序的基本核心,其中的文档类是实现绣花机各种数据管理。界面类呈现给用户供用户操作或浏览。界面/数据辅助是为了更好的呈现用户界面和进行数据处理设计的一些辅助类。各个部分的主要类和相互关系如图2所示。


根据高速工业绣花机人机界面的功能划分,人机界面分成以下5部分:主刺绣界面模块、参数设置界面模块、花样管理界面模块、磁盘管理界面模块、辅助刺绣界面模块。
3.2 主刺绣模块
人机界面的应用程序是根据面向对象的思想进行编程的,在界面的开发过程中都是用类来包含各数据成员和成员函数。主刺绣界面作为开机后第一个出现的界面,使用一个继承于CFormView类的类CEMBHIDView来包含主界面上的各个数据成员和成员函数。在设计中使用CEMBH-IDView∷OnCreate()函数来动态创建主界面上的各种功能按钮。CEMBHIDView类的内容如下:

通过CEMBHIDView类和相应的成员函数所实现的主刺绣界面如图3所示。

3.3 参数设置模块
首先设计一个基于CDialog类的CParameter类来包含参数界面中所用到的数据成员和消息响应函数。用户通过对相的参数设置项进行设置,等待窗口消息并调用响应的窗口过程函数来进行相应的处理。由于参数设置界面所需设置的参数较多,在一个页面难以排布下,因此,在本设计中采用TAB控件来进行分页设计,其中用到了一个从CTabCtrl类继承来的CTabSheet类来包含分页操作所用到的数据成员和成员函数,用于Tab Control的控件类。在类中有一个成员变量用来记录各子对话框的指针CDialog*m_pPages[MAX-PAGE],MAXPAGE是该类所能加载的标签的最大值。CTabSheet类的内容如下:

在CTabSheet类中用到AddPage方法,用于记录子对话框的指针和所使用对话框资源的ID号。在使用AddPage加入了若干子对话框后,调用CTabSheet的Show方法来真正生成标签和子对话框。生成好标签和子对话框后,调用CTabSheet∷SetRect()函数来计算并调整属性页的大小。在单击标签栏后,应该是相应的子对话框显示,正在显示的子对话框应该隐藏。因此利用ClassWizard来处理WM_LBUTTONDOWN消息。这样利用CTabSheet类就可以轻松地在对话框上放置自己的属性页了,并且控件都分散在各子对话框类中,符合对象封装的思想。而且用这个方法来制作属性页就可以利用ClassWizard来轻松地生成消息映射处理Tab Control的消息了。使用这个类,可以将参数设置各页面的封装对象关联起来,起到分页显示作用。每个页面使用一个类来封装数据成员和成员函数。应用程序中操作的对象可以是连续的,即应用程序退出时将用户数据保存到磁盘上,在程序重新启动时恢复它们,这个保存和恢复的过程称为串行化。MFC中有一个特定类CSerialize,支持对象的串行化。并利用CArchive类对象作为执行串行化对象和存储介质之间的中继,执行串行化的对象可以使用CArchive类对象进行读写操作。参数设置界面中用到的全局变量包含在2个从CObject类派生的CDesignParams和CGlobalV中,使用这2个类中的重载成员函数CGlobalV∷Serialize(CAr-chive& ar)、CDesignParams∷Serialize(CArchive& ar)进行实际的串行化操作。通过以上的串行化技术就可以保存参数设置中用户设置的参数,在程序退出时这些参数设置可以被存储,程序启动后被读入。参数设置界面的实现如图4所示。

3.4 磁盘管理模块
磁盘管理界面是使用一个CDiskManagement类来封装花样管理界面中用到的数据成员和成员函数。用户通过触摸屏进行操作时,系统的消息循环队列中会产生相应的消息。根据消息中的窗口句柄,系统将消息发送到目标窗口,并自动启动相应的窗口过程函数来响应。当用户点击“输入花样文件”按钮,将调用花样拷贝函数进行花样格式转换、缩略图的生成并保存到机器内存。点击其他的按钮亦将产生相应的功能操作。磁盘管理界面的实现如图5所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top