1 引言
为了进一步提高数控系统用户界面的友好性,开发出适合不同用户的界面,为数控系统设计一种专用的人机界面编辑工具十分必要。此工具软件主要用于创建数控系统的人机界面,可以在Windows环境下运行,通过内部图形库或自定义的图形库进行链接,编制个性化界面。采用“所见即所得”的观念,使用者可立即在屏幕上看到画面设计的实际结果:如各种字形大小、颜色、元件位置、图形等;在屏幕上的显示都会与实际人机界面所显示的画面一样。而在编辑操方法上以物件导向的理念设计,达到拖曳式编辑,使用者可将画面设计工作区中的元件,随意以滑鼠拖曳到其他位置,或改变其外形、大小等。同时,通过为元件的属性参数设置特定的事件或者特定的变量,从而与数控系统中的PLC程序或零件加工程序进行数据链接,实现数控系统供用户观察、修改和设置内部软件运行过程及数据的人机交互界面。
2 系统总体结构
2.1 数控人机界面组成元素
主要用于显示各种加工参数或状态量等数字信息,如主轴转速、进刀量、坐标位置等。变数可读,也可以修改,用户可以通过按键修改某些变数的值,以设置各种加工参数。
2)动态图素,可以用图形动画的形式来反映一些设备工作状态,如可以用动态图素来实现信号灯、错误警告、状态提示等。这些动态图素与控制器内的变量建立了对应关系,根据变量的变化,图形对象可以进行改变,变量可以是内存变量,也可以是I/0 变量。
3)静态图素,在整个界面里主要起修饰作用,用于显示一些固定不变的信息,它与以上两种图素相结合共同构成一个友好的显示界面。
2.2 界面编辑系统总体结构
界面编辑系统结构分为文件管理、屏幕图形设计、编译处理、模拟仿真等几大模块,其总体结构如图2 所示。各模块功能如下。元库文件的保存、读取和删除等。
2)屏幕图形设计模块,是一个供用户进行人机界面图形设计和显示的具有实时人机交互功能的通用性核心模块。功能特性:(1)根据数控显示界面的特点,本模块提供直线、矩形、圆、圆弧、文字、图片等基本图形元素及变数显示、动态文字、动态图片、表格、功能按键5 种特殊图形元素。用户用上述图形元素就可以很容易地设计各种操作方便、界面友好的数控人机对话界面。(2)本模块还提供移动、删除、缩放、复制和层次变换等基本图形编辑工具,方便用户灵活编辑各种图形。(3)屏幕图形元素是以矢量图形方式表达,所在编辑中不会有失真的现象。(4)每个屏幕图形元素具有自己的属性,用户通过修改图形元素的属性值来控制它的功能。
3)编译处理过程就是把设计的屏幕图形文件转换成指定数控操作显示设备能解释执行的屏幕数据的过程,即编译处理程序要完成将用户设计的屏幕图形元素的几何参数、功能属性等信息转化为数控操作系统的数据来显示。
4)模拟仿真模块为用户提供一种不经数控设备,直接在电脑上模拟仿真数控显示界面的运行环境,以检验设计的界面是否有效、友好,若不符合要求,可返回屏幕设计模块继续编辑。模拟功能分为离线模拟和在线模拟两种。离线模拟不与数控设备联系,由电脑简单模拟各屏幕显示效果;而在线模拟将由电脑接管数控操作界面的部分功能,通过串口通讯与数控设备通讯,真实再现最终界面设计效果。
3 系统主要模块的设计实现
3.1 绘图引擎的实现
本系统的核心功能就是要实现具有实时人机交互功能的界面图形设计和显示的界面编辑系统,需要一个性能较好,可扩展的绘图引擎作为后台支持。面向对象的编程技术可以帮助操作者很好地实现这一目的。
笔者结合自己开发的系统,提出如下基于WindowsGDI 二维图形引擎结构框架。该结构框架中应用程序分为两部分,一部分是封装在动态连接库中的二维绘图类,主要功能为各图形元素的创建、编辑和显示;另一部分则为主应用程序,负责数据处理、界面显示及交互控制。但就整个系统而言还包括Windows GDI 二维图形库。
由于这里所给出的只是一个系统设计思想,故未列出系统中包含的所有类和处理过程。CEiement 是一个实现图元绘制的公共基类。图元是一个几何形体,也可以是一种虚拟的图元组合,具有某种表现形式和事件响应能力;一个几何图元具有外形特征、风格和对鼠标事件、键盘事件以及特定命令的处理能力。外形特征由图元的顶点确定,可以通过控制点来改变图元的外形。CEiement 类用于实现上述图元的这些功能,其中定义了加载图元数据、绘制图元、操纵图元等所用到的公共接口或成员变量,这个基类里所定义的是图元共有的特征,而真正的功能大多数是由其派生类来实现的。如可由CEiement 派生出直线图元(Cline)、圆弧图元(Carc)、变数图元(Cvariabie)、表格图元(Ctabie)等。
Ctoois 工具类是用户利用鼠标、键盘来创建、操纵图元的中介,大致包括创建、选择和变换三种工具,创建工具能够在画布上创建出不同的图元,选择工具可以在画布上选择若干图元,变换工具是对图元进行位置的变换。
CCommand 命令类是用户行为和改变图元属性的中介。任何改变图元属性的操作都是通过某种特定命令执行的,而不论这个命令发自何处。例如,图元移动是由移动命令执行的,图元删除是由删除命令执行的。而且,大多命令的执行是可逆的,也即是可以撤销命令而恢复到执行前的状态。当然,也有些命令是不可逆的。
屏幕类Cscreen 用于实现创建图元、操纵图元、管理图元、显示图元等任务。其中定义了一个与屏幕图形设计界面(如VC + + 中的CView 类)的接口,使用该指针可完成所有与绘图引擎的交互功能,主应用程序中所有对图元的访问均通过Cscreen 间接进行。该系统结构具有良好的可扩展性,用户还可在此结构基础上进一步扩展支持更多的图元绘制和操作。
3.2 编译器的设计
用户设计好的图形界面必须经过编译、优化、压缩等数据处理后,才能被控制器显示驱动程序所使用。编译系统的功能主要是以屏幕为单位处理,将其中的图形元素的几何参数、功能属性等信息,翻译成便于计算机处理的格式,存放在指定的内存专用区域,显示驱动程序便可对界面数据解释并显示在屏幕上。
编译器对源屏幕数据逐屏扫描一遍,对屏幕上的图元按不同类型把转换出来的数据放在各自的临时数据区规定的单元中,这些数据区分别是变数数据区、文字数据区和图档数据区,在这个过程中要对编译数据作压缩处理,对相同的数据则不存入数据区,以减小编译后的数据量。最后将这些数据区连接起来并生成一个完整的界面数据文件,这个数据文件即可导入到控制器里运行。
4 结语
用本系统设计的操作界面,不但使数控设备的性能和特点一目了然,而且在操作过程中也带来诸多方便。在没有人机界面时,往往为了适应不同的工件尺寸,操作人员不得不时时改变加工程序,影响加工效率。而采用人机界面后,就可以将加工程序编成一个“傻瓜程序”,将需要改变的工作参数用一些变量代替,操作人员只需将这些变量对应的值输入到界面中相应的位置即可。
综上所述,本软件为用户开发应用界面提供了开放的功能和灵活的方法,也带来方便的操作和效率的提高。软件更重要的优势就是易学易用,完全不需要记忆任何功能指令或坐标值,只要操纵滑鼠,就能完成画面设计。
(审核编辑: 智汇胡妮)