随着工业控制系统对用户操作界面提出了越来越高的要求,监控组态软件作为强大的软件平台工具,伴随着计算机技术和分布式控制系统的广泛应用而发展起来的,监控软件在自动控制系统中的地位如图1所示。
组态软件产品出现于上世纪80年代初,目前世界上的组态软件有近百种之多,国际上知名的工控组态软件有Intouch,FIX,Paragon, Cimplicity, RSView32等,但由于价格偏高,成套系统达几十
万至几百万且界面西化,不能满足一些特殊要求,对于中小型企业来讲,许多功能用不上,造成极大的浪费,另外由于国外产品的实现细节是保密的,系统安全上受制于人,具有很大的安全隐患。国产化的组态软件逐渐成为市场上的一支生力军,但总体上讲,由于资料来源缺乏,软件工程的组织薄弱等原因,使国产化组态软件的开放性、集成性、可靠性都有一定局限性。
本课题组以工业在线检测试验过程为背景,开发具有自身特色、专用型、实时性的组态软件。我们的主要工作是在分析出DCS系统中工业数据采集和监控领域要解决的问题后,制定了监控组态软件的整体框架,在此基础上完成组态软件中比较重要的模块――图形组态系统的设计和实现,图形组态的设计实现分成动画连接组态模块,界面生成模块和数据文件管理模块三部分,另外围绕图形组态系统,进行与图形组态系统相关模块的开发和实现,其具体包括实时数据模块、历史数据库模块。
图1 DCS控制系统结构图
2 监控组态软件设计
2.1监控组态软件总体框架
图2组态软件的结构图
2.2监控组态软件实现过程
把组态软件划分为下列四个部分:图形组态(界面)系统、实时数据库系统、通信及第三方程序接口组件、I/O设备驱动(其结构图如图2所示),其中每一部分都可以进行独立开发。
课题组采用对象编程方式(OOP)进行图形界面设计,使画面精细,动画效果直观。面向对象技术以基本对象模型为单位,将对象内部处理细节封装在模型内部,重视对象模块间的接口联系和对象与外部环境间的联系,能层次清晰地表示系统全局对象模型。其主要特征概括为:抽象性、继承性、封装性和多态性。
在本软件中,把组态软件图形组态系统划分成动画连接组态模块,界面生成模块和数据文件管理模块三部分,各模块之间的关系如图3所示。
图3 图形组态系统框图
2.2.1图形生成模块的实现
创建新的图元
设置图元静态属性
编辑典型图元
建立图库
引入COM组件
处理绘图界面的闪烁
2.2.2动画连接模块的实现
动画连接组态模块完成图形的动画属性,与实时数据库中定义的变量建立相关性的连接关系,作为动画图形的驱动源。动态属性与设备的I/O变量等相关,它反映图形大小、颜色、位置、可见度、闪烁性等状态的特征参数,随着表达式的值的变化而变化。
动画连接包括颜色连接、填充连接、位置与大小变化连接、图形连接、命令连接和可视连接六部分。
2.2.3脚本模块的实现
设计人员可以利用自编的命令语言增强应用程序的灵活性。命令语言解释命令语言为运行系统功能实现的模块相当于C语言编译器的一个子模块。一个完整的编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成六个阶段。而组态软件的命令语言解释模块只需要完成词法分析和语法分析的功能。
2.2.4趋势曲线模块的实现
在组态软件中,有时要直观显示数据的变化趋势就需要用到趋势曲线。通过选择要显示的实时数据库中的变量,采用COM技术通过一个XY实时曲线控件CKChartXY显示出来。该曲线控件具有多项功能:调整大小、显示坐标、同时画8条曲线、更改曲线的颜色、背景、保存输入的数据、打印显示的曲线、可以移动游标进行点坐标的显示。
图4 趋势曲线显示效果图
监控软件实现了图形组态系统的基本功能,并且在实时数据模块和历史数据库的支持下,能够实现一定的监控功能。在此通过一个模拟实例对系统的功能进行验证。首先,建立一个工程文件(后缀为.mpj),在工程中创建画面并设计画面的属性,随后在画面中绘制用于模拟现场环境和仪表的各种控件组成监控画面;然后创建用于支持软件运行的内存数据(例如压力、温度及液位等),并把画面中的相关控件和内存数据进行连接,也即动画属性的配置。完成后点击菜单中的运行按钮进行运行基准频率和时间更新频率的设置,设置完成后画面进入模拟运行状态。如图5所示,由图可以看出当系统运行时,内存中的变量就变为了实时数据系统中的实时数据,由于是模拟运行,所以实时数据只能通过设计脚本程序进行变化,当实时数据变化时,监控画面上的对应实时数据的控件也发生相应的变化。
图5 软件模拟画面
本软件实现了以图形组态系统为中心,并以实时数据模块和历史数据库为支撑的监控组态软件基本的功能。组态软件是功能强大的工控软件,充分开发其数据接口,与用户应用程序有机地结合,实现优势互补,才能很好地满足工程实际的需要。
参考文献
[1] (美)Eugene Olafsen ,Kenn Scribner, K.David White 等,MFC Visual C++ 6 编程技术内幕,机械工业出版社,2000年2月.
[2] 张雨飞等.工控组态软件FIX与变电站仿真系统的数据接口.工业控制计算机,2001,11(11).
[3] 易江义,周彩霞.工业组态软件的发展与开发设计.洛阳工业高等专科学校学报.2003,13(1).