MCGS高级教程

更新时间:2023-10-08 08:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

www.3722.cn 中国最大的资料库下载 目 录 ?1?

目 录

第二部分 MCGS高级教程 ................................................................................... 1

第一讲 构造实时数据库 ................................................................................. 1

1.1 MCGS实时数据库的概述 .......................................................................... 1 1.2 数据对象的类型 .......................................................................................... 2 1.3 数据对象的定义 .......................................................................................... 4 1.4 数据对象的作用域 ...................................................................................... 6

第二讲 动画制作 ............................................................................................. 7

2.1 封面制作 ...................................................................................................... 7 2.2 动画效果 ..................................................................................................... 11

第三讲 设备窗口组态 ................................................................................... 13

3.1 概述 ............................................................................................................ 13 3.2 支持硬件设备 ............................................................................................ 15 3.3 设备在线调试 ............................................................................................ 18 3.4 数据前处理 ................................................................................................ 23

第四讲 脚本程序 ........................................................................................... 28

4.1 脚本程序语言要素 .................................................................................... 28 4.2 脚本程序基本语句 .................................................................................... 31 4.3 脚本程序应用场合及样例......................................................................... 32

第五讲 数据后处理及报表 ........................................................................... 45

5.1 数据后处理 ................................................................................................ 45 5.2 结合数据提取做复杂的报表..................................................................... 46

第六讲 配方构件 ........................................................................................... 72

6.1 MCGS配方管理基本原理 ........................................................................ 72 6.2 使用MCGS配方构件 ............................................................................... 72

第七讲 使用技巧 ........................................................................................... 83

www.3722.cn 中国最大的资料库下载

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?1?

第二部分 MCGS高级教程

经过初级培训,您已经对MCGS组态软件的框架结构有了大致的了解,在初级培训教材的指引下,您一定能组态出一些简单的工程项目,但如果想应用自如还有一定困难。在高级培训教材帮助下,您一定会如虎添翼,组态出令人满意的工程。

培训目的 培训内容 参考手册 其 它

经过培训,您可以熟练应用MCGS组态软件中的各项功能;

能根据工艺现场要求熟练制作动画流程;

能处理相对复杂的曲线、报表、数据后处理等需求; 能熟练使用MCGS脚本程序进行复杂的工业流程控制。

动画制作、流程控制策略、设备组态、结合存盘数据提取做复杂的历史

报表、配方构件应用及MCGS使用技巧介绍。

《MCGS用户指南》

《MCGS参考手册》 MCGS多媒体教程 MCGS组态软件联机帮助

E-mail:mcgs@mcgs.com.cn

网址:www.mcgs.com.cn

www.3722.cn 中国最大的资料库下载

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?1?

第一讲 构造实时数据库

1.1 MCGS实时数据库的概述

在MCGS中的数据不同于传统意义的数据或变量,它不只包含了变量的数值特征,还将与数据相关的其它属性(如数据的状态、报警限值等)以及对数据的操作方法(如存盘处理、报警处理等)封装在一起,作为一个整体,以对象的形式提供服务。这种把数值、属性和方法定义成一体的数据称为数据对象。

MCGS用数据对象来表述系统中的实时数据,用对象变量代替传统意义的值变量。把用数据库技术管理的所有数据对象的集合称为实时数据库。实时数据库是MCGS的核心,是应用系统的数据处理中心,如下图所示,系统各个部分均以实时数据库为公用区交换数据,实现各个部分协调动作。设备窗口通过设备构件驱动外部设备,将采集的数据送入实时数据库;由用户窗口组成的图形对象,与实时数据库中的数据对象建立连接关系,以动画形式实现数据的可视化;运行策略通过策略构件,对数据进行操作和处理。

注意:在MCGS中,用“数据对象”表示数据,可以把“数据对象”认为是比传统变量具有更多功能的对象变量,像使用变量一样来使用数据对象,大多数情况下只需使用数据对象的名称来直接操作数据对象。

www.3722.cn 中国最大的资料库下载

?2? MCGS高级教程 1.2 数据对象的类型

在MCGS组态软件中,数据对象有开关型、数值型、字符型、事件型、组对象等五种类型。不同类型的数据对象,属性不同,用途也不同。在初级培训教材中我们已经学会定义开关型、数值型、组对象三种类型。

1.2.1 开关型数据对象

记录开关信号(0或非0)的数据对象称为开关型数据对象,通常与外部设备的数字量输入输出通道连接,用来表示某一设备当前所处的状态。开关型数据对象也用于表示MCGS中某一对象的状态,如对应于一个图形对象的可见度状态。

开关型数据对象没有工程单位、最大值和最小值属性,没有限值报警属性,只有状态报警属性。

1.2.2 数值型数据对象

在MCGS组态软件中,数值型数据对象的数值范围是:负数是从 -3.402823E38 到 -1.401298E-45,正数是从 1.401298E-45 到 3.402823E38。数值型数据对象除了存放数值及参与数值运算外,还提供报警信息,与外部设备的模拟量输入输出通道连接。

数值型数据对象有限值报警属性,可同时设置下下限、下限、上限、上上限、上偏差、下偏差等六种报警限值,当对象的值超过设定的限值时,产生报警;当对象的值回到所有的限值之内时,报警结束。

1.2.3 字符型数据对象

字符型数据对象是存放文字信息的单元,用于描述外部对象的状态特征,其值为多个字符组成的字符串,字符串长度最长可达64KB。字符型数据对象没有工程单位和最大、最小值属性,也没有报警属性。

1.2.4 事件型数据对象

事件型数据对象用来记录和标识某种事件产生或状态改变的时间信息。例如,开关量

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?3?

的状态发生变化,用户有按键动作,有报警信息产生等,都可以看作是一种事件发生。事件发生的信息可以直接从某种类型的外部设备获得,也可以由内部对应的功能构件提供。

事件型数据对象的值是19个字符组成的定长字符串,用来保留当前最近一次事件所产生的时刻:“年,月,日,时,分,秒”。年用四位数字表示,月、日、时、分、秒分别用两位数字表示,之间用逗号分隔。如“1997,02,03,23,45,56”,即表示该事件产生于1997年2月3日23时45分56秒。当相应的事件没有发生时,该对象的值固定设置为“1970,01,01,08,00,00”。

事件型数据对象没有工程单位、最大值和最小值属性,没有限值报警,只有状态报警,不同于开关型数据对象,事件型数据对象对应的事件产生一次,其报警也产生一次,且报警的产生和结束是同时完成的。

1.2.5 数据组对象

数据组对象是MCGS引入的一种特殊类型的数据对象,类似于一般编程语言中的数组和结构体,用于把相关的多个数据对象集合在一起,作为一个整体来定义和处理。例如:在初级教材中,描述一个水位控制系统的工作状态有液位1、液位2两个物理量,为便于处理,定义“液位组”为一个组对象,用来表示“液位”这个实际的物理对象,其内部成员则由上述物理量对应的数据对象组成,这样,在对“液位”对象进行处理(如:组态存盘、曲线显示、报警显示)时,只需指定组对象的名称“液位”,就包括了对其所有成员的处理。

组对象只是在组态时对某一类对象的整体表示方法,实际的操作则是针对每一个成员进行的。如在报警显示动画构件中,指定要显示报警的数据对象为组对象“液位”,则该构件显示组对象包含的各个数据对象在运行时产生的所有报警信息。

数据组对象是单一数据对象的集合,应包含两个以上的数据对象,但不能包含其他的数据组对象。一个数据对象可以是多个不同组对象的成员。把一个对象的类型定义成组对象后,还必须定义组对象所包含的成员。如下图所示,在“组对象属性设置”对话框内,专门有“组对象成员”窗口页,用来定义组对象的成员。图中左边为所有数据对象的列表,右边为组对象成员列表。利用属性页中的“增加”按钮,可以把左边指定的数据对象增加到组对象成员中;“删除”按钮则把右边指定的组对象成员删除。组对象没有工程单位、最大值、最小值属性,组对象本身没有报警属性。

www.3722.cn 中国最大的资料库下载

?4? MCGS高级教程

1.3 数据对象的定义

下表列出了在高级培训教材中使用到的相关的变量名称。

变量名称 日期 时间 石屑 碎石 瓜子片 粉煤灰 石灰 配方库操作 配方号

类 型 字符型 字符型 数值型 数值型 数值型 数值型 数值型 数值型 字符型

注 释 显示系统日期 显示系统时间 配方操作中的材料之- 配方操作中的材料之- 配方操作中的材料之- 配方操作中的材料之- 配方操作中的材料之-

用于对配方库进行操作如编辑、装载、查询等 配方操作中用于配方查询的变量

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?5?

配方查询号 角度 计数器1号 姓名

字符型 数值型 数值型 字符型

配方操作中用于配方查询的变量 用于封面窗口动画的变量 显示1号计数器的值 显示选择框的选择

用于时钟方式显示1号计数器的值 用于启动、停止1号计数器 用于限制1号计数器计数的最大值 用于数据提取时产生数据

用于显示字符转换成ASCII码用16进制的数 输入0-9999之间的数

用于显示输入数据转换成的字符串 用于显示字符串分解成的字符

计数器1号时间显示 字符型 计数器1号工作状态 开关型 计时器1号最大值 数据1至数据5 数据显示1至4 数据输入 字符串显示 字符串分解1至4

数值型 数值型 数值型 数值型 字符型 字符型

数据显示1至4,可以成组增加,操作如下:在“实时数据库”中,单击右侧“成组增加”按钮,弹出“成组增加数据对象”对话框,如图:

www.3722.cn 中国最大的资料库下载

?6? MCGS高级教程

1.4 数据对象的作用域

实时数据库中定义的数据对象都是全局性的,MCGS各个部分都可以对数据对象进行操作,通过数据对象来交换信息和协调工作。数据对象的各种属性在整个运行过程中都保持有效。如在水位控制系统中的液位1、液位2,在实时曲线、实时报表、动画流程等都是用的同一变量。

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?7?

第二讲 动画制作

2.1 封面制作

封面窗口是工程运行后第一个显示的图形界面,演示工程的封面窗口样式如下图所示:

在MCGS组态软件开发平台上,单击“用户窗口”进入,再单击“新建窗口”按钮,生成“窗口0”,选中“窗口0”,单击“窗口属性”按钮,弹出“用户窗口属性”设置如图,设置完毕按“确认”按钮,退出。

立体文字是通过两个文字颜色不同、没有背景(背景颜色与窗口相同)的文字标签重

www.3722.cn 中国最大的资料库下载

?8? MCGS高级教程 叠而成的。在这里我们首先应了解一个概念,就是“层”的概念。所谓层,指的是图形显示的前后顺序,位于上“层”的物体,必然遮盖下“层”的物体。应用到我们这里,就是利用两种不同颜色的文字,它们位于不同的“层”(显示的前后顺序不同),X-Y坐标也不相同。

要点是:建立一个文字标签框图,框图内输入文字,采用“拷贝”的方法复制另一个文字框图,两个文字框图除设置不同的字体颜色之外,其它属性内容的完全相同。两个文本框重叠在一起,利用工具条中的层次调整按钮,改变两者之间的前后层次和相对位置,使上面的文字遮盖下面文字的一部分,形成立体的效果。如实现上图中的“MCGS组态软件演示工程”立体文字效果,可以按下图设置,颜色为“黑色”的放在下面,颜色为“白色”放在上面,然后通过上下左右键进行调整,“欢迎使用”实现方法也一样。

如果要在运行过程中,让“MCGS组态软件演示工程”闪烁,增加动画效果,可以按下图设置,表达式设为:1,表示条件永远成立。

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?9?

“封面窗口”中左上侧有一个黑色无框的矩形,右上侧有一个白色无框的矩形,这是用“工具箱”中的“标签”实现的,左上侧在运行时显示当前日期,右上侧在运行时显示当前时钟。日期属性设置如下图,时钟属性设置与日期属性设置相似,只需要把“显示输出”的表达式中的“日期”改为“时间”即可。

“封面窗口”中有一个大的椭圆,一个小球,在运行过程中小球绕着椭圆的圆周按顺时针周而复始地运动。具体操作如下:

从“工具箱”中选中“椭圆”,拖放到桌面,把其大小调整为:480×200,“填充颜色”为“草青色”。在 “查看” 菜单中单击“状态条”打开状态条,可以根据右下角的大小调整。小球大小调整为:28×28,位置位于椭圆的中心,其定位与属性设置如下图:其中角度是在实时数据库中定义的数值型数据对象。

www.3722.cn 中国最大的资料库下载

?10? MCGS高级教程

在MCGS组态软件开发平台上,单击“运行策略”,再双击“循环策略”或选中“循环策略”,单击“策略组态”进入策略组态中。双击

图标进入“策略属性设置”,

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?11?

将循环时间设为:200ms。从工具条中单击“新增策略行” 再从“策略工具箱”中选取“脚本程序”,拖到策略行

图标,新增加一个策略行。上,单击鼠标左键。如图:

双击

进入脚本程序编辑环境,输入下面的程序:

角度=角度+3.14/180 IF 角度>=2*3.14 THEN 角度=角度-2*3.14 ENDIF 日期=$Date 时间=$Time

把“标注”改为:封面动画日期时间。

2.2 动画效果

在MCGS组态软件开发平台上,单击“主控窗口”进入,选中“主控窗口”,单击“系统属性”按钮,弹出“主控窗口属性设置”对话框,具体设置如图,在“基本属性”中把“封面显示时间”设为30秒,“封面窗口”选中“封面窗口”。

www.3722.cn 中国最大的资料库下载

?42? MCGS高级教程 OpenSubWnd双击,组态过程如下图示:

用户窗口.脚本程序.OpenSubWnd(子窗口,650,450,150,150,0 )

用户窗口.脚本程序.OpenSubWnd(子窗口,650,450,150,150,0)

这样在运行环境下,打开“脚本程序”用户窗口,在窗口中单击鼠标左键,就会弹出我们定义的子对话框。

4.3.4 脚本程序在“菜单”中的应用

在MCGS组态软件开发平台上,单击“主控窗口”进入“菜单组态”,在“工具条”

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?43?

中单击“新增菜单项”,产生菜单“操作0”,双击“操作0”菜单,弹出“菜单属性设置”对话框,设置如下图,在“脚本程序”中输入如下程序:

数值输入=689 '赋初值 计数器1号最大值=60 '赋初值

!TimerStop(1) '使1号计数器停止工作 !TimerReset(1,0) '使1号计数器复位

!TimerSetLimit(1,计数器1号最大值,0) '设置1号计数器的上限为60,

'运行到60后重新循环运行

如图:

www.3722.cn 中国最大的资料库下载

?44? MCGS高级教程

按“F5”进入运行环境,单击“脚本程序”菜单,打开“脚本程序”窗口,单击“启动1号计数器”按钮,让1号计数器启动运行;单击“数值转变为字符串”按钮、“字符串分解为单个字符”按钮、“字符转为ASCII码用16进制显示”按钮,当在窗口中单击鼠标左键时就会弹出子对话框,如下图显示:

计数器1号当前值=10

计数器1号最大值=60

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?45?

第五讲 数据后处理及报表

5.1 数据后处理

MCGS中的数据后处理,其本质上是对历史数据库的处理,MCGS的存盘历史数据库是原始数据的基本集合,MCGS数据后处理就是对这些原始数据的数据操作(修改、删除、添加、查询等数据库操作),数据后处理的目的是要从这些原始数据中提炼出对用户真正有用的数据和信息并以数据报表的形式展示出来。

在工程应用中,对采集的工程物理量存盘后,需要对数据库进行操作和对存盘的数据进行各种统计,以根据需要作出各种形式的报表。MCGS组态软件提供的存盘数据浏览构件,存盘数据提取构件和历史表格构件可以完成各种形式的数据报表, MCGS组态软件数据处理流程如下:

如图所示,数据从采集设备输入,通过设备驱动进入实时数据库,MCGS组态软件提供对实时数据库的实时变量进行数据和曲线等多种显示方式,同时可通过数据存盘控制器随时对变量的存盘周期和方式进行修改,可对在硬盘上存好的数据进行多种处理。MCGS存盘数据浏览构件可以对存好的数据直接进行显示、打印、查询、修改、删除、添加记录和统计。MCGS存盘数据提取构件可以对存好的数据按照一定的时间间隔或不同的统计方式进行提取处理,可以把数据提取到MCGS实时数据库中的变量中,也可以根据一定的查询条件把相关的数据提取到其它的各种形式的数据库。用MCGS存盘数据提取构件配合

www.3722.cn 中国最大的资料库下载

?46? MCGS高级教程 MCGS历史表格可以完成工控项目中最常使用的各种形式的报表(如标准形式的日报表、月报表、年报表,不定记录项的报表,定要求查询报表等)。

5.2 结合数据提取做复杂的报表

我们通过实例来进行详细讲解,具体如下:

5.2.1 新建一个窗口

在MCGS组态软件开发平台上,单击“用户窗口”进入,再单击“新建窗口”按钮,生成“窗口0”,选中“窗口0”,单击“窗口属性”按钮,弹出“用户窗口属性”设置,设置完毕按“确认”按钮,退出。如图:

双击“数据提取”进入动画组态,最终组态效果如下图:

?22? MCGS高级教程

在“设备调试”中就可以在线调试“西门子S7-200PPI”,如图:

如果“通讯状态标志”为0则表示通讯正常,否则MCGS组态软件与西门子S7_200 PLC设备通讯失败。如通讯失败,则按以下方法排除:

1、 检查PLC是否上电。 2、 检查PPI电缆是否正常 。

3、 确认PLC的实际地址是否和设备构件基本属性页的地址一致,若不知道PLC的

实际地址,则用编程软件的搜索工具检查,若有则会显示PLC的地址。 4、 检查对某一寄存器的操作是否超出范围。

其它设备如板卡、模块、仪表、PLC等,在用MCGS组态软件调试前,请详细阅读

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?23?

硬件使用说明与MCGS在线帮助系统。

3.4 数据前处理

在实际应用中,经常需要对从设备中采集到的数据或输出到设备的数据进行处理,以得到实际需要的工程物理量,如从AD通道采集进来的数据一般都为电压mV值,需要进行量程转换或查表、计算等处理才能得到所需的工程物理量。MCGS系统对设备采集通道的数据可以进行八种形式的数据处理,包括:多项式计算、倒数计算、开方计算、滤波处理、工程转换计算、函数调用、标准查表计算、自定义查表计算,各种处理可单独进行也可组合进行。MCGS的数据前处理与设备是紧密相关的,在MCGS设备窗口下,打开设备构件,设置其数据处理属性页即可进行MCGS的数据前处理组态。如图:

按“设置”按钮则打开“通道处理设置”,进行数据前处理组态,如图:

www.3722.cn 中国最大的资料库下载

?24? MCGS高级教程

在MCGS通道处理设置窗口中,进行数据前处理的组态设置。如:对设备通道3的输入信号1000~5000mV(采集信号)工程转换成0-100RH(传感器量程)的湿度,则选择第5项:工程转换,设置如图:

MCGS在运行环境中则根据输入信号的大小采用线性插值方法转换成工程物理量(0-100RH)范围。

MCGS数据前处理八种方式说明如下:

? 多项式处理:多项式是对设备的通道信号进行多项式(系数)处理,可设置的处理参数有k0到k5,可以将其设置为常数,也可以设置成指定通道的值(通道号前面加“!”),另外,还应选择参数和计算输入值X的乘除关系。

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?25?

? 倒数1/X:对设备输入信号求倒数运算。 ? 开方:对设备输入信号求开方运算。

? 滤波:也叫中值滤波,对设备本次输入信号的1/2+上次的输入信号的1/2。 ? 工程转换:把设备输入信号转换成工程物理量。

? 函数调用:函数调用用来对设定的多个通道值进行统计计算,包括:求和、求平均值、求最大值、求最小值、求标准方差。此外,还允许使用动态连接库来编制自己的计算算法,挂接到MCGS中来,达到可自由扩充MCGS算法的目的。如图所示,需要指定用户自定义函数所在的动态连接库所在的路径和文件名,以及自定义函数的函数名。

www.3722.cn 中国最大的资料库下载

?26? MCGS高级教程

? 标准查表计算:如下图所示,标准查表计算包括八种常用热电偶和Pt100热电阻查表计算。对Pt100热电阻在查表之前,应先使用其它方式把通过AD通道采集进来的电压值转换成为Pt100的电阻值,然后再用电阻值查表得出对应的温度值。对热电偶查表计算,需要指定使用作为温度补偿的通道(热电偶已作冰点补偿时,不需要温度补偿),在查表计算之前,先要把作为温度补偿的通道的采集值转换成实际温度值,把热电偶通道的的采集值转换成实际的毫伏数。

? 自定义查表计算处理:如下图所示,自定义查表计算处理首先要定义一个表,在每一行输入对应值;然后再指定查表基准。注意:MCGS规定用于查表计算的每列数据,必须以单调上升或单调下降的方式排列,否则,无法进行查表计算。如下图,查表基准是第一列,MCGS系统处理时首先将设备输入信号对应于基准(第一列)线性插值,第二列给出相应的工程物理量,即基准输入信号,对应工程物理

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?27?

量(传感器的量程)。

www.3722.cn 中国最大的资料库下载

?28? MCGS高级教程 第四讲 脚本程序

本讲介绍MCGS脚本程序的语法规则、编辑环境、所提供的编程语句与系统函数使用方法以及脚本程序使用场合,使用户能快速了解和掌握编制用户脚本程序的方法。

用户脚本程序是由用户编制的、用来完成特定操作和处理的程序,脚本程序的编程语法非常类似于普通的Basic语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。

对于大多数简单的应用系统,MCGS的简单组态就可完成。只有比较复杂的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。

4.1 脚本程序语言要素

4.1.1 数据类型

开关型 数值型 字符型

值为0或1

值在3.4E±38范围内

值为最多512字符组成的字符串

4.1.2 变量及常量

变量:脚本程序中,不能由用户自定义变量,也不能定义子程序和子函数。只能对实时数据库中的数据对象进行操作,用数据对象的名称来读写数据对象的值,而且无法对数据对象的其他属性进行操作。可以把数据对象看作是脚本程序中的全局变量,在所有的程序段共用。开关型、数值型、字符型三种数据对象分别对应于脚本程序中的三种数据类型。在脚本程序中不能对组对象和事件型数据对象进行读写操作,但可以对组对象进行存盘处理。

常量: 开关型常量

0或1的数字

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?29?

数值型常量 字符型常量

带小数点或不带小数点的数值,如:12.45, 100 双引号内的字符串,如:“OK”, “正常”

系统变量:MCGS系统定义的内部数据对象作为系统变量,在脚本程序中可自由使用,在使用内部变量时,变量的前面必须加“$”符号,如 $Date,内部变量的详细资料请参考《参考手册》的系统变量一章或在线帮助中的系统内部数据对象列表。

系统函数:MCGS系统定义的系统函数,在脚本程序中可自由使用,在使用系统函数时,函数的前面必须加“!”符号,如!abs( ),系统函数的详细资料请参考《参考手册》的系统函数一章或在线帮助中的系统内部函数列表。

4.1.3 MCGS对象

MCGS操作对象包括工程中的用户窗口、用户策略和设备构件,MCGS操作对象在脚本程序中不能当作变量和表达式使用,但可以当作系统函数的参数使用,如:!Setdevice(设备0,1,””)。

4.1.4 表达式

由数据对象(包括设计者在实时数据库中定义的数据对象、系统内部数据对象和系统内部函数)、括号和各种运算符组成的运算式称为表达式,表达式的计算结果称为表达式的值 。当表达式中包含有逻辑运算符或比较运算符时,表达式的值只可能为0(条件不成立,假)或非0(条件成立,真),这类表达式称为逻辑表达式;当表达式中只包含算术运算符,表达式的运算结果为具体的数值时,这类表达式称为算术表达式;常量或数据对象是狭义的表达式,这些单个量的值即为表达式的值。表达式值的类型即为表达式的类型,必须是开关型、数值型、字符型三种类型中的一种。

表达式是构成脚本程序的最基本元素,在MCGS其他部分的组态中,也常常需要通过表达式来建立实时数据库与其他对象的连接关系,正确输入和构造表达式是MCGS的一项重要工作。

4.1.5 运算符

算术运算符

www.3722.cn 中国最大的资料库下载

?30? MCGS高级教程 ∧ 乘方 * 乘法 / 除法 \ 整除 + 加法 — 减法 Mod 取模运算 逻辑运算符 AND 逻辑与 NOT 逻辑非 OR 逻辑或 XOR 逻辑异或 比较运算符 > 大于 >= 大于等于 = 等于 <= 小于等于 < 小于 <> 不等于

4.1.6 运算符优先级

按照优先级从高到低的顺序,各个运算符排列如下: ( ) ∧

*,/ ,\,Mod + ,—

< , > ,<= ,>=,= ,<>

最高优先级

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?31?

NOT

AND,OR,XOR

4.2 脚本程序基本语句

由于MCGS脚本程序是为了实现某些多分支流程的控制及操作处理,因此只包括了几种最简单的语句:赋值语句、条件语句、退出语句和注释语句。所有的脚本程序都可由这四种语句组成,当需要在一个程序行中包含多条语句时,各条语句之间须用“:”分开,程序行也可以是没有任何语句的空行。大多数情况下,一个程序行只包含一条语句,赋值程序行中根据需要可在一行上放置多条语句。

4.2.1 赋值语句

赋值语句的形式为:数据对象 = 表达式。赋值语句用赋值号(“=”号)来表示,它具体的含义是:把“=”右边表达式的运算值赋给左边的数据对象。赋值号左边必须是能够读写的数据对象,如:开关型数据、数值型数据、事件型数据以及能进行写操作的内部数据对象。而组对象、事件型数据、只读的内部数据对象、系统内部函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。

赋值号的右边为一表达式,表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“赋值语句类型不匹配”的错误信息。

4.2.2 条件语句

条件语句有如下三种形式:

If 〖表达式〗 Then 〖赋值语句或退出语句〗 If 〖表达式〗 Then 〖语句〗 EndIf

If 〖表达式〗Then 〖语句〗

www.3722.cn 中国最大的资料库下载

?32? MCGS高级教程 Else 〖语句〗 EndIf

条件语句中的四个关键字“If”、“Then”、“Else”、“Endif”不分大小写。如拼写不正确,检查程序会提示出错信息。

条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制多分支流程的控制程序提供了可能。

“IF”语句的表达式一般为逻辑表达式,也可以是值为数值型的表达式,当表达式的值为非0时,条件成立,执行“Then”后的语句,否则,条件不成立,将不执行该条件块中包含的语句,开始执行该条件块后面的语句。

值为字符型的表达式不能作为“IF”语句中的表达式。

4.2.3 退出语句

退出语句为“Exit”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。

4.2.4 注释语句

以单引号“’”开头的语句称为注释语句,注释语句在脚本程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理。

4.3 脚本程序应用场合及样例

脚本程序在MCGS组态软件中有五种应用场合,分别为:在“运行策略”中的“脚本程序”构件中使用;在用户窗口中“标准按钮”的属性设置中的“脚本程序”中使用;在用户窗口设置事件的脚本函数中使用;在“菜单”属性设置中的“脚本程序”中使用;还可以在“用户窗口”属性设置中的“启动脚本”、“循环脚本”、“退出脚本”中使用。

初级教材中,我们已经熟悉了“运行策略”中的脚本程序,在本讲中通过对“选择框”构件,定时器函数、字符串函数操作,弹出子对话框的操作,达到对其它4种场合灵活运MCGS组态软件脚本程序的目的,简化组态过程,提高工作效率,效果图如下:

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?33?

4.3.1 脚本程序在“窗口”中的应用

选择框演示程序

进入“用户窗口”,单击“新建窗口”按钮,生成“窗口0”,选中“窗口0”,单击“窗口属性”按钮,弹出“用户窗口属性”设置,如下图所示设置完毕按“确认”按钮,退出。

双击“脚本程序”窗口进入“动画组态”环境,从“工具箱”中选中“选择框”,拖放到桌面适当位置,双击“选择框”,弹出“选择框属性设置窗口”对话框,选中“选项

www.3722.cn 中国最大的资料库下载

?34? MCGS高级教程 类型”中的“其它”,按“确认”按钮退出,如下图:

再从“工具箱”中选3次“标签”,放在桌面上,分别为:选择框演示程序,姓名,选择框选择输出。选择框选择输出属性设置如下图,其中姓名是在数据库中定义的字符型数据变量。

从“工具箱”中单击“常用图符” 图标与“凹平面” 面”

图标,弹出“常用图符”,选中“凹槽平面”

图标,放在桌面适当位置,通过“置于最前面”

,“向后一层”

,“置于最后

,“向前一层” ,做成立体效果,如上图效果图。

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?35?

在MCGS组态软件开发平台上,单击“用户窗口”选中“脚本程序”窗口,单击“窗口属性”按钮,弹出“用户窗口属性设置”对话框,设置如下图:

4.3.2 脚本程序在“标准按钮”中的应用

计数器操作演示

计时器号:系统计时器的序号1—255,MCGS系统内嵌255个系统计时器。我们以1号计数器为例,要求用按钮启动、停止1号计数器,使1号计数器复位,给1号计数器限制最大值。函数的具体应用可以看“在线帮助”。具体操作如下:

在MCGS组态软件开发平台上,单击“用户窗口”,再双击“脚本程序”窗口,进入“动画组态”,从“工具箱”中选中5次“标签”,按效果图放置,分别为:1号计数器操作演示,1号计数器计数,1号计数器时间显示,1号计数器工作状态,1号计数器最大值。再从“工具箱”中选中3次“标签”,按效果图放置,作为“1号计数器计数”、“1号计数器时间显示”、“1号计数器工作状态显示”在运行时对应显示用,从工具箱”中选中“输入框”,针对“1号计数器最大值”运行时进行输入。在所用到的数据变量中,计数器1号、计数器1号时间显示、计数器1号工作状态、计数器1号最大值的属性设置在第一讲1.3节数据对象的定义中已列表说明,参照列表进行设置即可。如图:

www.3722.cn 中国最大的资料库下载

?36? MCGS高级教程

按照如上设计后在运行中并不能如我们所想象的显示计数器1号的当前值、状态、时间。因为我们还没有给以上数据变量赋值(即跟1号计数器的运行状态连接起来);为达到组态效果,在“脚本程序”窗口的循环脚本中加入如下语句:

计数器1号=!TimerValue(1,0) 计数器1号显示时间=$Time 计数器1号工作状态=!TimerState(1 )

如下图示,这样当进入运行环境时就能实时显示1号计数器的当前值、状态、时间。

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?37?

我们用按钮来控制“1号计数器”的启动、停止、复位、最大值限制。具体如下: 从“工具箱”中选四次“标准按钮”,制作四个标准按钮,拖放到桌面适当位置,如效果图,属性设置分别如下:

www.3722.cn 中国最大的资料库下载

?38? MCGS高级教程

字符串操作演示

在实际应用过程中我们经常要用到字符串操作,例如:对西门子200系列PLC中的“V数据存储器”进行处理。输入一个0一9999的某个数,先要把这个数转换为字符串,不足四位字符时,前面补“0”,再对字符串进行分解,分解后先转换为相应的ASCII码,再用16进制表示。具体操作如下:

在MCGS组态软件开发平台上,单击“用户窗口”,再双击“脚本程序”窗口,进入“动画组态”,从“工具箱”中选中3次“标签”,按效果图放置,显示文字分别为:字符串操作演示、输入数值、字符串显示。再从“工具箱”中选中“输入框”,放在“输入数值”后面,从“工具箱”中选中“标签”,放在“字符串显示”后面,用于显示字符串。

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?39?

分别设置如图:

从“工具箱”中选中3次“标准按钮”,分别拖放到桌面适当位置,如效果图,按钮名分别为:数值转变为字符串、字符串分解为单个字符、字符转为ASCII码用16进制显示。属性设置分别如下:

www.3722.cn 中国最大的资料库下载

?40? MCGS高级教程

从“工具箱”中选中“标签”拖放到桌面适当位置,再用“工具条”中的“拷贝”按钮,复制7个,用于分别显示分解的字符及用ASCII码转换后的16进制数值。可以用“编辑条”中的

工具进行处理。属性设置如

下,其中:字符串分解2、字符串分解3、字符串分解4属性设置只需要把“显示输出”中“表达式”中的“字符串分解1”相应地改为“字符串分解2”、“字符串分解3”、“字符串分解4”;其中:数据显示2、数据显示3、数据显示4属性设置只需要把“显示输出”中“表达式”中的“数据显示1” 相应地改为 “数据显示2”、“数据显示3”、“数据显示4”即可,以上所用到的数据对象均在第一讲1.3节中做了定义说明。

www.3722.cn 中国最大的资料库下载 MCGS高级教程 ?41?

4.3.3 脚本程序在事件中的应用

在MCGS组态软件开发平台上,选择用户窗口标签,选择新建窗口,把新建的窗口名称定义为子窗口,在子窗口中放置四个标签,其中两个标签分别输入“计数器1号当前值=”、“计数器1号最大值=”。另两个标签设置为对应的显示输入,对应的表达式分别为“计数器1号”、“计数器1号最大值”。组态结果即属性设置分别如下图示,两个标签的输出属性设置是一样的,只是对应的表达式改为“计数器1号最大值”。

打开“脚本程序”用户窗口,单击右键弹出右键菜单选择事件则弹出事件组态对话框,选择Click事件,打开事件参数组态对话框,再打开脚本程序编辑器,在脚本程序编辑器中输入如下语句。或打开右边的用户窗口,再打开“脚本程序”窗口,从方法中选择

www.3722.cn 中国最大的资料库下载

本文来源:https://www.bwwdw.com/article/a7ud.html

Top