计算机控制技术(MCGS实现)
上QQ阅读APP看书,第一时间看更新

2.2 知识链接

2.2.1 控制系统应用软件概述

1.控制系统应用软件的种类

测控软件可以分为单任务和多任务两大类。

单任务测控软件完成的任务比较简单,或程序所执行的任务是预先安排好的,这种单任务测控软件也可以在其中引入中断处理程序。

多任务测控软件比较复杂,系统并行地运行多个任务,分别处理不同的事件,并以某种方式分时占用计算机资源。多任务测控软件往往需要多任务操作系统的支持,由操作系统来完成多任务的调度工作。基于DOS的多任务功能往往由测控软件设计者自身完成,而基于多任务操作系统平台(如Windows、OS/2、UNIX等)的多任务功能则由操作系统来完成。鉴于Windows的普及性,许多软件商都推出了基于Windows平台的测控软件。

测控软件又可分为专用和通用两大类。

专用测控软件针对某个特定的测控系统而研制,检测点数、控制回路数、控制策略、显示界面以及报表功能都是相对固定的,无法做大的改动。

通用测控软件也称为组态软件,它不针对具体的测控对象,而是提供一个开发平台,使设计者能快速地根据不同的测控对象构成具体的测控系统。

2.控制系统应用软件的功能

(1)数据输入/输出功能

过程数据输入/输出是测控软件的基本功能之一。数据输入包括来自现场的各种数据转换值、读数值和状态值等,以及来自控制台的各种输入值(如设定值和报警限等)。数据输出包括送往现场的控制量、逻辑控制信号以及送往控制台的各种指示信号。

即使是最简单的测控软件,也需具备数据采集功能和参数报警功能。

(2)回路控制功能

回路控制是测控软件最重要的功能之一。计算机测控系统的基本任务和周期性任务就是根据设定值与现场测量值获得偏差信号,由偏差信号经一定控制算法获得输出控制量,并将该控制量送往执行器,通过调节物料流量或能量,使控制对象的被控量逼近系统的目标值(设定值)。由于信号的输入、输出构成了一个环路,且控制过程是周期性的,因此称之为回路控制。一个系统有多少个控制点就有多少个控制回路,检测点的数目至少等于控制回路的数目。

(3)界面显示功能

不同的测控系统所要求的显示界面是不同的。但界面的种类大体包括总貌显示界面、棒图显示界面、细目显示界面、实时趋势界面、历史趋势界面、报警界面、回路控制界面、参数总表界面、操作记录界面、事故追忆界面及工艺流程界面等。

(4)报表功能

报表的种类是多种多样的,不同的测控系统、不同的用户对报表的格式有不同的要求。根据报表的打印启动方式来分类,主要有定时报表、随机报表和条件报表等。时报表、班报表、周报表、月报表及年报表均可视为定时报表,定时报表在定时时间到点时由系统自动打印输出。随机报表可由操作人员随时启动报表打印输出;条件报表则只有条件满足时由系统自动启动打印操作,如出现某个事故或报警信号时,自动打印有关数据。

(5)系统生成功能

专用的测控软件一般不具有系统生成功能,而一个通用的测控软件往往具有系统生成功能。系统生成功能即系统组态功能,主要包括数据库生成、历史数据库生成、图形生成、报表生成、顺序控制生成及连续控制生成等诸多子系统。

(6)通信功能

运行在单机控制系统的测控软件一般不具有通信功能,即使有通信功能,也只用于扩充系统。运行在多机系统的测控软件必须具有通信功能。多机控制系统往往又是二级或多级控制系统。上位机与上位机之间一般采用通用的网络通信,如以太网、TCP/IP等。上位机与下位机之间一般都采用RS-485总线式通信网络或具有实时性的通信网络及其协议,以确保控制功能的实时性和可靠性。

(7)其他功能

1)控制策略:为控制系统提供可供选择的控制策略方案。

2)数据存储:存储历史数据并支持历史数据的查询。

3)系统保护:自诊断、断电处理、备用通道切换和为提高系统可靠性、维护性采取的措施。

4)数据共享:具有与第三方程序的接口,方便数据共享。

应该指出,并非每项功能都是任何测控软件所必需的,有的测控软件可能只需要其中的几项功能。

3.控制系统应用软件的功能模块

目前,在计算机控制系统中,控制软件除控制生产过程之外,还对生产过程实现管理,根据控制软件的功能,一个工业控制软件应包含以下几个主要模块。

(1)数据采集及处理模块

实时数据采集程序主要完成多路信号(包括模拟量、开关量、数字量和脉冲量)的采样、输入变换和存储等。数据处理程序包括:数字滤波程序,用来滤除干扰造成的错误数据或不宜使用的数据;线性化处理程序用以对检测元件或变送器的非线性应用软件补偿;标度变换程序用以把采集到的数字量转换成操作人员所熟悉的工程量;数字信号采集与处理程序用以对数字输入信号进行采集及码制之间的转换,如BCD码转换成ASCⅡ码等;脉冲信号处理程序用以对输入的脉冲信号进行电平高低判断和计数;开关信号处理程序用以判断开关信号输入状态的变化情况,如果发生变化,则执行相应的处理程序;数据可靠性检查程序用来检查是可靠输入数据还是故障数据。

(2)控制模块

控制算法程序是计算机控制系统中的一个核心程序模块,主要实现按所选控制规律的计算,产生对应的控制量。它主要实现对系统的调节和控制,它根据各种各样的控制算法和千差万别的被控对象的具体情况来编写,控制程序的主要目标是满足系统的性能指标。常用的有数字式PID调节控制程序、最优控制算法程序、顺序控制及插补运算程序等;还有运行参数设置程序,即对控制系统的运行参数进行设置,运行参数有采样通道号、采样点数、采样周期、信号量程范围、放大器增益系数和工程单位等。

(3)监控报警模块

将采样读入的数据或经计算机处理后的数据进行显示或打印,以实现对某些物理量的监视;根据控制策略,计算机要判断是否超出工艺参数的范围,如果超越了限定值,就需要由计算机或操作人员采取相应的措施,实时地对执行机构发出控制信号,完成控制,或输出其他有关信号,如报警信号等,确保生产的安全。

(4)系统管理模块

系统管理模块用于将各个功能模块程序组织成一个程序系统,并管理和调用各个功能模块程序;还用于管理数据文件的存储和输出。系统管理程序一般以文字菜单和图形菜单的人机界面技术来组织、管理和运行系统程序。

(5)数据管理模块

这部分程序用于生产管理部分,主要包括变化趋势分析、报警记录、统计报表、打印输出、数据操作、生产调度及库存管理等程序。

(6)人机交互模块

人机交互模块分为两部分:人机对话程序,包括显示、键盘和指示等程序;界面显示程序,包括用图、表及曲线在CRT显示器上形象地反映生产状况的远程监控程序等。

(7)数据通信模块

数据通信程序是用于完成计算机与计算机之间、计算机与智能设备之间大量信息的传递和交换。它的主要功能有:设置数据传送的波特率(速率);上位机向下位机(数据采集站)发送指令,命令相应的下位机传送数据;上位机接收下位机传送来的数据。

4.控制系统应用软件的开发工具

简化的计算机控制系统结构可分为两层,即I/O控制层和操作控制层。I/O控制层主要完成对过程现场I/O处理,并实现直接数字控制(DDC);操作控制层则实现一些与运行操作有关的人机界面功能,相关控制软件的编写常采用以下3种开发工具:一是采用机器语言、汇编语言等面向机器的低级语言来编制,二是采用C、VisualBasic、VisualC++等高级语言来编制,三是采用监控组态软件来编制。

(1)面向机器的语言

机器语言是一种CPU(中央处理器)指令系统,也称为CPU的机器语言,它是CPU可以识别的一组由0和1序列构成的指令码。用机器语言编制程序,就是从所使用的CPU的指令系统中挑选合适的指令,组成一个指令序列。这种程序可以被机器直接理解并执行,速度很快,但由于它们不直观、难记、难以理解、不易查错且开发周期长,现在只有专业人员在编制对于执行速度有很高要求的程序时才采用。

为了降低编程者的劳动强度,人们使用一些用于帮助记忆的符号来代替机器语言中的0、1指令,使得编程效率和质量都有了很大的提高。由这些助记符号组成的指令系统,称为汇编语言。汇编语言指令与机器语言指令基本上是一一对应的。因为这些助记符号不能被机器直接识别,所以汇编语言程序必须被编译成机器语言程序才能被机器理解和执行。编译之前的程序被称为“源程序”,编译之后的程序被称为“目标程序”。

汇编语言与机器语言都因CPU的不同而不同,所以统称为“面向机器的语言”。使用这类语言,可以编出效率极高的程序,但对程序设计人员的要求也很高。他们不仅要考虑解题思路,还要熟悉机器的内部结构,所以一般人很难掌握这类程序设计语言。

用汇编语言编写的程序代码针对性强,代码长度短,程序执行速度快,实时性强,要求的硬件也少,但编程繁琐,工作量大,调试困难,开发周期长,通用性差,不便于交流和推广。

(2)高级语言

常用的面向过程语言有C、Visual Basic、Pascal等。使用这类编程语言,程序设计者可以不关心机器的内部结构甚至工作原理,把主要精力集中在解决问题的思路和方法上。这类摆脱了硬件束缚的程序设计语言被统称为高级语言。高级语言的出现是计算机技术发展的里程碑,它大大地提高了编程效率,使人们能够开发出越来越大、功能越来越强的程序。

随着计算机技术的进一步发展,特别是像Windows这样具有图形用户界面的操作系统的广泛使用,人们又形成了一种面向对象的程序设计思想。这种思想把整个现实世界或是其中一部分看成是由不同种类对象组成的有机整体。同一类型的对象既有共同点,又有各自不同的特性。各种类型的对象之间通过发送消息进行联系,消息能够激发对象做出相应的反应,从而构成了一个运动的整体。采用了面向对象思想的程序设计语言就是面向对象的程序设计语言,当前使用较多的面向对象的语言有Visual Basic、Visual C++、Java等。

高级语言通用性好,编程容易,功能多,数据运算和处理能力强,但实时性相对差些。

在计算机发展过程的早期,应用软件的开发大多采用汇编语言。在工业过程控制系统中,目前仍大量应用汇编语言。由于计算机技术的发展,工业控制计算机的基本系统逐渐与广泛使用的个人计算机兼容,而各种高级语言也都有各种I/O口操作语句,并具有对内存直接存取的功能。这样,就有可能用高级语言来编写需要进行许多I/O操作的工业控制系统的应用程序。从许多成功的应用来看,用高级语言开发工业控制和检测系统的应用程序,其速度快,可靠性高,质量好。

汇编语言和高级语言各有其优点和局限性。在程序设计中,应发挥汇编语言实时功能强、高级语言运算能力强的优点,所以在应用软件设计中,一般采用高级语言与汇编语言混合编程的方法,即用高级语言编写数据处理、数据管理、图形绘制、显示、打印和网络管理等程序;用汇编语言编写时钟管理、中断管理、输入/输出及数据通信程序等实时性强的程序。

(3)监控组态软件

监控组态软件是一种针对控制系统而设计的面向问题的开发软件,它为用户提供了众多的功能模块,例如控制算法模块(如PID)、运算模块(如四则运算、开方、最大/最小值选择、一阶惯性、超前滞后、工程量变换及上下限报警等数十种)、计数/计时模块、逻辑运算模块、输入模块、输出模块、打印模块和CRT显示模块等。系统设计者只需根据控制要求,选择所需的模块就能十分方便地生成系统控制软件。

监控组态软件是标准化、规模化和商品化的通用开发软件,只需进行标准功能模块的软件组态和简单的编程,就可设计出标准化、专业化、通用性强并可靠性高的上位机人机界面监控程序(HMI系统),且工作量较小,开发调试周期较短,对程序设计员要求也低一些。因此,监控组态软件是性能优良的软件产品,将成为开发上位机监控程序的主流开发工具。

工业控制软件包是由专业公司开发的控制软件产品,它具有标准化、模块组合化和组态生成化等特点,通用性强,实时性和可靠性高。利用工业控制软件包和用户组态软件,设计者可根据控制系统的需求来组态生成各种实际的应用软件。这种开发方式极大地方便了设计者,他们不必过多地了解和掌握如何编制程序的技术细节,只需要掌握工业控制软件包和组态软件的操作规程和步骤,就能开发、设计出符合需要的控制系统应用软件,从而大大缩短了研制时间,也提高了软件的可靠性。

在软件技术飞速发展的今天,各种软件开发工具琳琅满目,每种开发语言都有其各自的长处和短处。在设计控制系统的应用程序时,究竟选择哪种开发工具,还是几种软件混合使用,要根据被控对象的特点、控制任务的要求以及所具备的条件而定。

2.2.2 监控组态软件概述

随着工业自动化水平的迅速提高,计算机在工业领域的广泛应用,人们对工业自动化的要求也越来越高,种类繁多的控制设备和过程监控装置在工业领域的应用,使得传统的工业控制软件已无法满足用户的各种需求。在开发传统的工业控制软件时,当工业被控对象一旦有变动,就必须修改其控制系统的源程序,导致其开发周期长;已开发成功的工控软件又由于每个控制项目的不同而使其重复使用率很低,导致它的价格非常昂贵;在修改工控软件的源程序时,倘若原来的编程人员因工作变动而离去时,则必须由其他人员或新手进行源程序的修改,因而难度很大。

监控组态软件的出现为解决上述实际工程问题提供了一种崭新的方法,因为它能够很好地解决传统工业控制软件存在的种种问题,使用户能根据自己的控制对象和控制目的任意组态,完成最终的自动化控制工程。

1.组态软件的含义

在使用工控软件时,人们经常提到组态一词。与硬件生产相对照,组态与组装类似。如要组装一台计算机,事先提供了各种型号的主板、机箱、电源、CPU、显示器、硬盘及光驱等,我们的工作就是用这些部件拼凑成自己需要的计算机。当然软件中的组态要比硬件的组装有更大的发挥空间,因为它一般要比硬件中的“部件”更多,而且每个“部件”都很灵活,因为软件都有内部属性,通过改变属性可以改变其规格(如大小、形状和颜色等)。

组态(Configuration)有设置、配置等含义,就是模块的任意组合。在软件领域内,是指操作人员根据应用对象及控制任务的要求,配置用户应用软件的过程(包括对象的定义、制作和编辑、对象状态特征属性参数的设定等),即使用软件工具对计算机及软件的各种资源进行配置,达到让计算机或软件按照预先设置自动执行特定任务,以满足使用者要求的目的,也就是把组态软件视为“应用程序生成器”。

组态软件更确切的称呼应该是人机界面(Human Machine Interface,HMI)/控制与数据采集(Supervisory Control And Data Acquisition,SCADA)软件。组态软件最早出现时,实现HMI和控制功能是其主要内涵,即主要解决人机界面和计算机数字控制问题。

组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统控制层一级的软件平台和开发环境,使用灵活的组态方式(而不是编程方式)为用户提供良好的用户开发界面和简捷的使用方法,它解决了控制系统通用性问题。其预设置的各种软件模块可以非常容易地实现和完成控制层的各项功能,并能同时支持各种硬件厂家的计算机和I/O产品,与工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具或开发环境。

在工业控制中,组态一般是指通过对软件采用非编程的操作方式(主要有参数填写、图形连接和文件生成等)使得软件乃至整个系统具有某种指定的功能。由于用户对计算机控制系统的要求千差万别(包括流程界面、系统结构、报表格式和报警要求等),而开发商又不可能专门为每个用户进行开发。所以,只能是事先开发好一套具有一定通用性的软件开发平台,生产(或者选择)若干种规格的硬件模块(如I/O模块、通信模块和现场控制模块等),然后再根据用户的要求在软件开发平台上进行二次开发,以及进行硬件模块的连接。这种软件的二次开发工作就称为组态。相应的软件开发平台就称为监控组态软件,简称组态软件。“组态”一词既可以用作名词也可以用作动词。计算机控制系统在完成组态之前只是一些硬件和软件的集合体,只有通过组态,才能使其成为一个具体的满足生产过程需要的应用系统。

2.组态软件的地位

在实时工业控制应用系统中,为了实现特定的应用目标,需要进行应用程序的设计和开发。在过去,由于技术发展水平的限制,没有相应的软件可供利用。应用程序一般都需要应用单位自行开发或委托专业单位开发,这就影响了整个工程的进度,系统的可靠性和其他性能指标也难以得到保证。

为了解决这个问题,不少厂商在开发系统的同时,也致力于控制软件产品的开发。工业控制系统的复杂性,对软件产品提出了很高的要求。要想成功开发一个较好的通用的控制系统软件产品,需要投入大量的人力、物力,并需经实际系统检验,代价是很昂贵的,特别是功能较全、应用领域较广的软件系统,投入的费用更是惊人。

在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,开发时间长、效率低且可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,用户可以利用组态软件的功能,构建一套最适合自己的应用系统。

采用组态技术构成的计算机控制系统在硬件设计上,除采用工业PC机外,系统大量采用各种技术成熟的通用的I/O接口设备和现场设备,基本不再需要单独进行具体电路设计。这不仅节约了硬件开发时间,更提高了工控系统的可靠性。

组态软件实际上是一个专为工控开发的工具软件。它为用户提供了多种通用工具模块,用户不需要掌握太多的编程语言技术(甚至不需要编程技术),就能很好地完成一个复杂工程所要求的所有功能。系统设计人员可以把更多的注意力集中在如何选择最优的控制方法,设计合理的控制系统结构,选择合适的控制算法等这些提高控制品质的关键问题上。另一方面,从管理的角度来看,用组态软件开发的系统具有与Windows一致的图形化操作界面,非常便于生产的组织与管理。

由于组态软件都是由专门的软件开发人员按照软件工程的规范来开发的,使用前又经过了比较长时间的工程运行考验,其质量是有充分保证的。因此,只要开发成本允许,采用组态软件是一种比较稳妥、快速和可靠的办法。

组态软件是标准化、规模化和商品化的通用工业控制开发软件,只需进行标准功能模块的软件组态和简单的编程,就可设计出标准化、专业化、通用性强和可靠性高的上位机人机界面控制程序,且工作量较小,开发调试周期短,对程序设计员要求也较低,因此,监控组态软件是性能优良的软件产品,已成为开发上位机控制程序的主流开发工具。

由IPC(进程间通道)、通用接口部件和组态软件构成的组态控制系统是计算机控制技术综合发展的结果,是技术成熟化的标志。由于组态技术的介入,计算机控制系统的应用速度大大加快了。

3.组态软件的系统构成

组态软件的结构划分有多种标准,下面以使用软件的工作阶段和软件体系的成员构成两种标准讨论其体系结构。

(1)以使用软件的工作阶段划分

从总体结构上看,组态软件一般都是由系统开发环境(或称为组态环境)与系统运行环境两大部分组成。系统开发环境和系统运行环境之间的联系纽带是实时数据库,三者之间的关系如图2-70所示。

978-7-111-58349-3-Chapter02-81.jpg

图2-70 系统组态环境、系统运行环境和实时数据库三者之间的关系

1)系统组态环境。

它是自动化工程设计工程师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必需依赖的工作环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统组态环境运行时使用。

系统开发环境由若干个组态程序组成,如图形界面组态程序和实时数据库组态程序等。

2)系统运行环境。

在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。系统运行环境由若干个运行程序组成,如图形界面运行程序和实时数据库运行程序等。

组态软件支持在线组态技术,即在不退出系统运行环境的情况下可以直接进入组态环境并修改组态,使修改后的组态直接生效。

自动化工程设计工程师最先接触的一定是系统组态环境,通过一定工作量的系统组态和调试,最终将目标应用程序在系统运行环境投入实时运行,完成一个工程项目。

一套好的组态软件应该能够为用户提供快速构建自己的计算机控制系统的手段。例如,对输入信号进行处理的各种模块、各种常见的控制算法模块、构造人机界面的各种图形要素、使用户能够方便地进行二次开发的平台或环境等。如果是通用的组态软件,还应当提供各类工控设备的驱动程序和常见的通信协议。

(2)按照成员构成划分

组态软件因为其功能强大,且每个功能相对来说又具有一定的独立性,因此其组成形式是一个集成软件平台,由若干程序组件构成。

组态软件必备的功能组件包括如下6个部分。

1)应用程序管理器。

应用程序管理器是提供应用程序的搜索、备份、解压缩和建立应用等功能的专用管理工具。在自动化工程设计工程师应用组态软件进行工程设计时,经常会遇到下面一些烦恼:经常要进行组态数据的备份,经常需要引用以往成功项目中的部分组态成果(如界面),经常需要迅速了解计算机中保存了哪些应用项目。虽然这些工作可以用手动方式实现,但效率低下,极易出错。有了应用程序管理器的支持,这些工作将变得非常简单。

2)图形界面开发程序。

它是自动化工程设计人员为实施其控制方案,在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境下运行时使用。

3)图形界面运行程序。

在系统运行环境下,图形目标应用系统被图形界面运行程序装入计算机内并投入实时运行。

4)实时数据库系统组态程序。

有的组态软件只在图形开发环境中增加了简单的数据管理功能,因而不具备完整的实时数据库系统。目前比较先进的组态软件都有独立的实时数据库组件,以提高系统的实时性,增强处理能力。实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库的结构、数据来源、数据连接、数据类型及相关的各种参数。

5)实时数据库系统运行程序。

在系统运行环境下,目标实时数据库及其应用系统被实时数据库系统运行程序装入计算机内存,并执行预定的各种数据计算和数据处理任务。历史数据的查询、检索和报警的管理都是在实时数据库系统运行程序中完成的。

6)I/O驱动程序。

它是组态软件中必不可少的组成部分,用于I/O设备通信,互相交换数据。DDE和OPC客户端是两个通用的标准I/O驱动程序,用来支持DDE和OPC标准的I/O设备通信,多数组态软件的DDE驱动程序被整合在实时数据库系统或图形系统中,而OPC客户端则多数单独存在。

4.组态软件的使用步骤

组态软件通过I/O驱动程序从现场I/O设备获得实时数据,对数据进行必要的加工后,一方面以图形方式直观地显示在计算机屏幕上;另一方面按照组态要求和操作人员的指令将控制数据送给I/O设备,对执行机构实施控制或调整控制参数。具体的工程应用前必须经过完整且详细的组态设计,才能使组态软件正常工作。

下面列出组态软件的使用步骤:

1)将所有I/O点的参数收集齐全,并填写表格,以备在控制组态软件和控制、检测设备上组态时使用。

2)搞清楚所使用的I/O设备的生产商、种类和型号,使用的通信接口类型,采用的通信协议,以便在定义I/O设备时做出准确选择。

3)将所有I/O点的I/O标识收集齐全,并填写表格,I/O标识是唯一确定一个I/O点的关键字,组态软件通过向I/O设备发出I/O标识来请求对应的数据。在大多数情况下,I/O标识是I/O点的地址或位号名称。

4)根据工艺过程绘制、设计界面结构和界面草图。

5)按照第1)步统计出的表格,建立实时数据库,正确组态各种变量参数。

6)根据第1)步和第3)步的统计结果,在实时数据库中建立实时数据库变量与I/O点的一一对应关系,即定义数据连接。

7)根据第4)步的界面结构和界面草图,组态每一幅静态的操作界面。

8)将操作界面中的图形对象与实时数据库变量建立动画连接关系,规定动画属性和幅度。

9)对组态内容进行分段和总体调试。

10)系统投入运行。

在一个自动控制系统中,投入运行的监控组态软件是系统的数据收集处理中心、远程监视中心和数据转发中心,处于运行状态的监控组态软件与各种控制、检测设备(如PLC、智能仪表、DCS等)共同构成快速响应的控制中心。

监控组态软件投入运行后,操作人员可以在它的支持下完成以下6项任务:

1)查看生产现场的实时数据及流程界面。

2)自动打印各种实时/历史生产报表。

3)自由浏览各个实时/历史趋势界面。

4)及时得到并处理各种过程报警和系统报警。

5)在需要时,人为干预生产过程,修改生产过程参数和状态。

6)与管理部门的计算机联网,为管理部门提供生产实时数据。

2.2.3 MCGS组态软件简介

MCGS(Monitorand Control Generated System,通用监控系统)是一套用于快速构造和生成计算机监控系统的组态软件,由北京昆仑通态自动化软件科技有限公司开发。它能够在Microsoft的各种Windows平台上运行,通过对现场数据的采集处理,以动画显示、报警处理、流程控制和报表输出等多种方式向用户提供解决实际工程问题的方案,它充分利用了Windows图形功能完备、界面一致性好、操作简便和易学易用的特点,比以往使用专用机开发的工业控制系统更具有通用性,在自动化领域有着更广泛的应用。

1.MCGS组态软件工程的构成

MCGS组态软件所建立的工程由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成,对每一部分分别进行组态操作,以完成不同的工作,因此具有不同的特性。

1)主控窗口。主控窗口是工程的主窗口或主框架。在主控窗口中可以放置一个设备窗口和多个用户窗口,负责调度和管理这些窗口。主要的组态操作包括:定义工程的名称、编制工程菜单、设计封面图形、确定自动启动的窗口、设定动画刷新周期、指定数据库存盘文件名称及存盘时间等。

2)设备窗口。设备窗口是连接和驱动外部设备的工作环境。在本窗口内配置数据采集与控制输出设备,注册设备驱动程序,定义连接与驱动设备用的数据变量。

3)用户窗口。用户窗口主要用于设置工程中人机交互的界面,诸如生成各种动画显示界面、报警输出和数据与曲线图表等。

4)实时数据库。实时数据库是工程各个部分的数据交换与处理中心,它将MCGS工程的各个部分连接成有机的整体。在本窗口内定义不同类型和名称的变量,作为数据采集、处理、输出控制、动画连接及设备驱动的对象。

5)运行策略。运行策略窗口主要完成工程运行流程的控制,包括编写控制程序,选用各种功能构件,如数据提取、历史曲线、定时器、配方操作和多媒体输出等。

综上所述,一个应用系统由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五个部分组成。组态工作开始时,系统只为用户搭建了一个能够独立运行的空框架,提供了丰富的动画部件与功能部件。如果要完成一个实际的应用系统,应主要完成以下工作。

首先,要像搭积木一样,在组态环境中用系统提供的或用户扩展的构件构造应用系统,配置各种参数,形成一个有丰富功能,可实际应用的工程;然后,把组态环境中的组态结果提交给运行环境。运行环境和组态结果一起就构成了用户自己的应用系统。

2.MCGS组态软件的工作方式

(1)MCGS与设备进行通信

MCGS通过设备驱动程序与外部设备进行数据交换,包括数据采集和发送设备指令。设备驱动程序是由VB程序设计语言编写的DLL(动态链接库)文件,设备驱动程序中包含符合各种设备通信协议的处理程序,将设备运行状态的特征数据采集进来或发送出去。MCGS负责在运行环境中调用相应的设备驱动程序,将数据传送到工程中各个部分,完成整个系统的通信过程。每个驱动程序独占一个线程,达到互不干扰的目的。

(2)MCGS产生动画效果

MCGS为每一种基本图形元素定义了不同的动画属性,如一个长方形的动画属性有可见度、大小变化、水平移动等,每一种动画属性都会产生一定的动画效果。所谓动画属性,实际上是反映图形大小、颜色、位置、可见度和闪烁性等状态的特征参数。

然而,我们在组态环境中生成的界面都是静止的,如何在工程运行中产生动画效果呢?方法是:图形的每一种动画属性中都有一个“表达式”设定栏,在该栏中设定一个与图形状态相联系的数据变量,连接到实时数据库中,以此建立相应的对应关系,MCGS称之为动画连接。

当工业现场中测控对象的状态(如储油罐的液面高度等)发生变化时,通过设备驱动程序将变化的数据采集到实时数据库的变量中,该变量是与动画属性相关的变量,数值的变化,使图形的状态产生相应的变化(如大小变化)。现场的数据是连续被采集进来的,这样就会产生逼真的动画效果(如储油罐液面的升高和降低)。用户也可编写程序来控制动画界面,以达到满意的效果。

(3)MCGS实施远程多机监控

MCGS提供了一套完善的网络机制,可通过TCP/IP网、Modem网和串口网将多台计算机连接在一起,构成分布式网络测控系统,实现网络间的实时数据同步、历史数据同步和网络事件的快速传递。同时,可利用MCGS提供的网络功能,在工作站上直接对服务器中的数据库进行读/写操作。分布式网络测控系统的每一台计算机都要安装一套MCGS工控组态软件。MCGS把各种网络形式,以父设备构件和子设备构件的形式,供用户调用,并进行工作状态、端口号和工作站地址等属性参数的设置。

(4)对工程运行流程实施有效控制

MCGS开辟了专用的“运行策略”窗口,建立用户运行策略。MCGS提供了丰富的功能构件,供用户选用,通过构件配置和属性设置两项组态操作,生成各种功能模块(称为“用户策略”),使系统能够按照设定的顺序和条件,操作实时数据库,实现对动画窗口的任意切换,控制系统的运行流程和设备的工作状态。所有的操作均采用面向对象的直观方式,避免了烦琐的编程工作。

3.组建用户工程的一般过程

(1)工程项目系统分析

分析工程项目的系统构成、技术要求和工艺流程,弄清系统的控制流程和测控对象的特征,明确监控要求和动画显示方式,分析工程中的设备数据采集及输出通道与软件中实时数据库变量的对应关系,分清哪些变量是要求与设备连接的,哪些变量是软件内部用来传递数据及动画显示的。

(2)工程立项搭建框架

在MCGS中称为建立新工程。其主要内容包括:定义工程名称、界面窗口名称和启动窗口(界面窗口退出后接着显示的窗口)名称,指定存盘数据库文件的名称以及存盘数据库,设定动画刷新的周期。经过此步操作,即在MCGS组态环境中,建立了由五部分组成的工程结构框架。界面窗口和启动窗口也可在建立了用户窗口后,再进行建立。

(3)设计菜单基本体系

为了对系统运行的状态及工作流程进行有效的调度和控制,通常要在主控窗口内编制菜单。编制菜单分两步进行,第一步首先搭建菜单的框架,第二步再对各级菜单命令进行功能组态。在组态过程中,可根据实际需要,随时对菜单的内容进行增加或删除,不断完善工程的菜单。

(4)制作动画显示界面

动画制作分为静态图形设计和动态属性设置两个过程。前一部分类似于“画画”,用户通过MCGS组态软件中提供的基本图形元素及动画构件库,在用户窗口内“组合”成各种复杂的界面。后一部分则设置图形的动画属性,与实时数据库中定义的变量建立相关性的连接关系,作为图形产生动画效果的驱动源。

(5)编写控制流程程序

在运行策略窗口内,从策略构件箱中,选择所需功能策略构件,构成各种功能模块(称为策略块),由这些模块实现各种人机交互操作。MCGS还为用户提供了编程用的功能构件(称之为“脚本程序”功能构件),使用简单的编程语言,编写工程控制程序。

(6)完善菜单按钮功能

其包括对菜单命令、监控器件和操作按钮的功能组态;实现历史数据、实时数据、各种曲线、数据报表和报警信息输出等功能;建立工程安全机制等。

(7)编写程序调试工程

利用调试程序产生的模拟数据,检查动画显示和控制流程是否正确。

(8)连接设备驱动程序

选定与设备相匹配的设备构件,连接设备通道,确定数据变量的数据处理方式,完成设备属性的设置。此项操作在设备窗口内进行。

(9)工程完工综合测试

测试工程各部分的工作情况,完成整个工程的组态工作,实施工程交接。