当前位置:文档之家› 基于MCGS的恒压供水系统应用

基于MCGS的恒压供水系统应用

基于MCGS的恒压供水系统应用
基于MCGS的恒压供水系统应用

基于MCGS的恒压供水系统应用

[摘要] 基于MCGS(Monitor and Control Generate System)的PLC恒压供水控制是现代常用供水系统的普遍采用方式。此系统主要利用PLC、传感器、电气控制设备及水泵机构成的供水管网,从面恒压实现供水的控制目的。

[关键词] MCGS 可编程序控制器(PLC)恒压供水

1.前言

随着科学计算机技术和网络技术的飞速发展,为工业自动化开辟了广阔的发展空间。如水位的检测、锅炉液位检测、油罐淤的检测等等,有很多的工业领域都实现了远程监控的功能。用户可以方便快捷地组建优质高效的监控系统,并且通过采用远程监控及诊断、双机热备等先进技术,使系统更加安全可靠。在这方面,MCGS工控组态软件将为您提供强有力的软件支持。

2.MCGS系统概述

MCGS全中文工业自动化控制组态软件(英文全称Monitor and Control Generate System,以下简称MCGS工控组态软件或MCGS)为用户建立全新的过程测控系统提供了一整套解决方案。MCGS工控组态软件是一套32位工控组态软件,可稳定运行于Windows95/98/NT操作系统,集动画显示、流程控制、数据采集、设备控制与输出、网络数据传输、双机热备、工程报表、数据与曲线等诸多强大功能于一身,并支持国内外众多数据采集与输出设备,广泛应用于石油、电力、化工、钢铁、矿山、冶金、机械、纺织、航天、建筑、材料、制冷、交通、通讯、食品、制造与加工业、水处理、环保、智能楼宇、实验室等多种工程领域。

MCGS系统包括环境和运行两个部分,具体的组态过程包括系统菜单和系统参数组态、设备构件组态、用户界面组态、实时数据对象组态和运行策略组态。MCGS服务器版本,集工业现场的集散控制和各类历史、实时数据及相关曲线的WWW发布于一体,可以解决整个企业的Internet/Intranet方案,也可以非常方便的与您已有的企业网络相衔接,让您从具体的技术环节和繁杂的数据堆中脱身,随时随地掌握工业现场与企业运营状态,了解所需的各项信息,大幅度提高工作效率,实现成功决策

3.基于MCGS的液位控制系统实现

上位机采用MCGS组态软件为监控软件,对液位信息进行实时监控;下位机以PLC为核心,进行液位信息的采集和转换,并与上位机进行信息交互,实现恒压的目的。设水箱的进水量为Q1,出水量为Q2,水箱的液面高度为h,出水阀V2固定于某一开度值。下图为恒压供水系统的结构图

主控对象包括PLC、电动调节阀,被控对象为水箱水位。恒压供水系统的原

MCGS结合数据库提取复杂报表

实验名称:结合数据库提取复杂报表 一、实验目的 1、了解如何在数据库中提取相关数据。 2、将提取的相关数据制成报表形势输出。 二、实验内容 1、学会提取数据库相关数据。 2、学会如何制作报表,并显示提取的数据。 三、实验步骤 1、存盘数据提取 在“运行策略”中新建九个用户策略,策略名称分别为:数据按和提取、数据按最大值提取、数据按最小值提取、数据按平均值提取、数据按累积值提取、数据按样本方差提取、数据按标准差提取、数据按首记录提取、数据按末记录提取。以“数据按和提取”策略为例,进行相应的“存盘数据提取属性设置”。 双击“数据按和提取”进入策略组态,单击工具条中的“新增策略行”,从“工 具箱”中选中“存盘数据提取”拖放到策略行上,单击鼠标左键放好。双击,弹出“存盘数据提取构件属性设置”对话框,如下图设置:

2、存盘数据浏览 在“运行策略”中新建九个用户策略,策略名称分别为:“按和提取历史数据”、“按最大值提取历史数据”、“按最小值提取历史数据”、“按平均值提取历史数据”、“按累积值提取历史数据”、“按样本方差提取历史数据”、“按样本标准差提取历史数据”、“按首记录提取历史数据”、“按末记录提取历史数据”。以“按和提取历史数据”策略为例,进行相应的存盘数据浏览属性设置。 双击“按和提取历史数据”进入策略组态,单击工具条中的“新增策略行”,从 “工具箱”中选中“存盘数据浏览”拖放到策略行 上,单击鼠标左键放好。双击,弹出“存盘数据浏览构件属性设置”对话框,如下图设置,“数值条件”不用设置。

从MCGS 组态软件开发平台上,单击“用户窗口”,双击“数据提取”窗口,进入“动画组态”。从“工具箱”中选取十八次“标准按钮”,一次“标签”拖放到桌面如效果图。标签输入为:按提取方式提取数据;十八个按钮名称分别为:数据按和提取、数据按最大值提取、数据按最小值提取、数据按平均值提取、数据按累积值提取、数据按样本方差提取、数据按标准差提取、数据按首记录提取、数据按末记录提取、打开和数据、打开最大值数据、打开最小值数据、打开平均值数据、打开累积值数据、打开样本方差数据、打开标准差数据、打开首记录数据、打开末记录数据。以“数据按和提取”按钮为例,属性设置,如下图:

MCGS系统内部函数参考手册.docx

MCGS系统内部函数 MCGS内部为用户提供了一些常用的数学函数和对MCGS内部对象操作的函数。组态时,可在表达式中或用户脚本程序中直接使用这些函数。为了与其它名称相区别,系统内部函数的名称一律以“!”符号开头。下面分别介绍各个函数的用途和使用方法。 运行环境操作函数 !CallBackSvr(DatName) 函数意义:调用后台对象 返回值:数值型,后台对象的值 参数:DatName,对象名,数值型 实例:X=! CallBackSvr (X),调用后台数值型对象X 注意:本函数在新版本MCGS系统内部,己经无效。为了保留与旧版本的兼容性, 暂时保留。 !ChangeLoopStgy(StgyName, n) 函数意义:改变循坏策略的循环时间 返回值:数值型。返回值二0:调用正常;〈>0:调用不正常。 参数:StgyName,策略名;n,数值型,以毫秒数表示循环策略的循环时间实 例:!ChangeLoopStgy(报警策略,5000),将报警策略的循环时间改为为5 秒 !CioseAllWindow(WndName) 函数意义:关闭所有窗口,如果在字符串"WndName"中指定了一个窗口,则打开这个窗口,关闭其他窗口。如果” WndName”为空串,则关闭所有窗口。 返回值:数值型。返回值:二0:调用正常;〈>0:调用不正常。 参数:WndName,用户窗口名,字符型。 实例:!CloscAllWindow( “工况图”),关闭除了用户窗口“工况图”以外的其他窗I」,若“工况图”窗I」没有打开,则在关闭其他窗I」的同时打开该窗 I」!CloseAllWindow( “”),关闭所有窗口。 !EnableStgy(StgyName, n) 函数意义:打开或关闭某个策略,如报警策略或循环策略等。返回值:数值型。返冋值二0:调用正常;<>0:调用不正常。 参数:StgyName,策略名; n,数值型,为1时表示打开此策略,为0时表示关闭此策略。实例:!EnableStgy(报

MCGS脚本程序要点

MCGS脚本程序 本专题将从以下几个方面介绍MCGS脚本程序 : 脚本程序简介 脚本语言编辑环境 脚本程序语言要素 脚本程序基本语句 脚本程序的查错和运行 脚本程序简介 对于大多数简单的应用系统,MCGS的简单组态就可完成。只有比较复杂 的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大 提高工作效率,优化控制过程。 用户脚本程序是由用户编制的、用来完成某种特定的流程控制和操作处理的 程序。它被封装在一个功能构件里(称为脚本程序功能构件),在后台由独立的 线程来运行和处理,能够避免由于单个脚本程序的错误而导致整个系统的瘫痪。 在MCGS中,脚本语言的编程语法非常类似于普通的 Basic 语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。 脚本程序在MCGS组态软件中有四种应用场合,分别为: 在“运行策略”中的“脚本程序”构件中使用; 在“菜单”属性设置中的“脚本程序”中使用,作为菜单的一个辅助功 能运行; 在“用户窗口”属性设置中的“启动脚本” 、“循环脚本”、“退出脚本” 中使用; 更常见的用法是应用在动画界面的事件中,如在窗口中的“标准按钮” 属性设置中的“脚本程序”中使用。 MCGS引入的事件驱动机制,与 VB或 VC中的事件驱动机制类似,比如: 对用户窗口,有装载,卸载事件;对窗口中的控件,有鼠标单击事件,键盘按键 事件等等。这些事件发生时,就会触发一个脚本程序,执行脚本程序中的操作。 脚本语言编辑环境 脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚 本程序编辑框、编辑功能按钮、 MCGS操作对象列表和函数列表、脚本语句和表 达式 4 个部分构成,分别说明如下:

mcgs数据后处理

第五讲MCGS数据后处理及报表 一、数据后处理 MCGS中的数据后处理,其本质上是对历史数据库的处理,MCGS的存盘历史数据库是原始数据的基本集合,MCGS数据后处理就是对这些原始数据的数据操作(修改、删除、添加、查询等数据库操作),数据后处理的目的是要从这些原始数据中提炼出对用户真正有用的数据和信息并以数据报表的形式展示出来。 在工程应用中,对采集的工程物理量存盘后,需要对数据库进行操作和对存盘的数据进行各种统计,以根据需要作出各种形式的报表。MCGS组态软件提供的存盘数据浏览构件,存盘数据提取构件和历史表格构件可以完成各种形式的数据报表, MCGS组态软件数据处理流程如下: 如图所示,数据从采集设备输入,通过设备驱动进入实时数据库,MCGS组态软件提供对实时数据库的实时变量进行数据和曲线等多种显示方式,同时可通过数据存盘控制器随时对变量的存盘周期和方式进行修改,可对在硬盘上存好的数据进行多种处理。MCGS存盘数据浏览构件可以对存好的数据直接进行显示、打印、查询、修改、删除、添加记录和统计。MCGS存盘数据提取构件可以对存好的数据按照一定的时间间隔或不同的统计方式进行提取处理,可以把数据提取到MCGS实时数据库中的变量中,也可以根据一定的查询条件把相关的数据提取到其它的各种形式的数据库。用MCGS存盘数据提取构件配合MCGS历史表格可以完成工控项目中最常使用的各种形式的报表(如标准形式的日报表、月报表、年报表,不定记录项的报表,定要求查询报表等)。 二、结合数据提取做复杂的报表 我们通过实例来进行详细讲解,具体如下: 1、新建一个窗口

在MCGS组态软件开发平台上,单击“用户窗口”进入,再单击“新建窗口”按钮,生成“窗口0”,选中“窗口0”,单击“窗口属性”按钮,弹出“用户窗口属性”设置,设置完毕按“确认”按钮,退出。如图: 双击“数据提取”进入动画组态,最终效果如下图: 2、模拟所需要的数据

昆仑通态脚本

相关内容回首页数据对象操作函数 !AnswerAlm(DatName) 函数意义:应答数据对象DatName所产生的报警。如对应的数据对象没有报警产 生或已经应答,则本函数无效。 返回值:数值型,=0为操作成功,<>0为操作失败。 参数:DatName,数据对象名。 实例:!AnswerAlm(电机温度),应答数据对象“电机温度”所产生的报警。 !ChangeDataSave(Datname,n) 函数意义:改变数据对象Datname存盘的周期。 返回值:数值型,=0为操作成功,<>0为操作失败。 参数:Datname,数据对象名;n,数值型,以秒表示的存盘间隔时间。 实例:!ChangeDataSave(温度,5),温度的存盘间隔时间为5秒。 !ChangeSaveData(DatName,Num1,Num2) 该函数在通用版中可以使用,在嵌入版中不能使用! 函数意义:改变数据对象DatName所对应存盘数据的存盘间隔,把Num1小时以 前的存盘数据(以当前时间为0点)的存盘间隔改为Num2秒。本操 作只对组对象有效,对单个的数据对象无效。当DataName =空字符, 或Num1=0或Num2=0时,本操作无效。 返回值:数值型,返回值=0:调用正常,<>0:调用不正常。 参数:DatName:数据对象名。 Num1:数值型时间量,单位:小时。本函数用Num1<0的一些数值来 表示一些特殊意义的操作: =-1 改变当天对应数据对象所有存盘数据的存盘间隔; =-2 改变昨天对应数据对象所有存盘数据的存盘间隔;

=-3 改变本星期对应数据对象所有存盘数据的存盘间隔; =-4 改变上星期对应数据对象所有存盘数据的存盘间隔; =-5 改变本月对应数据对象所有存盘数据的存盘间隔; =-6 改变上个月对应数据对象所有存盘数据的存盘间隔; Num2:数值型时间量,新的存盘间隔,单位:秒。 实例:!ChangeSaveData(电机1,-2,5),把组对象“电机1”对应的存盘数据中昨天的存盘数据的存盘间隔改为5秒钟。 !FlushDataInitValueToDisk() 函数意义:把所有数据对象的初始值写入磁盘,调用后即刻刷盘。 返回值:数值型,返回值=0:调用正常,<>0:调用不正常。 参数:无。 !FreshSaveData() 函数意义:实现报警组对象和事件组对象(存盘周期为0)的强制刷盘功能。调用后即刻将报警组对象和事件组对象在内存缓冲区中的存盘数据强制写入磁盘。 返回值:数值型,返回值=0:调用正常,<>0:调用不正常。 参数:无。 !CopySaveDat() 函数说明:此函数在嵌入版中无效,考虑兼容性问题,故保留。 !DataGetInt (变量名,返回值) 函数意义:通过变量名读开关型变量的值。 返回值:开关型, 返回0:执行成功; 返回1:类型不匹配; 返回3:变量不存在。 参数:变量名,字符型,开关型变量的名称。 返回值,开关型,保存返回的值。 实例: Ret=!DataGetInt(变量名,Int)。

mcgs常见问题集锦

MCGS 问题集锦转自MCGS ye_w,2007-03-17 14:21:14 1 :如何打印历史数据:用运行策略........ 历史数据浏览构件...... 打印。 2:如何打印历史曲线:用打印用户窗口。 3 : McgsE.dat有什么作用? McgsE.dat有什么作用 McgsE.dat 存在于\harddisk\mcgsbin 目录之下 A. 组态工程 B. 报警数据(MCGS_ALARM) 如果下载新工程,旧的McgsE.dat被删除,然后生成新的文件 4 : McgsE.ini有何作用 McgsE.ini存在于\harddisk\mcgsbin目录之下存储系统存盘属性信息,包括:存盘路径,自动刷新周期,预留空间大小,存盘文件大小等 他的信息会出现在启动属性中(即开机时点击触摸屏后出现的窗口) 5:报表数据存盘停机处理通过测试该问题是由于用户不知道如何使用而产生的问题,现在将具体的使用方法进行详细的介绍: 1)?打开报表数据存盘属性设置窗口。 2)?在基本属性页里面点中“使用停机存盘文件”既在左面的框中打勾即可。 3)?然后将“记录周期”中输入10秒,表示每10秒中保存一次当前的数据值,也可以其他 的值,但是不能为0秒。 4)?在通道设置页中,对于列“处理方法”中选中“末值”。 5)?在输出数据库页中的“数据库类型”可以选中“Access数据库”或“ ODBC数据库”,如 果选中的类型为“ Access数据库它时,则“数据库名称”可以这样写:“ d:\mcgs\work\停机处理.mdb ” ;如果选中的类型为"ODBC数据库”则可以这样写:“ driver=sql server;server=c仪;database=张丹; uid=sa;pwd=clx M;列“数据库表名”可以自己取一个名称;歹(J “处理时间”可以自己选; 列“处理单位”如果需要处理1天内的数据则选择“天”则一天一条记录(如果是1小时则 1小时保存一条记录),如果需要处理几天以内的数据则选“月”,依次类推。列“刷新间隔”可以自己选,“保留数据可以选择为360天的数据,这样可以保证一年。 6?在窗口里面的启动脚本中增加“!SetDevice (设备0, 6,“loaddata“)”或者在启动策略里面增加M!SetDevice (设备0, 6,"loaddata”)”。 7?报警策略使用中的常见问题

MCGS组态控制系统演示工程操作步骤..

水箱液位控制系统演示工程操作步骤 一、创建新工程 1、双击桌面中的图标,进入MCGS组态环境工作台,如图1所示。 2、点击图1中的“新建窗口”,出现“窗口0”图标。 3、点击“窗口0”鼠标右键,选择“属性”,按照图2进行设置,则窗口名称变为“水箱液 位控制系统”,如图2右图所示。。 图2

二、画面设计 1、在“水箱液位控制”窗口点击菜单中的【工具箱】图标,单击插入元件按钮, 打开【对象元件管理】中的【储藏罐】,选择罐17,点击确定。如图3所示,则所选中的罐出现在桌面的左上角,用鼠标改变其大小及位置。 图3 2、按照同样的方法,【储藏罐】选中2个罐(罐17,罐53),【阀】选中2个阀(阀58,阀 44),1个泵(泵40)。按图4放置。 图4 3、选中工具箱中的【流动快】按钮,单击鼠标并移动光标放置流动快。如图5所示设置

流动快。 图5 4、选中流动块,点击鼠标右键【属性】,按图6设置属性。 图6 5、添加文字,选中工具箱中的【标签】按钮,鼠标的光标变为“十字”形,在窗口任 意位置拖曳鼠标,拉出一个一定大小的矩形。建立矩形框后,鼠标在其内闪烁,可直接输入“水箱液位控制系统演示工程”文字。选中文字,鼠标右键【属性】,按图7设置。

图7 6、点击菜单中的,可变更字体大小。按图5添加其他文字。 三、MCGS数据对象设置 2、单击工作台【实时数据库】按钮,进入【实时数据库】窗口。单击窗口右边的【新增对 象】按钮,在窗口的数据对象列表中,就会增加新的数据对象。双击选中对象,按图8设置数据对象属性。 图8 3、按照图9设置其他数据对象属性。

图9 4、双击【液位组】,存盘属性按图10设置,组对象成员按图11设置。 图10

MCGS

相关内容回首页 脚本程序语言要素 在MCGS嵌入版中,脚本程序使用的语言非常类似普通的Basic语言,本节将对 脚本程序的语言要素进行详细的说明。 数据类型 MCGS嵌入版脚本程序语言使用的数据类型只有三种: ●开关型:表示开或者关的数据类型,通常0表示关,非0表示开。也可以 作为整数使用; ●数值型:值在3.4E±38范围内; ●字符型:最多512个字符组成的字符串。 变量、常量及系统函数 变量:脚本程序中,用户不能定义子程序和子函数,其中数据对象可以看作是脚 本程序中的全局变量,在所有的程序段共用。可以用数据对象的名称来读写数据 对象的值,也可以对数据对象的属性进行操作。 开关型、数值型、字符型三种数据对象分别对应于脚本程序中的三种数据类型。 在脚本程序中不能对组对象和事件型数据对象进行读写操作,但可以对组对象进 行存盘处理。 常量: ●开关型常量:0或非0的整数,通常0表示关,非0表示开; ●数值型常量:带小数点或不带小数点的数值,如:12.45, 100 ●字符型常量:双引号内的字符串,如:“OK”,“正常” 系统变量:MCGS嵌入版系统定义的内部数据对象作为系统内部变量,在脚本程 序中可自由使用,在使用系统变量时,变量的前面必须加“$”符号,如 $Date。 系统函数:MCGS嵌入版系统定义的内部函数,在脚本程序中可自由使用,在使 用系统函数时,函数的前面必须加“!”符号,如!abs( )。

属性和方法:MCGS嵌入版系统内的属性和方法都是相对于MCGS嵌入版的对象而说的,引用对象的方法可以参见下个部分。 注:有关系统变量和系统函数详细的使用方法,请参见《MCGS嵌入版参考手册》 MCGS嵌入版对象 MCGS嵌入版的对象形成一个对象树,MCGS嵌入版对象的属性就是系统变量,MCGS嵌入版对象的方法就是系统函数。MCGS嵌入版对象下面有“用户窗口”对象,“设备”对象,“数据对象”等子对象。“用户窗口”以各个用户窗口作为子对象,每个用户窗口对象以这个窗口里的构件作为子对象。 使用对象的方法和属性,必须要引用对象,然后使用点操作来调用这个对象的方法或属性。为了引用一个对象,需要从对象根部开始引用,这里的对象根部,是指可以公开使用的对象。MCGS嵌入版对象,用户窗口、设备和数据对象都是公开对象,因此,语句InputETime = $Time是正确的,而语句InputETime = MCGS.$Time也是正确的,同样,调用函数!Beep()时,也可以采用MCGS.!Beep()的形式。可以写:窗口0.Open(),也可以写:MCGS.用户窗口.窗口0.Open(),还可以写:用户窗口.窗口0.Open()。但是,如果要使用控件,就不能只写:控件0.Left,而必须写:窗口0.控件0.Left,或:用户窗口.窗口0.控件0.Left。在对象列表框中,双击需要的方法和属性,MCGS将自动生成最小可能的表达式。 事件 在MCGS嵌入版的动画界面组态中,可以组态处理动画事件。动画事件是在某个对象上发生的,它可能是带参数也可能是不带参数的动作驱动源。如:用户窗口上可以发生事件:Load,Unload,它们分别在用户窗口打开和关闭时触发。可以对这两个事件编写一段脚本程序,当某一事件触发时(用户窗口打开或关闭时)其相应脚本程序被执行。 用户窗口的Load和Unload事件没有参数,而MouseMove事件有参数,在组态这个事件时,可以在参数组态中,选择把MouseMove事件的几个参数连接到数据对象上,这样,当MouseMove事件被触发时,就会把MouseMove的参数,包括鼠标位置,按键信息等送到连接的数据对象,然后,在事件连接的脚本程序中,就可以对这些数据对象进行处理。 表达式 由数据对象(包括设计者在实时数据库中定义的数据对象、系统内部数据对象和系统函数)、括号和各种运算符组成的运算式称为表达式,表达式的计算结果称为表达式的值。

非常实用的mcgs触摸屏编程实例精选上

MCGS实例解答 1.MCGS表格中,两数据连接到两个开关量,要把采集到的“0”和“1”的状态,显示为“关”和“开” 在表格里输入“开|关”,然后连接开关型变量Data1,按钮是让开关量Data1取反。

这样就行了,运行时Data1默认为0显示关,按下按钮后Data1为1显示开,如此反复

2.mcgs里怎么画渐变色 渐变色只有通用版和网络版有,嵌入版没有 方法就是:填充颜色——填充效果,然后根据你的需要设置就行了。

3.如何在mcgs做脚本i0.0=1 让Q输出 当PLC的I0.0有信号,让Q0.0输出,在PLC中做我会,不知道在MCGS中怎么实现 在循环脚本中,循环时间为10ms,条件表达式为1,脚本程序为 IF I0.0 = 1 THEN Q0.0 = 1 ELSE Q0.0 = 0 ENDIF 4.MCGS组态如何实现这样的功能?点击某一部分,弹出登录对话框 这个画面是在有管理员帐户登录的情况下才可以设置的,我现在想实现当有人在没有登录的情况下点击了这个地方,就弹出提示:请先登录。 1条回答 可以先用函数!CheckUserGroup来判断当前登录的用户是不是你需要的用户组,返回只为0表示已经登录了你需要的用户组了,直接进行下一步,如果返回值不为0,表示当前登录的不是你需要的用户组或是没有任何登录,那么用子窗口或者可见度啥的都行,显示出来就行了。 追问

我是想在用户点击了上面图片中的部分时才弹出登录提示,怎么实现呢? 回答 你把判断的语句写到图片的事件里就行了 追问 求在具体一点,不知道怎么写。 回答 点控件,右键——事件——Click——事件连接脚本

MCGS之构造实时数据库范文

构造实时数据库 本章介绍MCGS中数据对象和实时数据库的基本概念,从构成实时数据库的基本单元——数据对象着手,详细说明在组态过程中,构造实时数据库的操作方法,主要包括以下几个方面: ●数据对象的定义 ●数据对象的类型 ●数据对象的属性 ●数据对象的作用域 ●内部数据对象和系统函数 ●数据对象的浏览、查询和检查 概述 重点: 介绍两个重要概念;数据对象和实时数据库 数据对象的概念 在MCGS中,数据不同于传统意义的数据或变量,以数据对象的形式来进行操作与处理。数据对象它不仅包含了数据变量的数值特征,还将与数据相关的其它属性(如数据的状态、报警限值等)以及对数据的操作方法(如存盘处理、报警处理等)封装在一起,作为一个整体,以对象的形式提供服务,这种把数值、属性和方法定义成一体的数据称为数据对象。 在MCGS中,用数据对象表示数据,可以把数据对象认为是比传统变量具有更多功能的对象变量,象使用变量一样来使用数据对象,大多数情况下只需使用数据对象的名称来直接操作数据对象。 实时数据库的概念 在MCGS中,用数据对象来描述系统中的实时数据,用对象变量代替传统意义上的值变量,把数据库技术管理的所有数据对象的集合称为实时数据库。 实时数据库是MCGS系统的核心,是应用系统的数据处理中心。系统各个部分均以实时数据库为公用区交换数据,实现各个部分协调动作。 设备窗口通过设备构件驱动外部设备,将采集的数据送入实时数据库;由用户窗口组成的图形对象,与实时数据库中的数据对象建立连接关系,以动画形式实现数据的可视化;运行策略通过策略构件,对数据进行操作和处理。如下图所示:

定义数据对象 重点: 定义数据对象的方法 定义数据对象的过程,就是构造实时数据库的过程。 定义数据对象时,在组态环境工作台窗口中,选择“实时数据库”标签,进入实时数据库窗口页,显示已定义的数据对象,如下图所示。 对于新建工程,窗口中显示系统内建的四个字符型数据对象,分别是InputETime、InputSTime、InputUser1和InputUser2。当在对象列表的某一位置增加一个新的对象时,可在该处选定数据对象,鼠标单击“新增对象”按钮,则在选中的对象之后增加一个新的数据对象;如不指定位置,则在对象表的最后增加一个新的数据对象。新增对象的名称以选中的对象名称为基准,按字符递增的顺序由系统缺省确定。对于新建工程,首次定义的数据对象。缺省名称为Data1。需要注意的是,数据对象的名称中不能带有空格,否则会影响对此数据对象存盘数据的读取。 为了快速生成多个相同类型的数据 对象,可以选择“成组增加”按钮,弹 出“成组增加数据对象”对话框,一次 定义多个数据对象,如上图所示。成组 增加的数据对象,名称由主体名称和索 引代码两部分组成。其中,“对象名称” 一栏,代表该组对象名称的主体部分, 而“起始索引值”则代表第一个成员的 索引代码,其它数据对象的主体名称相同,索引代码依次递增。成组增加的数据对象,其他特性如数据类型、工程单位、最大最小值等都是一致的。

MCGS脚本程序

MCGS 脚本程序 本专题将从以下几个方面介绍MCG脚本程序:脚本程序简介 脚本语言编辑环境 脚本程序语言要素脚本程序基本语句脚本程序的查错和运行 脚本程序简介 对于大多数简单的应用系统,MCG的简单组态就可完成。只有比较复杂的系统,才需要使用脚本程序,但正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程。 用户脚本程序是由用户编制的、用来完成某种特定的流程控制和操作处理的程序。它被封装在一个功能构件里(称为脚本程序功能构件),在后台由独立的线程来运行和处理,能够避免由于单个脚本程序的错误而导致整个系统的瘫痪。 在MCG中,脚本语言的编程语法非常类似于普通的Basic语言,但在概念和使用上更简单直观,力求做到使大多数普通用户都能正确、快速地掌握和使用。 脚本程序在MCG组态软件中有四种应用场合,分别为:在“运行策略”中的“脚本程序”构件中使用;在“菜单”属性设置中的“脚本程序”中使用,作为菜单的 一个辅助功能运行; 在“用户窗口”属性设置中的“启动脚本” 、“循环脚本”、“退出脚本” 中 使用; 更常见的用法是应用在动画界面的事件中,如在窗口中的“标准按钮” 属性设置 中的“脚本程序”中使用。 MCGSI入的事件驱动机制,与VB或VC中的事件驱动机制类似,比如:对用户窗口,有装载,卸载事件;对窗口中的控件,有鼠标单击事件,键盘按键事件等等。这些事件发生时,就会触发一个脚本程序,执行脚本程序中的操作。 脚本语言编辑环境脚本程序编辑环境是用户书写脚本语句的地方。脚本程序编辑环境主要由脚本程序编辑框、编辑功能按钮、MCG操作对象列表和函数列表、脚本语句和表达式4 个部分构成,分别说明如下:

mcgs常见问题集锦

MCGS问题集锦转自MCGS ye_w,2007-03-17 14:21:14 1:如何打印历史数据:用运行策略------历史数据浏览构件-------打印。 2:如何打印历史曲线:用打印用户窗口。 3:McgsE.dat有什么作用? McgsE.dat有什么作用 McgsE.dat存在于\harddisk\mcgsbin目录之下 A.组态工程 B.报警数据(MCGS_ALARM) 如果下载新工程,旧的McgsE.dat被删除,然后生成新的文件 4:McgsE.ini有何作用 McgsE.ini存在于\harddisk\mcgsbin目录之下 存储系统存盘属性信息,包括:存盘路径,自动刷新周期,预留空间大小, 存盘文件大小等 他的信息会出现在启动属性中(即开机时点击触摸屏后出现的窗口) 5:报表数据存盘停机处理 通过测试该问题是由于用户不知道如何使用而产生的问题,现在将具体的使用方法进行详细的介绍: 1).打开报表数据存盘属性设置窗口。 2).在基本属性页里面点中“使用停机存盘文件”既在左面的框中打勾即可。 3).然后将“记录周期”中输入10秒,表示每10秒中保存一次当前的数据值,也可以其他的值,但是不能为0秒。 4).在通道设置页中,对于列“处理方法”中选中“末值”。 5).在输出数据库页中的“数据库类型”可以选中“Access数据库”或“ODBC数据库”,如果选中的类型为“Access数据库它时,则“数据库名称”可以这样写:“d:\mcgs\work\ 停机处理.mdb”; 如果选中的类型为“ODBC数据库”则可以这样写:“driver=sql server;server=clx;database=张丹;uid=sa;pwd=clx”;列“数据库表名”可以自己取一个名称;列“处理时间”可以自己选;列“处理单位”如果需要处理1天内的数据则选择“天”则一天一条记录(如果是1小时则1小时保存一条记录),如果需要处理几天以内的数据则选“月”,依次类推。列“刷新间隔”可以自己选,“保留数据可以选择为360天的数据,这样可以保证一年。 6.在窗口里面的启动脚本中增加“!SetDevice(设备0, 6,"loaddata")”或者在启动策略里面增加“!SetDevice(设备0, 6,"loaddata")”。 7.报警策略使用中的常见问题 使用报警策略,通常使用工具箱中的报警显示、报警策略和清空报警记录和报警变量设置配合完成基本的报警功能,需要注意的是,清空报警记录的函数!DelAllAlmDat支持的变量类型不包括组对象,注意在此函数中使用组对象。

MCGS脚本

脚本 一、脚本程序语言要素 1、数据类型 开关型值为0或1 数值型值在3.4E±38范围内 字符型值为最多512字符组成的字符串 2、变量及常量 变量:脚本程序中,不能由用户自定义变量,也不能定义子程序和子函数。只能对实时数据库中的数据对象进行操作,用数据对象的名称来读写数据对象的值,而且无法对数据对象的其他属性进行操作。可以把数据对象看作是脚本程序中的全局变量,在所有的程序段共用。开关型、数值型、字符型三种数据对象分别对应于脚本程序中的三种数据类型。在脚本程序中不能对组对象和事件型数据对象进行读写操作,但可以对组对象进行处理。 常量: 开关型常量 0或1的数字 数值型常量带小数点或不带小数点的数值,如:12.45, 100 字符型常量双引号内的字符串,如:“OK”, “正常” 系统内部变量:MCGS系统定义的内部数据对象作为系统内部变量,在脚本程序中可自由使用,在使用内部变量时,变量的前面必须加“$”符号,如 $Date,内部变量的详细资料请参考《用户参考手册》的内部变量一章或在线帮助中的内部变量列表。 系统内部函数:MCGS系统定义的内部函数,在脚本程序中可自由使用,在使用内部函数时,函数的前面必须加“!”符号,如!abs(),内部函数的详细资料请参考《用户参考手册》的内部函数一章或在线帮助中的内部函数列表。 3、MCGS对象 MCGS操作对象包括工程中的用户窗口、用户策略和设备构件,MCGS操作对象在脚本程序中不能当作变量和表达式使用,但可以当作系统内部函数的参数使用,如!Setdevice(设备0,1,””)。 4、表达式 由数据对象(包括设计者在实时数据库中定义的数据对象、系统内部数据对象和系统内部函数)、括号和各种运算符组成的运算式称为表达式,表达式

MCGS触摸屏编程实例精选

MCGS触摸屏编程实例精选 1.MCGS表格中,两数据连接到两个开关量,要把采集到的“0”和“1”的状态,显示为“关”和“开” 在表格里输入“开|关”,然后连接开关型变量Data1,按钮是让开关量Data1取反。

这样就行了,运行时Data1默认为0显示关,按下按钮后Data1为1显示开,如此反复

2.mcgs里怎么画渐变色 渐变色只有通用版和网络版有,嵌入版没有 方法就是:填充颜色——填充效果,然后根据你的需要设置就行了。

3.如何在mcgs做脚本i0.0=1 让Q输出 当PLC的I0.0有信号,让Q0.0输出,在PLC中做我会,不知道在MCGS中怎么实现 在循环脚本中,循环时间为10ms,条件表达式为1,脚本程序为 IF I0.0 = 1 THEN Q0.0 = 1 ELSE Q0.0 = 0 ENDIF 4.MCGS组态如何实现这样的功能?点击某一部分,弹出登录对话框 这个画面是在有管理员帐户登录的情况下才可以设置的,我现在想实现当有人在没有登录的情况下点击了这个地方,就弹出提示:请先登录。 1条回答 可以先用函数!CheckUserGroup来判断当前登录的用户是不是你需要的用户组,返回只为0表示已经登录了你需要的用户组了,直接进行下一步,如果返回值不为0,表示当前登录的不是你需要的用户组或是没有任何登录,那么用子窗口或者可见度啥的都行,显示出来就行了。 追问

我是想在用户点击了上面图片中的部分时才弹出登录提示,怎么实现呢? 回答 你把判断的语句写到图片的事件里就行了 追问 求在具体一点,不知道怎么写。 回答 点控件,右键——事件——Click——事件连接脚本

mcgs数据后处理

mcgs数据后处理 第五讲 MCGS数据后处理及报表 一、数据后处理 MCGS中的数据后处理~其本质上是对历史数据库的处理~MCGS的存盘历史数据库是原始数据的基本集合~MCGS数据后处理就是对这些原始数据的数据操作,修改、删除、添加、查询等数据库操作,~数据后处理的目的是要从这些原始数据中提炼出对用户真正有用的数据和信息并以数据报表的形式展示出来。在工程应用中~对采集的工程物理量存盘后~需要对数据库进行操作和对存盘的数据进行各种统计~以根据需要作出各种形式的报表。MCGS组态软件提供的存 史表格构件可以完成各种形式的数据报盘数据浏览构件~存盘数据提取构件和历 表~ MCGS组态软件数据处理流程如下: 如图所示~数据从采集设备输入~通过设备驱动进入实时数据库~MCGS组态软件提供对实时数据库的实时变量进行数据和曲线等多种显示方式~同时可通过数据存盘控制器随时对变量的存盘周期和方式进行修改~可对在硬盘上存好的数据进行多种处理。MCGS存盘数据浏览构件可以对存好的数据直接进行显示、打印、查询、修改、删除、添加记录和统计。MCGS存盘数据提取构件可以对存好的数据按

照一定的时间间隔或不同的统计方式进行提取处理~可以把数据提取到MCGS实时数据库中的变量中~也可以根据一定的查询条件把相关的数据提取到其它的各种形式的数据库。用MCGS存盘数据提取构件配合MCGS历史表格可以完成工控项目中最常使用的各种形式的报表,如标准形式的日报表、月报表、年报表~不定记录项的报表~定要求查询报表等,。 二、结合数据提取做复杂的报表 我们通过实例来进行详细讲解~具体如下: 1、新建一个窗口 1 在MCGS组态软件开发平台上~单击“用户窗口”进入~再单击“新建窗口”按钮~生成“窗口0”~选中“窗口0”~单击“窗口属性”按钮~弹出“用户窗口属性”设置~设置完毕按“确认”按钮~退出。如图: 双击“数据提取”进入动画组态~最终效果如下图:

mcgs交通灯脚本程序

IF 模拟运行=1 THEN IF 启动=1 THEN !TimerReset(1,0) 南灯0=1 西灯2=1 西通=1 !TimerWaitFor(1,20) 西灯2=0 !TimerWaitFor(1,21) 西灯2=1 !TimerWaitFor(1,22) 西灯2=0 !TimerWaitFor(1,23) 西灯2=1 !TimerWaitFor(1,24) 西灯2=0 !TimerWaitFor(1,25) 西灯1=1 !TimerWaitFor(1,27) 西灯1=0 西通=0 西灯0=1 南灯0=0 南灯2=1 南通=1 !TimerWaitFor(1,47) 南灯2=0 !TimerWaitFor(1,48) 南灯2=1 !TimerWaitFor(1,49) 南灯2=0 !TimerWaitFor(1,50) 南灯2=1 !TimerWaitFor(1,51) 南灯2=0 南灯1=1 !TimerWaitFor(1,53) 南灯1=0 南通=0 南灯0=1 西灯0=0 西灯2=0 !TimerReset(1,0) endif

ELSE 启动=SD 西灯2=东G 西灯1=东Y 西灯0=东R 南灯2=南G 南灯1=南Y 南灯0=南R ENDIF if 启动=1 then !TimerRun(1) if 南通=1 then 南车=南车+2 北车=北车+2 西人=西人+1 东人=东人+1 endif if 西通=1 then 东车=东车+2 西车=西车+2 北人=北人+1 南人=南人+1 endif if 西通=1 then 南车=0 北车=0 西人=0 东人=0 endif if 南通=1 then 东车=0 西车=0 北人=0 南人=0 endif if 北人>337 then 北人=0 if 西人>262 then 西人=0 if 南人>340 then 南人=0 if 东人>256 then 东人=0 if 西车>922 then 西车=-400 if 东车>892 then 东车=-441 if 北车>482 then 北车=-220 if 南车>529 then 南车=-181 else

脚本编写要点 mcgs

一、脚本的两个要点 1、脚本程序:数据的逻辑运算,与PLC程序、界面的条件相对应。 2、执行条件:决定执行的时机。 二、脚本编辑器 脚本编辑器包含有执行条件选择界面和脚本程序编辑界面。 脚本编辑界面有三种: 1、控件的事件选项: 执行条件有:单击鼠标、左双击鼠标、右双击鼠标、鼠标按下、鼠标移动等 2、策略窗口: 执行条件有:启动时、退出时、循环执行等 3、按钮自带 执行条件有:按下、抬起 三、脚本程序基本语法 脚本程序的功能是对实时数据库里的数据逻辑运算;即根据输入数据的变化改变输出数据,使之符合系统要求。 在系统设计时,要学会巧设中间数据。 基本的语句有: 1、数据运算 执行:执行时,直接执行数据运算 2、if 条件 then 数据运算 执行:条件满足(逻辑为1),执行后面的数据运算(一条运算)

3、if 条件 then 数据运算1 endif 执行:条件满足(逻辑1),执行后面的数据运算(可多条运算) 4、if 条件 then 数据运算 1 else 数据运算2 endif 执行:条件满足(逻辑1),执行数据运算1,条件不满足(逻辑0)执行数据运算2.多条件的逻辑关系可用条件连接语句: 1、and :与 条件1 and 条件2 :要条件1 和条件2 都为1 ,条件1 and 条件2 才为1, 否则为0 2、or:或 条件2 or 条件2 :条件1、条件2只要有1个1 ,条件1 or 条件2 为1 . 四、脚本编写注意事项: 1、注意脚本程序执行后的数据值是否与PLC程序的要求值相符。 2、要注意脚本程序的执行时间是否恰当。 3、对于没有动作的控件要用用户策略、中间变量完成脚本执行。

MCGS触摸屏高级教程

MCGS培训教程(高级部分) 经过初级培训,您已经对MCGS组态软件的框架结构有了大致的了解,在初级培训教材的指引下,您一定能组态出一些简单的工程项目,但如果想应用自如还有一定困难。在高级培训教材帮助下,您一定会如虎添翼,组态出令人满意的工程。 培训目的经过培训,您可以熟练应用MCGS组态软件中的各项功能; 能根据工艺现场要求熟练制作动画流程; 能处理相对复杂的曲线、报表、数据后处理等需求; 能熟练使用MCGS脚本程序进行复杂的工业流程控制。 培训内容动画制作,流程控制策略,设备组态,结合存盘数据提取做复杂的历史报表,配方构件应用及MCGS使用技巧介绍。 参考手册《MCGS用户指南》《MCGS参考手册》 MCGS多媒体教程MCGS工控组态软件联机帮助 E-mail:support@https://www.doczj.com/doc/7d2615654.html, 网址:https://www.doczj.com/doc/7d2615654.html, 目录 简介 目录 第一讲构造实时数据库 一、MCGS实时数据库的概述 二、数据对象的类型 1、开关型数据对象 2、数值型数据对象 3、字符型数据对象 4、事件型数据对象 5、数据组对象 三、数据对象的定义 四数据对象的作用域

第二讲动画制作 一、封面制作 二、动画效果 第三讲设备窗口组态 一、概述 三、设备在线调试 四、数据前处理 第四讲脚本程序 一、脚本程序语言要素 1、数据类型 2、变量及常量 3、MCGS对象 4、表达式 5、运算符 6、运算符优先级 二、脚本程序基本语句 1、赋值语句 2、条件语句 3、退出语句 4、注释语句 三、脚本程序应用场合及样例 1、脚本程序在“窗口”中的应用 2、脚本程序在“标准按钮”中的应用 3、脚本程序在“菜单”中的应用 第五讲MCGS数据后处理及报表

2-MCGS组态过程

MCGS组态过程 使用MCGS完成一个实际的应用系统,首先必须在MCGS的组态环境下进行系统的组态生成工作,然后将系统放在MCGS的运行环境下运行。本章逐步介绍在MCGS组态环境下构造一个用户应用系统的过程,以便对MCGS系统的组态过程有一个全面的了解和认识。这些过程包括: ●工程整体规划 ●工程建立 ●构造实时数据库 ●组态用户窗口 ●组态主控窗口 ●组态设备窗口 ●组态运行策略 ●组态结果检查 ●工程测试 ●新工程的提交 注意: 本章所描述的组态过程只是一般性的描述,其先后顺序并不是固定不变的,例如先设计系统菜单,再生成图形界面、最后构造实时数据库也是可行的。在实际应用过程中,可以根据需要灵活运用。 工程整体规划 重点: 工程整体规划的要点 在实际工程项目中,使用MCGS构造应用系统之前,应进行工程的整体规划,保证项目的顺利实施。 对工程设计人员来说,首先要了解整个工程的系统构成和工艺流程,弄清测控对象的特征,明确主要的监控要求和技术要求等问题。在此基础上,拟定组建工程的总体规划和设想,主要包括系统应实现哪些功能,控制流程如何实现,需要什么样的用户窗口界面,实现何种动画效果以及如何在实时数据库中定义数据变量等环节,同时还要分析工程中设备的采集及输出通道与实时数据库中定义的变量的对应关系,分清哪些变量是要求与设备连接的,哪些变量是软件内部用来传递数据及用于实现动画显示的等问题。作好工程的整体规划,在项目的组态过程中能够尽量避免一些无谓的劳动,快速有效地完成工程项目。 完成工程的规划,下面就开始工程的建立工作了。

工程建立 重点: 建立新工程并保存 MCGS中用“工程”来表示组态生成的应用系统,创建一个新工程就是创建一个新的用户应用系统,打开工程就是打开一个已经存在的应用系统。工程文件的命名规则和Windows系统相同,MCGS自动给工程文件名加上后缀“.mcg”。每个工程都对应一个组态结果数据库文件。 在Windows系统桌面上,通过以下三种方式中的任一种,都可以进入MCGS 组态环境: ●鼠标双击Windows桌面上的“Mcgs组态环境”图标; ●选择“开始”→“程序”→“MCGS组态软件”→“MCGS 组态环境”命令; ●按快捷键“Ctrl + Alt + G”; 进入MCGS组态环境后,单击工具条上的“新建”按钮,或执行“文件”菜单中的“新建工程”命令,系统自动创建一个名为“新建工程X.MCG”的新工程(X为数字,表示建立新工程的顺序,如1、2、3等)。由于尚未进行组态操作,新工程只是一个“空壳”,一个包含五个基本组成部分的结构框架,接下来要逐步在框架中配置不同的功能部件,构造完成特定任务的应用系统。 如下图所示,MCGS用“工作台”窗口来管理构成用户应用系统的五个部分,工作台上的五个标签:主控窗口、设备窗口、用户窗口、实时数据库和运行策略,对应于五个不同的窗口页面,每一个页面负责管理用户应用系统的一个部分,用鼠标单击不同的标签可选取不同窗口页面,对应用系统的相应部分进行组态操作。 在保存新工程时,可以随意更换工程文件的名称。缺省情况下,所有的工程文件都存放在MCGS安装目录下的Work子目录里,用户也可以根据自身需要指定存放工程文件的目录。

MCGS高级教程

第一章MCGS的可扩充性 1.1 概述 MCGS组态软件是一套功能丰富、简单易用的组态软件,大部分工程师都可以很容易的使用这套组态软件来完成一个完整的工程项目。但是,当用户熟练的掌握了这套组态软件以后,用户必然会寻求在这套组态软件上进一步开发的能力。以实现有自己风格的界面、自己设计的控制算法和与自己硬件相匹配的驱动程序。其他一些长期使用Visual Basic、C++、Delphi的高级工程开发人员,为了充分利用自己的编程特长和已有的程序积累,也希望能够把自己编写的程序装配到MCGS组态软件中。 大部分面向工程应用的工程人员,虽然没有时间和精力开发自己的专有模块,但是,却希望能够从MCGS开发组或第三方的专业、业余开发者那里获得为自己定制的特殊模块,并且能够很方便的装配到现有的MCGS组态软件上。而对硬件开发商和一些高级的开发人员,都希望能够开发出自己的设备驱动模块和专业化、行业化的模块以充分利用MCGS软件的组态功能,当然,对于这些专业化的高品质模块,位于工程一线的工程人员也是具有非同一般的兴趣的。 为了满足用户的这些要求,MCGS提供一套可扩充的接口规范和配套的高级开发工具包。使用接口规范和工具包开发出来的扩充构件,具有很优越的特点: z安全保密。扩充构件是编译成二进制代码的,可以很好的保护您的工作。非法用户不可能通过反编译你的扩充构件来获得你独有的设备驱动构件、特殊的运算构件和 特殊的窗口界面。你更可以使用扩充构件来进行自己的加密,以防止你制作的工程 被任意拷贝,保护你自己的利益。 z简单快速。MCGS组态软件高级开发包中提供了常用的数据后处理构件源代码。初级用户可以直接使用这些数据后处理构件,但高级用户则可以修改这些构件的源代 码,以满足自己特殊的要求。众所周知,工控工程的数据后处理部分具有各自不同 的要求,因此一般的组态软件,都要求用户自己使用例如Excel、Access等软件来完 成自己的特殊的后处理。但是MCGS组态软件除了可以用类似的方法处理外,还提 供了另外一种不同的处理方法。那就是高级用户可以修改MCGS组态软件高级开发 工具包中所提供的后处理构件源代码,然后生成自己的扩充构件,装配到MCGS组 态软件上,就可以组成自己独有的后处理系统。 z性能优异。使用这种方法开发出来的MCGS组态软件的扩充构件具有很高的速度和性能。据微软公司测试,使用Visual C++软件开发出来的程序,只比使用Visual Basic 开发出来的速度高百分之十,有时甚至还低于Visual Basic。而使用Visual Basic开 发的方便性和易用性又是Visual C++所远远不能比拟的。在编写MCGS组态软件的 扩充构件时,Visual Basic确实是一种最佳选择。 z任务明确。MCGS的这种扩充构件具有清晰的结构,你完全可以向MCGS组态软件

相关主题
文本预览
相关文档 最新文档