组态软件用户图形界面的设计与开发
摘 要:设计并开发了一种基于面向对象组态软件的用户图形界面,介绍了用户图形界面的设计模式,并且描述了主要类的设计,着重分析了矢量图形系统和动画处理各功能的开发技术。充分运用了 语言的封装性、继承性和虚拟多态性,VG实现了组态软件的独立性、层次性和可重用性。
1.概要
随着复杂工业的规模化发展,复杂工业控制管理系统开始出现以下特点:复杂的信息模型及其引起的分布式传感器数据量和计算的增加;信息处理方式复杂性增加,描述模型的多样性;复杂的多变量、强耦合、非线性和时变使xx机理建模日益困难;大量不确定因素,如环境动态变化 输入信息中,的噪声、干扰与误差,信息的未知性和不xx性;多层次、多任务的控制要求。以上特点给复杂的工业系统现场和设备级的控制和管理带来巨大的挑战。为解决上述问题,提高企业自动化运营管理程度,项目开发了面向复杂工业过程的实时分布式控制组态软件平台。组态的概念最早来自英文 ,其含义是使用软件工具对计算机及软件的各种资源进行配置Configuration,达到使计算机或软件按照预先设置,自动执行特定任务,满足使用者要求的目的。组态软件用户界面是一个进行图形系统生成工作所依赖的开发环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统。生成的图形目标应用系统可在图形运行环境中运行。
由于工业设备形状的多样性以及设备运行状况的复杂性,用户图形界面的实现有一定难度。本文就此设计了一种通用的用户图形界面
2.组态软件用户图形界面的总体设计
COM组件提供的接口类库和Visual Graph内部脚本类库在形式上相同,掌握了ActiveX接口类库就能用脚本语言编程,而学会脚本语言,也就会使用COM接口了。下面列出所有类库接口:
COM接口 |
名称 |
说明 |
Ivgctrl |
COM组件 |
COM组件 |
Ivg |
|
图形文件打开后,本身就是视图类 |
ISheet |
|
一个图形文件可以包含多个页面,ActiveSheet得到当前工作页面,页面是从元件单元类继承下来的 |
IUnit |
|
页面上的所有图形都是图形单元类 |
IText |
|
从图形单元类继承下来 |
IShape |
|
从图形单元类继承下来 |
ILine |
|
从图形单元类继承下来 |
IElement |
|
从图形单元类继承下来 |
IGroup |
|
一个页面上可以建立多个单元组,实际上就是页面图形的子集 |
ISystemParams |
|
整个Visual Graph系统的控制参数,影响所有图形 |
构成现场各过程图形的画面由各个简单的图形对象组成。每个简单的对象均有影响其外观的属性。对象的基本属性包括颜色高度、宽度、取向和位置移动等。这些属性可以是静态的,也可以是动态的。静态属性在系统投入运行后保持不变,与原来组态时一致。而动态属性则与表达式的值有关。表达式可以是来自 设备的变量,也可以是由变量和I/O运算符组成的数学表达式。这种对象的动态属性随着表达式值的变化而实时改变。静态属性和动态属性分别是在矢量制图和动画处理时对其进行设置,所示。在本文中我们把2用户图形界面设计分为两部分完成,即矢量制图和动画处理。用户图形界面封装了图形组态中可能使用的各种图元和动画连接,主程序使用矢量图形库绘制各种图形。矢量图形库充分利用了C++的继承与虚拟多态技术,以 C++ Windows的动态连接库的形式来实现。
3 组态软件的矢量制图
现在矢量图形已经应用于计算机应用的各个领域。由于矢量图保存的是图元各点的坐标,因此,矢量图具有许多别的图形格式(如bmp、jpeg等)所不具有的优点。例如,由于它保存的是图元的坐标,因此无论放大图形或缩小图形都不会出现失真和变形,而且所占用的空间也较小。一般情况下,组态软件的画面应该以矢量图形格式存储。
3.1矢量图形系统的结构
3.2图形元素类的设计
对各种图形元素进行分析,可以发现各类图形元素具有一些相同的属性和功能,如图形元素的颜色、线型、线宽和所在层等属性和得到一个图形元素是否做了删除标志等操作。把这些图形元素中共性的东西(属性和操作),组织存放在一个图形元素基类中,具体的图形元素类由这个类派生。这个基类 是由 的 类直接派生的,而由图形元素基类 派生出图形元素的直线类 、连续直线或多边形区域类 、圆类 、圆弧类 、标注文本类和显示图像文件的位图类 等。
3.3矢量图形系统功能的设计
l 包含编辑与运行状态,可以任意操纵与控制图形变化,实现各种仿真与建模。
l 图形和图库是统一的XML格式,便于传输、存储和维护,支持WEB开发。
l 响应众多的图形操作事件,任意给图形添加属性成函数,任意自定义图形。
l 可以建立和分析图形间的任意拓朴连接关系,实现各种逻辑运算与控制。
l 内含面向对象的Visual Graph脚本语言,简洁易用的COM类库接口。
l 每个图形都是对象,拥有众多的属性和函数,可以方便地编辑和操纵。
l 支持报表开发,表格高度智能,可以制作超酷图形界面,轻松换肤。
l 非常容易地开发出任何复杂变化的图形,轻松实现自己的图形库。
l 技术完善:多页面、多图层、表格图形混排、透明度、自由旋转、动画效果、自定义线型、网纹、箭头、自定义任意多个文字标注、自定义提示窗口、自定义图元连接点、自定义光标、图形保护、控制点,支持图形的逻辑分组,允许图元嵌套构建更复杂的图元,可以给图形添加属性或者函数。
l 混合编程:不仅其他程序可以操控Visual Graph的一切,而且Visual Graph的脚本可以调用其他语言的程序,也可以调用DLL,任意扩充内部函数,扩展功能。脚本语言的编程习惯和一般语言相同,各种属性、函数名称也都相同,尽量取悦于程序员,使迅速熟悉Visual Graph。
图形数据的管理方法即文档管理机制,是一套xx面向对象的文档组织机制。我们的设计文档的基本思路是:每个图形元素是图形元素类创建的一个对象.
为自动化工程技术人员提供了一种采用搭积木的方式制作现场控制过程和控制界面的工具。提供了良好的环境、用户可以方便地完成从图形绘制和动画处理的过程。本图形用户界面已应用于 实时分布式组态控制VG软件、复杂工业过程智能控制和大型泵站综合自动化系统.
本文出自: