MCGS培训教程(高级部分)经过初级培训,您已经对MCGS组态软件的框架结构有了大致的了解,在初级培训教材的指引下,您一定能组态出一些简单的工程项目,但如果想应用自如还有一定困难。在高级培训教材帮助下,您一定会如虎添翼,组态出令人满意的工程。培训目的经过培训,您可以熟练应用MCGS组态软件中的各项功能;能根据工艺现场要求熟练制作动画流程;能处理相对复杂的曲线、报表、数据后处理等需求;能熟练使用MCGS脚本程序进行复杂的工业流程控制。培训内容动画制作,流程控制策略,设备组态,结合存盘数据提取做复杂的历史报表,配方构件应用及MCGS使用技巧介绍。参考手册《MCGS用户指南》《MCGS参考手册》MCGS多媒体教程MCGS工控组态软件联机帮助E-mail:support@hmitech.com网址:目录简介目录第一讲构造实时数据库一、MCGS实时数据库的概述二、数据对象的类型1、开关型数据对象2、数值型数据对象3、字符型数据对象4、事件型数据对象5、数据组对象三、数据对象的定义四数据对象的作用域第二讲动画制作一、封面制作二、动画效果第三讲设备窗口组态一、概述二、支持硬件设备1、智能模块2、采集板卡3、智能仪表4、变频器5、PLC三、设备在线调试四、数据前处理第四讲脚本程序一、脚本程序语言要素1、数据类型2、变量及常量3、MCGS对象4、表达式5、运算符6、运算符优先级二、脚本程序基本语句1、赋值语句2、条件语句3、退出语句4、注释语句三、脚本程序应用场合及样例1、脚本程序在“窗口”中的应用2、脚本程序在“标准按钮”中的应用3、脚本程序在“菜单”中的应用第五讲MCGS数据后处理及报表一、数据后处理二、结合数据提取做复杂的报表1、新建一个窗口2、模拟所需要的数据3、按时间间隔提取数据4、按提取方式提取数据5、数据提取结果第六讲MCGS配方构件一、MCGS配方管理基本原理二、使用MCGS配方构件1、配方组态设计2、配方操作设计3、动态编辑配方第七讲MCGS使用技巧第一讲构造实时数据库一、MCGS实时数据库的概述在MCGS中的数据不同于传统意义的数据或变量,它不只包含了变量的数值特征,还将与数据相关的其它属性(如数据的状态、报警限值等)以及对数据的操作方法(如存盘处理、报警处理等)封装在一起,作为一个整体,以对象的形式提供服务。这种把数值、属性和方法定义成一体的数据称为数据对象。MCGS用数据对象来表述系统中的实时数据,用对象变量代替传统意义的值变量。把用数据库技术管理的所有数据对象的集合称为实时数据库。实时数据库是MCGS的核心,是应用系统的数据处理中心,如下图所示,系统各个部分均以实时数据库为公用区交换数据,实现各个部分协调动作。设备窗口通过设备构件驱动外部设备,将采集的数据送入实时数据库;由用户窗口组成的图形对象,与实时数据库中的数据对象建立连接关系,以动画形式实现数据的可视化;运行策略通过策略构件,对数据进行操作和处理。注意:在MCGS中,用“数据对象”表示数据,可以把“数据对象”认为是比传统变量具有更多功能的对象变量,象使用变量一样来使用数据对象,大多数情况下只需使用数据对象的名称来直接操作数据对象。二、数据对象的类型在MCGS组态软件中,数据对象有开关型、数值型、字符型、事件型、组对象等五种类型。不同类型的数据对象,属性不同,用途也不同。在初级培训教材中我们已经学会定义开关型、数值型、组对象三种类型。1、开关型数据对象记录开关信号(0或非0)的数据对象称为开关型数据对象,通常与外部设备的数字量输入输出通道连接,用来表示某一设备当前所处的状态。开关型数据对象也用于表示MCGS中某一对象的状态,如对应于一个图形对象的可见度状态。开关型数据对象没有工程单位、最大值和最小值属性,没有限值报警属性,只有状态报警属性。2、数值型数据对象在MCGS组态软件中,数值型数据对象的数值范围是:负数是从-3.402823E38到-1.401298E-45,正数是从1.401298E-45到3.402823E38。数值型数据对象除了存放数值及参与数值运算外,还提供报警信息,与外部设备的模拟量输入输出通道连接。数值型数据对象有最大值和最小值属性,其值不会超过设定的数值范围。当对象的值小于最小值或大于最大值时,对象的值分别取为最小值或最大值。数值型数据对象有限值报警属性,可同时设置下下限、下限、上限、上上限、上偏差、下偏差等六种报警限值,当对象的值超过设定的限值时,产生报警;当对象的值回到所有的限值之内时,报警结束。3、字符型数据对象字符型数据对象是存放文字信息的单元,用于描述外部对象的状态特征,其值为多个字符组成的字符串,字符串长度最长可达64KB。字符型数据对象没有工程单位和最大、最小值属性,也没有报警属性。4、事件型数据对象事件型数据对象用来记录和标识某种事件产生或状态改变的时间信息。例如,开关量的状态发生变化,用户有按键动作,有报警信息产生等,都可以看作是一种事件发生。事件发生的信息可以直接从某种类型的外部设备获得,也可以由内部对应的功能构件提供。事件型数据对象的值是19个字符组成的定长字符串,用来保留当前最近一次事件所产生的时刻:“年,月,日,时,分,秒”。年用四位数字表示,月、日、时、分、秒分别用两位数字表示,之间用逗号分隔。如“1997,02,03,23,45,56”,即表示该事件产生于1997年2月3日23时45分56秒。当相应的事件没有发生时,该对象的值固定设置为“1970,01,01,08,00,00”。事件型数据对象没有工程单位、最大值和最小值属性,没有限值报警,只有状态报警,不同于开关型数据对象,事件型数据对象对应的事件产生一次,其报警也产生一次,且报警的产生和结束是同时完成的。5、数据组对象数据组对象是MCGS引入的一种特殊类型的数据对象,类似于一般编程语言中的数组和结构体,用于把相关的多个数据对象集合在一起,作为一个整体来定义和处理。例如:在初级教材中,描述一个水位控制系统的工作状态有液位1、液位2两个物理量,为便于处理,定义“液位组”为一个组对象,用来表示“液位”这个实际的物理对象,其内部成员则由上述物理量对应的数据对象组成,这样,在对“液位”对象进行处理(如:组态存盘、曲线显示、报警显示)时,只需指定组对象的名称“液位”,就包括了对其所有成员的处理。组对象只是在组态时对某一类对象的整体表示方法,实际的操作则是针对每一个成员进行的。如在报警显示动画构件中,指定要显示报警的数据对象为组对象“液位”,则该构件显示组对象包含的各个数据对象在运行时产生的所有报警信息。数据组对象是单一数据对象的集合,应包含两个以上的数据对象,但不能包含其他的数据组对象。一个数据对象可以是多个不同组对象的成员。把一个对象的类型定义成组对象后,还必须定义组对象所包含的成员。如下图所示,在“组对象属性设置”对话框内,专门有“组对象成员”窗口页,用来定义组对象的成员。图中左边为所有数据对象的列表,右边为组对象成员列表。利用属性页中的“增加”按钮,可以把左边指定的数据对象增加到组对象成员中;“删除”按钮则把右边指定的组对象成员删除。组对象没有工程单位、最大值、最小值属性,组对象本身没有报警属性。三、数据对象的定义下表列出了在高级培训教材中使用到的相关的变量名称。变量名称类型注释日期字符型显示系统日期时间字符型显示系统时间石屑数值型配方操作中的材料之-碎石数值型配方操作中的材料之-瓜子片数值型配方操作中的材料之-粉煤灰数值型配方操作中的材料之-石灰数值型配方操作中的材料之-配方库操作数值型用于对配方库进行操作如编辑、装载、查询等配方号字符型配方操作中用于配方查询的变量配方查询号字符型配方操作中用于配方查询的变量角度数值型用于封面窗口动画的变量计数器1号数值型显示1号计数器的值计数器1号时间显示字符型用于时钟方式显示1号计数器的值计数器1号工作状态开关型用于启动、停止1号计数器定时器1号最大值数值型用于限制1号计数器计数的最大值数据1至数据5数值型用于数据提取时产生数据数据显示1至4数值型用于显示字符转换成ASCII码用16进制的数数据输入数值型输入0-9999之间的数字符串显示字符型用于显示输入数据转换成的字符串字符串分解1至4字符型用于显示字符串分解成的字符数据显示1至4,可以成组增加,操作如下:在“实时数据库”中,单击右侧“成组增加”按钮,弹出“成组增加数据对象”对话框,如图:四数据对象的作用域实时数据库中定义的数据对象都是全局性的,MCGS各个部分都可以对数据对象进行操作,通过数据对象来交换信息和协调工作。数据对象的各种属性在整个运行过程中都保持有效。如在水位控制系统中的液位1、液位2,在实时曲线、实时报表、动画流程等都是用的同一变量。第二讲动画制作一、封面制作封面窗口是工程运行后第一个显示的图形界面,演示工程的封面窗口样式如下图所示。在MCGS组态软件开发平台上,单击“用户窗口”进入,再单击“新建窗口”按钮,生成“窗口0”,选中“窗口0”,单击“窗口属性”按钮,弹出“用户窗口属性”设置如图,设置完毕按“确认”按钮,退出。立体文字是通过两个文字颜色不同、没有背景(背景颜色与窗口相同)的文字标签重叠而成的。在这里我们首先应了解一个概念,就是“层”的概念。所谓层,指的是图形显示的前后顺序,位于上“层”的物体,必然遮盖下“层”的物体。应用到我们这里,就是利用两种不同颜色的文字,它们位于不同的“层”(显示的前后顺序不同),X-Y坐标也不相同。要点是:建立一个文字标签框图,框图内输入文字,采用“拷贝”的方法复制另一个文字框图,两个文字框图除设置不同的字体颜色之外,其它属性内容的完全相同。两个文本框重叠在一起,利用工具条中的层次调整按钮,改变两者之间的前后层次和相对位置,使上面的文字遮盖下面文字的一部分,形成立体的效果。如实现上图中的“MCGS组态软件演示工程”立体文字效果,可以按下图设置,颜色为“黑色”的放在下面,颜色为“白色”放在上面,然后通过上下左右键进行调整,“欢迎使用”实现方法也一样。如果要在运行过程中,让“MCGS组态软件演示工程”闪烁,增加动画效果,可以按下图设置,表达式设为:1,表示条件永远成立。“封面窗口”中左上侧有一个黑色无框的矩形,右上侧有一个白色无框的矩形,这是用“工具箱”中的“标签”实现的,左上侧在运行时显示当前日期,右上侧在运行时显示当前时钟。日期属性设置如下图,时钟属性设置与日期属性设置相似,只需要把“显示输出”的表达式中的“日期”改为“时间”即可。“封面窗口”中有一个大的椭圆,一个小球,在运行过程中小球绕着椭圆的圆周按顺时针周而复始地运动。具体操作如下:从“工具箱”中选中“椭圆”,拖放到桌面,把其大小调整为:480×200,“填充颜色”为“草青色”。在“查看”菜单中单击“状态条”打开状态条,可以根据右下角的大小调整。小球大小调整为:28×28,位置位于椭圆的中心,其定位与属性设置如下图:在MCGS组态软件开发平台上,单击“运行策略”,再双击“循环策略”或选中“循环策略”,单击“策略组态”进入策略组态中。从工具条中单击“新增策略行”图标,新增加一个策略行。再从“策略工具箱”中选取“脚本程序”,拖到策略行上,单击鼠标左键,如图,循环时间设为:200ms。双击进入脚本程序编辑环境,按下面输入:角度=角度+3.14/180*2IF角度=3.14THEN角度=-3.14ELSE角度=角度+3.14/180*2ENDIF日期=$Date时间=$Time把“标注”改为:封面动画日期时间。二、动画效果在MCGS组态软件开发平台上,单击“主控窗口”进入,选中“主控窗口”,单击“系统属性”按钮,弹出“主控窗口属性设置”对话框,具体设置如图,在“基本属性”中把“封面显示时间”设为30秒,“封面窗口”选中“封面窗口”。按“F5”进入运行环境,首先运行的是“封面窗口”,如果不操作键盘与鼠标,封面窗口自动运行30秒后进入“水位控制”窗口,否则立即进入“水位控制”窗口。运行效果图为:第三讲设备窗口组态一、概述设备窗口是M