- 组态控制技术实训教程(MCGS)
- 李江全
- 8260字
- 2021-03-29 20:51:28
1.5 认识MCGS组态软件
MCGS(Monitor and Control Generated System,通用监控系统)是一套用于快速构造和生成计算机监控系统的组态软件,它能够在Microsoft的各种Windows平台上运行,通过对现场数据的采集处理,以动画显示、报警处理、流程控制和报表输出等多种方式向用户提供解决实际工程问题的方案,它充分利用了Windows图形功能完备、界面一致性好、易学易用的特点,比以往使用专用机开发的工业控制系统更具有通用性,在自动化领域有着更广泛的应用。
1.5.1 MCGS组态软件功能及构成
1.MCGS组态软件的功能和特点
MCGS是为工业过程控制和实时监测领域服务的通用计算机系统软件,具有功能完善操作简便、可视性好和可维护性强的突出特点。
MCGS工控组态软件的功能和特点可归纳如下。
1)概念简单,易于理解和使用。普通工程人员经过短时间的培训就能正确掌握、快速完成多数简单工程项目的监控程序设计和运行操作。用户可避开复杂的计算机软硬件问题集中精力解决工程本身的问题,按照系统的规定,组态配置出高性能、高可靠性、高度专业化的上位机监控系统。
2)功能齐全,便于方案设计。MCGS为解决工程监控问题提供了丰富多样的手段,从设备驱动(数据采集)到数据处理、报警处理、流程控制、动画显示、报表输出和曲线显示等各个环节,均有丰富的功能组件和常用图形库可供选用,用户只需根据工程作业的需要和特点,进行方案设计和组态配置,即可生成用户应用软件系统。
3)实时性与并行处理。MCGS充分利用了Windows操作平台的多任务、按优先级分时操作的功能,使PC广泛应用于工程测控领域成为可能。工程作业中,大量的数据和信息需要及时收集,即时处理,在计算机测控技术领域称其为实时性关键任务,如数据采集、设备驱动和异常处理等。另外许多工作则是非实时性的,或称为非时间关键任务,如画面显示可在主机运行周期时间内插空进行。而像打印数据一类的工作,可运行于后台,称为脱机作业。MCGS是真正的32位系统,以线程为单位进行分时并行处理。
4)建立实时数据库,便于用户分步组态,保证系统安全可靠运行。MCGS组态软件由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成。其中的“实时数据库”是整个系统的核心。在生成用户应用系统时,每一部分均可分别进行组态配置,独立建造,互不相干;而在系统运行过程中,各个部分都通过实时数据库交换数据,形成互相关联的整体。实时数据库是一个数据处理中心,是系统各个部分及其各种功能性构件的公用数据区。各个部件独立地向实时数据库输入和输出数据,并完成自己的差错控制。
5)设立“设备工具箱”,针对外部设备的特征,用户从中选择某种“构件”,设置于设备窗口内,赋予相关的属性,建立系统与外部设备的连接关系,即可实现对该种设备的驱动和控制。不同的设备对应于不同的构件,所有的设备构件均通过实时数据库建立联系,而建立时又是相互独立的,即对某一构件的操作或改动,不影响其他构件和整个系统的结构,从这一意义上讲,MCGS是一个“设备无关”的系统,用户不必担心因外部设备局部改动,而影响整个系统。
6)“面向窗口”的设计方法,增加了可视性和可操作性。以窗口为单位,构造用户运行系统的图形界面,使得MCGS的组态工作既简单直观,又灵活多变。用户可以使用系统的默认构架,也可以根据需要自己组态配置,生成各种类型和风格的图形界面,包括DOS风格的图形界面、标准Windows风格的图形界面以及带有动画效果的工具条和状态条。
7)利用丰富的“动画组态”功能,快速构造各种复杂生动的动态画面。以图像、图符、数据、曲线等多种形式,为操作员及时提供系统运行中的状态、品质及异常报警等有关信息。用变化大小、改变颜色、明暗闪烁、移动翻转等多种手段,增强画面的动态显示效果。图元、图符对象定义相应的状态属性,即可实现动画效果。同时,MCGS为用户提供了丰富的动画构件,模拟工程控制与实时监测作业中常用的物理器件的动作和功能。每个动画构件都对应一个特定的动画功能。如实时曲线构件、历史曲线构件、报警显示构件、自由表格构件等。
8)引入“运行策略”的概念。复杂的工程作业,运行流程都是多分支的。用传统的编程方法实现,既烦琐又容易出错。MCGS开辟了“策略窗口”,用户可以选用系统提供的各种条件和功能的“策略构件”,用图形化的方法构造多分支的应用程序,实现自由、精确地控制运行流程,按照设定的条件和顺序,操作外部设备,控制窗口的打开或关闭,与实时数据库进行数据交换。同时,也可以由用户创建新的策略构件,扩展系统的功能。
9)MCGS系统由五大功能部件组成,主要的功能部件以构件的形式来构造。不同的构件有着不同的功能,且各自独立。三种基本类型的构件(设备构件、动画构件和策略构件)完成了MCGS系统三大部分(设备驱动、动画显示和流程控制)的所有工作。用户也可以根据需要,定制特定类型构件,使MCGS系统的功能得到扩充。这种充分利用“面向对象”的技术,大大提高了系统的可维护性和可扩充性。
10)支持OLE Automation技术。MCGS允许用户在Visual Basic中操作MCGS中的对象提供了一套开放的可扩充接口,用户可根据自己的需要用VB编制特定的功能构件来扩充系统的功能。
11)MCGS中数据的存储不再使用普通的文件,而是用数据库来管理一切。组态时,系统生成的组态结果是一个数据库;运行时,数据对象、报警信息的存储也是一个数据库。利用数据库来保存数据和处理数据,提高了系统的可靠性和运行效率,同时,也使其他应用软件系统能直接处理数据库中的存盘数据。
12)设立“对象元件库”,解决了组态结果的积累和重新利用问题。所谓对象元件库实际上是分类存储各种组态对象的图库。组态时,可把制作完好的对象(包括图形对象窗口对象、策略对象以及位图文件等)以元件的形式存入图库中,也可把元件库中的各种对象取出,直接为当前的工程所用。随着工作的积累,对象元件库将日益扩大和丰富,组态工作将会变得越来越简单方便。
13)提供对网络的支持。考虑到工控系统今后的发展趋势,MCGS充分运用现今发展的DCCW(Distributed Computer Cooperator Work)技术,即分布式计算机协同工作方式,来使分散在不同现场之间的采集系统和工作站之间协同工作。通过MCGS,不同的工作站之间可以实时交换数据,实现对工控系统的分布式控制和管理。
2.MCGS组态软件的系统构成 (1)MCGS组态软件的整体结构
MCGS组态软件(以下简称MCGS)由“MCGS组态环境”和“MCGS运行环境”两个系统组成,如图1-2所示。两部分互相独立,又紧密相关。
图1-2 MCGS组态软件的整体结构
MCGS组态环境是生成用户应用系统的工作环境,由可执行程序McgsSet.exe支持,其存放于MCGS目录的Program子目录中。用户在MCGS组态环境中完成动画设计、设备连接、编写控制流程、编制工程打印报表等全部组态工作后,生成扩展名为.mcg的工程文件,又称为组态结果数据库,其与MCGS运行环境一起,构成了用户应用系统,统称为“工程”。
MCGS运行环境是用户应用系统的运行环境,由可执行程序McgsRun.exe支持,其存放于MCGS目录的Program子目录中。在运行环境中完成对工程的控制工作。
(2)MCGS工程的五大部分
MCGS组态软件所建立的工程由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成,每一部分分别进行组态操作,完成不同的工作,具有不同的特性。
1)主控窗口。主控窗口是工程的主窗口或主框架。在主控窗口中可以放置一个设备窗口和多个用户窗口,负责调度和管理这些窗口的打开或关闭。主要的组态操作包括:定义工程的名称、编制工程菜单、设计封面图形、确定自动启动的窗口、设定动画刷新周期、指定数据库存盘文件名称及存盘时间等。
2)设备窗口。设备窗口是连接和驱动外部设备的工作环境。在本窗口内配置数据采集与控制输出设备,注册设备驱动程序,定义连接与驱动设备用的数据变量。
3)用户窗口。用户窗口主要用于设置工程中人机交互的界面,诸如生成各种动画显示画面、报警输出和数据与曲线图表等。
4)实时数据库。实时数据库是工程各个部分的数据交换与处理中心,它将MCGS工程的各个部分连接成有机的整体。在本窗口内定义不同类型和名称的变量,作为数据采集、处理、输出控制、动画连接及设备驱动的对象。
5)运行策略。运行策略窗口主要完成工程运行流程的控制,包括编写控制程序(if…then脚本程序),选用各种功能构件,如数据提取、历史曲线、定时器、配方操作、多媒体输出等。
综上所述,一个应用系统由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五个部分组成。组态工作开始时,系统只为用户搭建了一个能够独立运行的空框架,提供了丰富的动画部件与功能部件。如果要完成一个实际的应用系统,应主要完成以下工作。
首先,要像搭积木一样,在组态环境中用系统提供的或用户扩展的构件构造应用系统配置各种参数,形成一个有丰富功能,可实际应用的工程;然后,把组态环境中的组态结果提交给运行环境。运行环境和组态结果一起就构成了用户自己的应用系统。
3.MCGS组态软件的工作方式 (1)MCGS与设备进行通信
MCGS通过设备驱动程序与外部设备进行数据交换,包括数据采集和发送设备指令。设备驱动程序是由VB程序设计语言编写的DLL(动态链接库)文件,设备驱动程序中包含符合各种设备通信协议的处理程序,将设备运行状态的特征数据采集进来或发送出去。MCGS负责在运行环境中调用相应的设备驱动程序,将数据传送到工程中各个部分,完成整个系统的通信过程。每个驱动程序独占一个线程,达到互不干扰的目的。
(2)MCGS产生动画效果
MCGS为每一种基本图形元素定义了不同的动画属性,如一个长方形的动画属性有可见度,大小变化,水平移动等,每一种动画属性都会产生一定的动画效果。所谓动画属性,实际上是反映图形大小、颜色、位置、可见度、闪烁性等状态的特征参数。然而,我们在组态环境中生成的画面都是静止的,如何在工程运行中产生动画效果呢?方法是:图形的每一种动画属性中都有一个“表达式”设定栏,在该栏中设定一个与图形状态相联系的数据变量连接到实时数据库中,以此建立相应的对应关系,MCGS称之为动画连接。当工业现场中测控对象的状态(如储油罐的液面高度等)发生变化时,通过设备驱动程序将变化的数据采集到实时数据库的变量中,该变量是与动画属性相关的变量,数值的变化,使图形的状态产生相应的变化(如大小变化)。现场的数据是连续被采集进来的,这样就会产生逼真的动画效果(如储油罐液面的升高和降低)。用户也可编写程序来控制动画界面,以达到满意的效果。
(3)MCGS实施远程多机监控
MCGS提供了一套完善的网络机制,可通过TCP/IP网、Modem网和串口网将多台计算机连接在一起,构成分布式网络测控系统,实现网络间的实时数据同步、历史数据同步和网络事件的快速传递。同时,可利用MCGS提供的网络功能,在工作站上直接对服务器中的数据库进行读写操作。分布式网络测控系统的每一台计算机都要安装一套MCGS工控组态软件。MCGS把各种网络形式,以父设备构件和子设备构件的形式,供用户调用,并进行工作状态、端口号、工作站地址等属性参数的设置。
(4)对工程运行流程实施有效控制
MCGS开辟了专用的“运行策略”窗口,建立用户运行策略。MCGS提供了丰富的功能构件,供用户选用,通过构件配置和属性设置两项组态操作,生成各种功能模块(称为“用户策略”),使系统能够按照设定的顺序和条件,操作实时数据库,实现对动画窗口的任意切换,控制系统的运行流程和设备的工作状态。所有的操作均采用面向对象的直观方式避免了烦琐的编程工作
1.5.2 MCGS组态软件基本操作
1.MCGS组态软件常用术语
1)工程:用户应用系统的简称。引入工程的概念,是使复杂的计算机专业技术更贴近于普通工程用户。在MCGS组态环境中生成的文件称为工程文件,扩展名为.mcg,存放于MCGS目录的WORK子目录中,如“D:\MCGS\WORK\MCGS例程1.mcg”。
2)对象:操作目标与操作环境的统称。如窗口、构件、数据、图形等皆称为对象。
3)选中对象:鼠标单击窗口或对象,使其处于可操作状态,称此操作为选中对象,被选中的对象(包括窗口),也叫作当前对象。
4)组态:在窗口环境内,进行对象的定义、制作和编辑,并设定其状态特征(属性)参数,将此项工作称为组态。
5)属性:对象的名称、类型、状态、性能及用法等特征的统称。
6)菜单:是执行某种功能的命令集合。如系统菜单中的“文件”菜单命令,是用来处理与工程文件有关的执行命令。位于窗口顶端菜单条内的菜单命令称为顶层菜单,一般分为独立的菜单项和下拉菜单两种形式,下拉菜单还可分成多级,每一级称为次级子菜单。
7)构件:具备某种特定功能的程序模块,可以用VB,VC等程序设计语言编写,通过编译,生成DLL、OCX等文件。用户对构件设置一定的属性,并与定义的数据变量相连接即可在运行中实现相应的功能。
8)策略:是指对系统运行流程进行有效控制的措施和方法。
9)启动策略:在进入运行环境后首先运行的策略,只运行一次,一般完成系统初始化的处理。该策略由MCGS自动生成,具体处理的内容由用户填充。
10)循环策略:按照用户指定的周期,循环执行策略块内的内容,通常用来完成流程控制任务。
11)退出策略:退出运行环境时执行的策略。该策略由MCGS自动生成,自动调用一般由该策略模块完成系统结束运行前的善后处理任务。
12)用户策略:由用户定义,用来完成特定的功能。用户策略一般由按钮、菜单、其他策略来调用执行。
13)事件策略:当开关型变量发生跳变时(1到0,或0到1)执行的策略,只运行一次。
14)热键策略:当用户按下定义的组合快捷键(如〈Ctrl+D〉)时执行的策略,只运行一次。
15)可见度:指对象在窗口内的显现状态,即可见与不可见。
16)变量类型:MCGS定义的变量有五种类型,即数值型、开关型、字符型、事件型和组对象。
17)事件对象:用来记录和标识某种事件的产生或状态的改变。如开关量的状态发生变化。
18)组对象:用来存储具有相同存盘属性的多个变量的集合,内部成员可包含多个其他类型的变量。组对象只是对有关联的某一类数据对象的整体表示方法,而实际的操作则均
针对每个成员进行。19)动画刷新周期:动画更新速度,即颜色变换、物体运动、液面升降的快慢等,以
毫秒为单位。20)父设备:本身没有特定功能,但可以和其他设备一起与计算机进行数据交换的硬
件设备。如串口父设备。21)子设备:必须通过一种父设备与计算机进行通信的设备。如岛电SR25仪表、研华
4017模块等。22)模拟设备:在对工程文件测试时,提供可变化的数据的内部设备,可提供多种变
化方式。23)数据库存盘文件:MCGS工程文件在硬盘中存储时的文件,类型为MDB文件,一
般以工程文件的文件名+“D”进行命名,存储在MCGS目录下WORK子目录中。2.MCGS组态软件的操作方式(1)系统工作台面系统工作台面是MCGS组态操作的总工作台面。用鼠标双击“MCGS组态环境”图标,
或执行“开始”菜单中的“MCGS组态环境”菜单项,弹出的窗口即为MCGS的工作台窗
口,其中设有如下内容。1)标题栏:显示“MCGS组态环境—工作台”标题、工程文件名称和所在目录。2)菜单条:设置MCGS的菜单系统。参见《MCGS组态软件用户指南》附录所列
MCGS菜单及快捷键列表。3)工具条:设有对象编辑和组态用的工具按钮。不同的窗口设有不同功能的工具条按
钮,其功能详见《MCGS组态软件用户指南》的附表。4)工作台面:进行组态操作和属性设置。上部设有五个窗口标签,分别对应主控窗口、
用户窗口、设备窗口、运行策略和实时数据库。用鼠标单击标签按钮,即可将相应的窗口激
活,进行组态操作;工作台右侧还设有创建对象和对象组态用的功能按钮。(2)组态工作窗口组态工作窗口是创建和配置图形对象、数据对象和各种构件的工作环境,又称为对象的
编辑窗口。它主要包括组成工程框架的五大窗口,即主控窗口、用户窗口、设备窗口、运行
策略窗口和实时数据库窗口,分别完成工程命名和属性设置、动画设计、设备连接、编写控
制流程、定义数据变量等组态操作。(3)属性设置窗口属性设置窗口是设置对象各种特征参数的工作环境,又称为属性设置对话框。对象不
同,属性设置窗口的内容也各异,但结构形式大体相同。主要由下列几部分组成。1)窗口标题:位于窗口顶部,显示“××属性设置”字样的标题。2)窗口标签:不同属性设置窗口分页排列,窗口标签作为分页的标记,各类窗口分页
排列,鼠标单击窗口标签,即可将相应的窗口页激活,进行属性设置。3)输入框:设置属性的输入框,左侧标有属性注释文字,框内输入属性内容。为了
便于用户操作,许多输入框的右侧带有“?”“▲”“…”等标志符号的选项按钮,用鼠标
单击该按钮,将弹出一列表框,用鼠标双击列表框中所需要的项目,即可将其设置于输
入框内。4)单选按钮:带有“○”标记的属性设定器件。同一设置栏内有多个单选按钮时,只
能选择其一。5)复选框:带有“□”标记的属性设定器件。同一设置栏内有多个复选框时,可以设
置多个。6)功能按钮:一般设有“检查[C]”“确认[Y]”“取消[N]”“帮助[H]”四种
按钮。“检查[C]”按钮用于检查当前属性设置内容是否正确;“确认[Y]”按钮用于属
性设置完毕,返回组态窗口;“取消[N]”按钮用于取消当前的设置,返回组态窗口;“帮
助[H]”按钮用于查阅在线帮助文件。(4)图形库工具箱MCGS为用户提供了丰富的组态资源,包括如下几种。1)系统图形工具箱:进入用户窗口,用鼠标单击工具条中的“工具箱”按钮,打开图
形工具箱,其中设有各种图元、图符、组合图形及动画构件的位图图符。利用这些最基本的
图形元素,可以制作出任何复杂的图形。2)设备构件工具箱:进入设备窗口,用鼠标单击工具条中的“工具箱”按钮,打开设
备构件工具箱,其中设有与工控系统经常选用的测控设备相匹配的各种设备构件。选用所需
的构件,放置到设备窗口中,经过属性设置和通道连接后,该构件即可实现对外部设备的驱
动和控制。3)策略构件工具箱:进入运行策略组态窗口,用鼠标单击工具条中的“工具箱”按
钮,打开策略构件工具箱,工具箱内包括所有策略功能构件。选用所需的构件,生成用户策
略模块,实现对系统运行流程的有效控制。4)对象元件库:对象元件库是存放组态完好并具有通用价值动画图形的图形库,便于
对组态成果的重复利用。进入用户窗口的组态窗口,执行“工具”菜单中的“对象元件库
管理”菜单命令,或者打开系统图形工具箱,选择“插入元件”图标,可打开对象元件库
管理窗口,进行存放图形的操作。(5)工具按钮工作台窗口的工具条内,排列标有各种位图图标的按钮,称为工具条功能按钮,简称为
工具按钮。许多按钮的功能与菜单条中的菜单命令相同,但操作更为简便,因此在组态操作
中经常使用。3.组建用户工程的一般过程(1)工程项目系统分析分析工程项目的系统构成、技术要求和工艺流程,弄清系统的控制流程和测控对象的特
征,明确监控要求和动画显示方式,分析工程中的设备采集及输出通道与软件中实时数据库
变量的对应关系,分清哪些变量是要求与设备连接的,哪些变量是软件内部用来传递数据及
动画显示的。(2)工程立项搭建框架在MCGS中称为建立新工程。其主要内容包括:定义工程名称、封面窗口名称和启动窗
口(封面窗口退出后接着显示的窗口)名称,指定存盘数据库文件的名称以及存盘数据库,
设定动画刷新的周期。经过此步操作,即在MCGS组态环境中,建立了由五部分组成的工程
结构框架。封面窗口和启动窗口也可等建立了用户窗口后,再进行建立。(3)设计菜单基本体系为了对系统运行的状态及工作流程进行有效的调度和控制,通常要在主控窗口内编制菜
单。编制菜单分两步进行,第一步首先搭建菜单的框架,第二步再对各级菜单命令进行功能
组态。在组态过程中,可根据实际需要,随时对菜单的内容进行增加或删除,不断完善工程
的菜单。(4)制作动画显示画面动画制作分为静态图形设计和动态属性设置两个过程。前一部分类似于“画画”,用户
通过MCGS组态软件中提供的基本图形元素及动画构件库,在用户窗口内“组合”成各种
复杂的画面。后一部分则设置图形的动画属性,与实时数据库中定义的变量建立相关性的连
接关系,作为动画图形的驱动源。(5)编写控制流程程序在运行策略窗口内,从策略构件箱中,选择所需功能策略构件,构成各种功能模块
(称为策略块),由这些模块实现各种人机交互操作。MCGS还为用户提供了编程用的功能构
件(称之为“脚本程序”功能构件),使用简单的编程语言,编写工程控制程序。(6)完善菜单按钮功能其包括对菜单命令、监控器件、操作按钮的功能组态;实现历史数据、实时数据、各种
曲线、数据报表、报警信息输出等功能;建立工程安全机制等。(7)编写程序调试工程利用调试程序产生的模拟数据,检查动画显示和控制流程是否正确。(8)连接设备驱动程序选定与设备相匹配的设备构件,连接设备通道,确定数据变量的数据处理方式,完成设
备属性的设置。此项操作在设备窗口内进行。(9)工程完工综合测试最后测试工程各部分的工作情况,完成整个工程的组态工作,实施工程交接。