MCGS之构造实时数据库.docx

上传人:b****6 文档编号:4586876 上传时间:2022-12-07 格式:DOCX 页数:13 大小:354.20KB
下载 相关 举报
MCGS之构造实时数据库.docx_第1页
第1页 / 共13页
MCGS之构造实时数据库.docx_第2页
第2页 / 共13页
MCGS之构造实时数据库.docx_第3页
第3页 / 共13页
MCGS之构造实时数据库.docx_第4页
第4页 / 共13页
MCGS之构造实时数据库.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

MCGS之构造实时数据库.docx

《MCGS之构造实时数据库.docx》由会员分享,可在线阅读,更多相关《MCGS之构造实时数据库.docx(13页珍藏版)》请在冰豆网上搜索。

MCGS之构造实时数据库.docx

MCGS之构造实时数据库

构造实时数据库

本章介绍MCGS中数据对象和实时数据库的基本概念,从构成实时数据库的基本单元——数据对象着手,详细说明在组态过程中,构造实时数据库的操作方法,主要包括以下几个方面:

●数据对象的定义

●数据对象的类型

●数据对象的属性

●数据对象的作用域

●内部数据对象和系统函数

●数据对象的浏览、查询和检查

概述

重点:

1介绍两个重要概念;数据对象和实时数据库

数据对象的概念

在MCGS中,数据不同于传统意义的数据或变量,以数据对象的形式来进行操作与处理。

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

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

实时数据库的概念

在MCGS中,用数据对象来描述系统中的实时数据,用对象变量代替传统意义上的值变量,把数据库技术管理的所有数据对象的集合称为实时数据库。

实时数据库是MCGS系统的核心,是应用系统的数据处理中心。

系统各个部分均以实时数据库为公用区交换数据,实现各个部分协调动作。

设备窗口通过设备构件驱动外部设备,将采集的数据送入实时数据库;由用户窗口组成的图形对象,与实时数据库中的数据对象建立连接关系,以动画形式实现数据的可视化;运行策略通过策略构件,对数据进行操作和处理。

如下图所示:

定义数据对象

重点:

1定义数据对象的方法

定义数据对象的过程,就是构造实时数据库的过程。

定义数据对象时,在组态环境工作台窗口中,选择“实时数据库”标签,进入实时数据库窗口页,显示已定义的数据对象,如下图所示。

对于新建工程,窗口中显示系统内建的四个字符型数据对象,分别是InputETime、InputSTime、InputUser1和InputUser2。

当在对象列表的某一位置增加一个新的对象时,可在该处选定数据对象,鼠标单击“新增对象”按钮,则在选中的对象之后增加一个新的数据对象;如不指定位置,则在对象表的最后增加一个新的数据对象。

新增对象的名称以选中的对象名称为基准,按字符递增的顺序由系统缺省确定。

对于新建工程,首次定义的数据对象。

缺省名称为Data1。

需要注意的是,数据对象的名称中不能带有空格,否则会影响对此数据对象存盘数据的读取。

为了快速生成多个相同类型的数据对象,可以选择“成组增加”按钮,弹出“成组增加数据对象”对话框,一次定义多个数据对象,如上图所示。

成组增加的数据对象,名称由主体名称和索引代码两部分组成。

其中,“对象名称”一栏,代表该组对象名称的主体部分,而“起始索引值”则代表第一个成员的索引代码,其它数据对象的主体名称相同,索引代码依次递增。

成组增加的数据对象,其他特性如数据类型、工程单位、最大最小值等都是一致的。

数据对象的类型

重点:

1数据对象的类型和特点

在MCGS中,数据对象有开关型、数值型、字符型、事件型和组对象等五种类型。

不同类型的数据对象,属性不同,用途也不同。

开关型数据对象

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

开关型数据对象也用于表示MCGS中某一对象的状态,如对应于一个图形对象的可见度状态。

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

数值型数据对象

在MCGS中,数值型数据对象的数值范围是:

负数是从-3.402823E38到-1.401298E-45,正数是从1.401298E-45到3.402823E38。

数值型数据对象除了存放数值及参与数值运算外,还提供报警信息,并能够与外部设备的模拟量输入输出通道相连接。

数值型数据对象有最大和最小值属性,其值不会超过设定的数值范围。

当对象的值小于最小值或大于最大值时,对象的值分别取为最小值或最大值。

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

字符型数据对象

字符型数据对象是存放文字信息的单元,用于描述外部对象的状态特征,其值为多个字符组成的字符串,字符串长度最长可达64KB。

字符型数据对象没有工程单位和最大、最小值属性,也没有报警属性。

事件型数据对象

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

例如,开关量的状态发生变化,用户有按键动作,有报警信息产生等,都可以看作是一种事件发生。

事件发生的信息可以直接从某种类型的外部设备获得,也可以由内部对应的策略构件提供。

事件型数据对象的值是19个字符组成的定长字符串,用来保留当前最近一次事件所产生的时刻:

“年,月,日,时,分,秒”。

年用四位数字表示,月、日、时、分、秒分别用两位数字表示,之间用逗号分隔。

如“1997,02,03,23,45,56”,即表示该事件产生于1997年2月3日23时45分56秒。

当相应的事件没有发生时,该对象的值固定设置为“1970,01,01,08,00,00”。

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

数据组对象

数据组对象是MCGS引入的一种特殊类型的数据对象,类似于一般编程语言中的数组和结构体,用于把相关的多个数据对象集合在一起,作为一个整体来定义和处理。

例如在实际工程中,描述一个锅炉的工作状态有温度、压力、流量、液面高度等多个物理量,为便于处理,定义“锅炉”为一个组对象,用来表示“锅炉”这个实际的物理对象,其内部成员则由上述物理量对应的数据对象组成,这样,在对“锅炉”对象进行处理(如进行组态存盘、曲线显示、报警显示)时,只需指定组对象的名称“锅炉”,就包括了对其所有成员的处理。

组对象只是在组态时对某一类对象的整体表示方法,实际的操作则是针对每一个成员进行的。

如在报警显示动画构件中,指定要显示报警的数据对象为组对象“锅炉”,则该构件显示组对象包含的各个数据对象在运行时产生的所有报警信息。

注意:

数据组对象是多个数据对象的集合,应包含两个以上的数据对象,但不能包含其它的数据组对象。

一个数据对象可以是多个不同组对象的成员。

把一个对象的类型定义成组对象后,还必须定义组对象所包含的成员及其“存盘属性”。

如下图所示,在“组对象属性设置”对话框内,专门有“组对象成员”窗口页,用来定义组对象的成员。

图中左边为所有数据对象的列表,右边为组对象成员列表。

利用属性页中的“增加”按钮,可以把左边指定的数据对象增加到组对象成员中;“删除”按钮则把右边指定的组对象成员删除。

组对象没有工程单位、最大值、最小值属性,组对象本身没有报警属性。

数据对象的属性设置

重点:

1数据对象的基本属性、存盘属性和报警属性

数据对象定义之后,应根据实际需要设置数据对象的属性。

在组态环境工作台窗口中,选择“实时数据库”标签,从数据对象列表中选中某一数据对象,鼠标单击“对象属性”按钮,或者鼠标双击数据对象,即可弹出如下图所示的“数据对象属性设置”对话框。

对话框设有三个窗口页:

基本属性、存盘属性和报警属性。

基本属性

数据对象的基本属性中包含数据对象的名称、单位、初值、取值范围和类型等基本特征信息。

在基本属性设置页的“对象名称”一栏内输入代表对象名称的字符串,字符个数不得超过32个(汉字16个),对象名称的第一个字符不能为“!

”、“$”符号或0~9的数字,字符串中间不能有空格。

用户不指定对象的名称时,系统缺省定为“DATAX”,其中X为顺序索引代码(第一个定义的数据对象为DATA0)。

数据对象的类型必须正确设置。

不同类型的数据对象,属性内容不同,按所列栏目设定对象的初始值、最大值、最小值及工程单位等。

在内容注释一栏中,输入说明对象情况的注释性文字。

警告:

在MCGS实时数据库中,采用了“使用计数”的机制来描述数据库中的一个数据对象是否被MCGS中的其他部分使用,也就是说该对象是否与其他对象建立了连接关系。

采用这种机制可以避免因对象属性的修改而引起已组态完好的其它部分出错。

一个数据对象如果已被使用,则不能随意修改对象的名称和类型,此时可以执行“工具”菜单中“数据对象替换”命令,对数据对象进行改名操作,同时把所有的连接部分也一次改正过来,避免出错。

执行“工具”菜单中的“检查使用计数”命令,可以查阅对象被使用的情况,或更新使用计数。

存盘属性

MCGS把数据的存盘处理作为数据对象的一个属性,封装在数据对象的内部,由实时数据库根据预先设定的要求,自动完成数据的存盘操作,现场操作人员不必过问数据如何存盘以及存在什么地方等具体问题。

MCGS把数据对象的存盘属性分为三部分:

对象值的存盘、存盘时间的设置和报警数值的存盘。

对基本类型(包括数值型、开关型、字符型及事件型)的数据对象,可以设置为按数值的变化量方式存盘,如左图所示。

变化量是指对象的当前值与前一次存盘值的差值。

当对象值的变化量超过设定值时,实时数据库自动记录下该对象的当前值及其对应的时刻。

如果变化量设为0,则表示只要数据对象的值发生了变化就进行存盘操作。

对开关型、字符型、事件型数据对象,系统内部自动定义变化量为0。

如果选择了“退出时,自动保存数据对象的当前值为初始值”一项,则MCGS运行环境退出时,把数据对象的初始值设为退出时的当前值,以便下次进入运行时,恢复该数据对象退出时的值。

对数据组对象,只能设置为定时方式存盘,如右图所示。

实时数据库按设定的时间间隔,定时存储数据组对象的所有成员在同一时刻的值。

如果定时间隔设为0秒,则实时数据库不进行自动存盘处理,只能用其它方式处理数据的存盘,例如可以通过MCGS中称为“数据对象操作”的策略构件来控制数据对象值的带有一定条件的存盘,也可以在脚本程序内用系统函数!

SaveData来控制数据对象值的存盘。

注意:

基本类型的数据对象既可以按变化量方式存盘,又可以作为组对象的成员定时存盘,它们各自互不相关,在存盘数据库中位于不同的数据表内。

对组对象的存盘,MCGS还增加了加速存盘和自动改变存盘时间间隔的功能,加速存盘一般用于当报警产生时,加快数据记录的频率,以便事后进行分析。

改变存盘时间间隔是为了在有限的存盘空间内,尽可能多保留当前最新的存盘数据,而对于过去的历史数据,通过改变存盘数据的时间间隔,减少历史数据的存储量。

在数据对象和数据组对象的存盘属性中,都有“存盘时间设置”一项,选择“永久存储”,则保存系统自运行时开始整个过程中的所有数据,选择后者,则保存从当前开始指定时间长度内的数据。

后者较前者相比,减少了历史数据的存储量。

对于数据对象发出的报警信息,实时数据库进行自动存盘处理,但也可以选择不存盘。

存盘的报警信息有:

产生报警的对象名称、报警产生时间、报警结束时间、报警应答时间、报警类型、报警限值、报警时数据对象的值、用户定义的报警内容注释等。

如需要实时打印报警信息,则应选取对应的选项。

报警属性

MCGS把报警处理作为数据对象的一个属性,封装在数据对象内部,由实时数据库判断是否有报警产生,并自动进行各种报警处理。

如下图所示,用户应首先设置“允许进行报警处理”选项,才能对报警参数进行设置。

不同类型的数据对象,报警属性的设置各不相同。

数值型数据对象最多可同时设置六种限值报警;开关型数据对象只有状态报警,按下的状态(“开”或“关”)为报警状态,另一种状态即为正常状态,当对象的值变为相应的值(0或1)时,将触发报警;事件型数据对象不用设置报警状态,对应的事件产生一次,就有一次报警,且报警的产生和结束是同时的;字符型数据对象和数据组对象,没有报警属性。

数据对象的属性和方法

在MCGS组态软件系统中,每个数据对象都是由系统的属性和方法构成。

使用操作符“.”,可以在脚本程序或使用表达式的地方,调用数据对象相应的属性和方法。

例如:

Data00.Value可以取得数据对象Data00的当前值;Data00.Min则可以获得数据对象的最小值。

数据对象属性

属性名

类型

操作方式

意义

Value

同数据对象类型

读写

数据对象中的值

Name

字符型

只读

数据对象中的名字

Min

浮点型

读写

数据对象的最小值

Max

浮点型

读写

数据对象的最大值

Unit

字符型

读写

数据对象的工程单位

Comment

字符型

读写

数据对象的注释

InitValue

字符型

读写

数据对象的初值

Type

浮点型

只读

数据对象的类型

State

浮点型

读写

数据对象的工作状态

AlmEnable

浮点型

读写

数据对象的启动报警标志

AlmSave

浮点型

读写

数据对象的报警存盘标志

AlmPrint

浮点型

读写

数据对象的报警打印标志

AlmHH

浮点型

读写

数值型报警的上上限值或开关型报警的状态值

AlmH

浮点型

读写

数值型报警的上限值

AlmL

浮点型

读写

数值型报警的下限值

AlmLL

浮点型

读写

数值型报警的下下限制值

AlmV

浮点型

读写

数值型偏差报警的基准值

AlmVH

浮点型

读写

数值型偏差报警的上偏差值

AlmVL

浮点型

读写

数值型偏差报警的下偏差值

AlmFlagHH

浮点型

读写

允许上上限报警,或允许开关量报警

AlmFlagH

浮点型

读写

允许上限报警,或允许开关量跳变报警

AlmFlagL

浮点型

读写

允许下限报警,或允许开关量正跳变报警

AlmFlagLL

浮点型

读写

允许下下限报警,或允许开关量负跳变报警

AlmFlagVH

浮点型

读写

允许上偏差报警

AlmFlagVL

浮点型

读写

允许下偏差报警

AlmComment

字符型

读写

报警信息注释

AlmDelay

浮点型

读写

报警延时次数

AlmPriority

浮点型

读写

报警优先级

AlmState

浮点型

只读

报警状态

AlmType

浮点型

只读

报警类型

数据对象方法

SaveData

保存数据对象。

返回值:

浮点型,=0为操作成功,<>0为操作失败。

操作失败的原因包括此数据对象没有组态存盘属性。

SaveDataInitValue

保存数据对象的当前值为初始值。

返回值:

浮点型,=0为操作成功,<>0为操作失败。

SaveDataOnTime(参数1,参数2)

按照指定时间保存数据对象的值。

返回值:

浮点型,=0为操作成功,<>0为操作失败。

参数1:

整型,使用时间函数转换出的时间量。

时间精度到秒。

参数2:

整型,指定存盘时间的毫秒数。

AnswerAlm

应答当前报警。

返回值:

浮点型,=0为操作成功,<>0为操作失败。

数据对象的作用域

重点:

1数据对象的全局性、数据对象的操作方式

数据对象的全局性

实时数据库中定义的数据对象都是全局性的,MCGS各个部分都可以对数据对象进行引用或操作,通过数据对象来交换信息和协调工作。

数据对象的各种属性在整个运行过程中都保持有效。

数据对象的操作

MCGS中直接使用数据对象的名称进行操作,在用户应用系统中,需要操作数据对象的有如下几个地方:

●建立设备通道连接。

在设备窗口组态配置中,需要建立设备通道与实时数据库的连接,指明每个设备通道所对应的数据对象,以便通过设备构件,把采集到的外部设备的数据送入实时数据库。

●建立图形动画连接。

在用户窗口创建图形对象并设置动画属性时,需要将图形对象指定的动画动作与数据对象建立连接,以便能用图形方式可视化数据。

●参与表达式运算。

类似于传统的变量用法,对数据对象赋值,作为表达式的一部分,参与表达式的数值运算。

●制定运行控制条件。

运行策略的“数据对象条件”构件中,指定数据对象的值和报警限值等属性,作为策略行的条件部分,控制运行流程。

●作为变量编制程序。

运行策略的“脚本程序”构件中,把数据对象作为一个变量使用,由用户编制脚本程序,完成特定操作与处理功能。

MCGS系统函数

重点:

1MCGS系统函数的特点,系统函数的分类和功能

在MCGS系统内部定义了一些供用户直接使用的系统函数,直接用于表达式和用户脚本程序中,完成特定的功能。

系统函数是以“!

”符号开头,以区别于用户自定义的数据对象。

关于MCGS提供的系统函数详细说明请参见《MCGS参考手册》,这里对MCGS系统函数的分类和功能作以简单介绍:

●数学函数:

完成一些数学运算;

●字符操作函数:

完成字符串的处理任务;

●窗口操作函数:

完成对窗口的操作,取得窗口状态,获得窗口名,控制窗口的打开和关闭等;

●设备操作函数:

完成对设备状态的查询和对设备进行操作;

●策略操作函数:

执行与运行策略相关的功能;

●事件操作函数:

获取事件的发生时间和相关说明;

●报警操作函数:

完成对报警的应答和对报警数据的操作;

●存盘操作函数:

完成对存盘数据的多种处理任务;

●用户权限操作函数:

管理系统使用的权限;

●系统操作函数:

完成一些高级功能,如执行外部应用程序、给当前激活的应用程序发送击键消息、控制脚本程序的执行、设定系统时间等等;

●定时操作函数:

完成对系统定时器的控制任务;

●ODBC数据库操作函数:

完成对ODBC数据库的操作;

●配方操作:

完成用户对配方的处理工作;

●时间运算函数:

完成系统的时间转换任务。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1