excel学习库

excel表格_excel函数公式大全_execl从入门到精通

昆仑通态(MCGS)触摸屏教程-实时数据

1 功能概述

1.1 数据对象

在McgsPro组态软件中,数据对象是不同于传统意义的数据或变量,以变量的形式来进行操作和处理。数据对象不仅包含了数据变量的数值特征,还将与数据相关的其他属性(数据的状态、报警限制)以及对数据的操作方法(如数据的存盘处理和报警处理)封装在一起,作为一个整体以对象的形式提供服务。将数字、属性和方法定义成一体的数据称为数据对象。

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

1.2 实时数据库

在McgsPro组态软件中,用数据对象来描述系统中的实时数据,用数据对象来代替传统意义上的值变量,把数据对象的集合称为实时数据库。

实时数据库是McgsPro组态软件的核心,是应用系统的数据处理中心。系统各部分均以实时数据库作为公用区进行数据交换,实现各个部分地协调运作。

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

1.3 数据对象类型

McgsPro组态中数据对象主要有整数、浮点数、字符串和组对象,每种数据类型的属性不同用途也不同。

(1)整数数据对象

用来记录整数的数据对象称为整数数据对象,其数据类型为整型,数值范围为-2147483648到2147483647。整数数据对象通常用与外部设备的数字量输入输出通道连接,用来表示某一设备当前的状态或记录设备的当前整型值。整数数据对象也用于表示McgsPro组态中某一对象的状态,如一个图形对象的可见度状态。

整数数据对象可以设置状态报警(开关量报警、正跳变报警、负跳变报警)、位报警(位==报警、位ON→OFF报警、位OFF→ON报警)、值报警(值==报警、值>报警、值>=报警、值<报警、值<=报警)。

(2)浮点数数据对象

McgsPro组态的浮点数数据对象的取值范围是:-1.79E+308到+1.79E+308。浮点数数据对象除了存储数值和参与数据运算外,还提供报警信息,并与外部设备的模拟量输入输出通道连接。

浮点数数据对象有限值报警属性(下下限、下限、上限、上上限、上偏差、下偏差),当对象的值超出报警限值时,产生报警;当对象的值在报警限值以内,报警结束;浮点数数据对象还可以设置值报警(值==报警、值>报警、值>=报警、值<报警、值<=报警)。

(3)字符串数据对象

字符串数据对象是存放文字信息的单元,用于描述外部对象的状态特征,由多个字符构成,如果字符串作为初值保存,最大允许长度为32KB;如果该对象作为历史数据存储,最大允许长度约32KB,其它情况无长度限制。

(4)组对象数据对象

组对象是McgsPro引入的一种特殊类型的数据对象,类似于编程语言中的数组和结构体,用于把相关的多个数据对象集合在一起,作为一个整体的定义和处理。在实际的工程中,描述一个锅炉的工作状态有温度、压力、液面高度、流量等多个物理量。为便于处理,定义一个“锅炉”组对象与实际的物理对象进行对应,其内部成员则由上述物理量对应的数据对象组成。这样,在对“锅炉”对象进行处理(如进行组态存盘、曲线显示、报警显示)时,只需指定组对象的名称“锅炉”,就包括了对其所有成员的处理。

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

把一个对象定义成组对象后,还必须设置组对象包含的成员,如下图所示,在“数据对象属性设置”对话框内,专门有“组对象成员”标签页,用于设置组对象的成员。对话框的左边为数据对象成员的列表,右边为组对象成员的列表,利用属性页中的“增加”按钮,可以将左边指定的对象添加到组对象中成员中;也可以利用“删除”按钮删除指定的组对象的成员。

注意:

(1)整数数据对象有状态报警、位报警和值报警属性。

(2)浮点数数据对象有限值报警、偏差报警和值报警属性。

(3)改变数据对象类型时会同时清除原对象类型设置的报警信息。

2 添加数据对象

定义数据对象时,在组态环境工作台窗口,选择“实时数据库”标签,进入实时数据库窗口页,显示出已定义的数据对象,分别是InputStime,InputEtime,InputUser1,InputUser2。数据对象可以使用大图标、小图标、列表和详细信息方式进行显示,可以使用名称顺序或者类型顺序来显示变量。也可以剪切、拷贝、粘贴指定的数据对象。

数据对象可有两种方式进行添加:单个数据对象添加和成组变量添加。

2.1 新增对象

在数据对象列表中选定数据对象,鼠标单击“新增对象”按钮,则在选中的数据对象后增加一个数据对象;如不指定选中位置,则在对象列表最后一个增加一个新的数据对象。添加数据对象的名称以选中对象名称为基准,字符递增顺序由系统缺省确定。对于新建工程,首次定义的变量,缺省名称为Data1.实时数据库对象列表见下图。

2.2 成组增加

组态时支持批量添加同种数据类型的数据,生成多个相同数据类型的数据时,可以选择“成组增加”按钮,弹出“批量添加数据对象”对话框,一次定义多个数据对象如下图所示,其中对象名称一栏,代表该组对象的主题部分,而“起始索引值”则代表第一个成员的“索引代码”,其他数据对象的主体名称相同,索引代码依次递增。批量添加的数据对象,其他特性如数据类型、工程单位都是一样的。批量修改具有相同属性的数据对象时,选中需要修改的对象,再选择对象属性统一修改。

3 数据对象配置

3.1 整数数据对象

整数数据对象有基本属性、存盘属性、报警属性,可以在“数据对象属性设置”对话框中设置对应的属性。

(1)基本属性页用于设置数据对象的基本属性,见下图。

1)对象名称:用于显示和修改数据对象的名称,指定的数据对象名称不能以“!”“$”开头,不能使用加减乘除等运算符,不能使用大于等于小于等逻辑运算符

2)对象初值:用于在数据对象初始化的时候,赋初值给数据对象

3)设置指针化:可将整数和浮点数数据对象设置为指针化数据对象

4)变化时自动保存初值:添加初值属性,初值改变后60秒才会刷盘

5)对象注释:用于对该对象的进行注释和说明

(2)报警属性页

报警属性页用于设置数据对象的报警属性,在报警属性表格中右键进行报警属性插入、追加、删除、剪切及粘贴,双击已有报警表项可以进行修改,整数对象有状态报警、位报警和值报警,当对象的值触发相应的报警条件时,将产生报警,见下图。

报警详细信息设置见下图。

1)报警类型:设置报警属性的类型,原报警类型(开关量、跳变、限值、偏差报警)不可重复,新报警类型(位值报警)可重复

2)报警级别:设置报警优先级,当前无效(保留)

3)启用方式:选中表示当前设置的报警会立即生效

4)报警描述:用于描述该项报警的注释型信息,所有类型的报警都有“报警注释”

5)基准值/报警值:报警参数的参照值,限值与开关量报警称作报警值,位报警称作指定位

6)触发误差:触发报警参数,部分报警类型此值无效,偏差报警称作报警值,位报警称作指定值

7)解除误差:解除报警误差参数值,部分报警类型此值无效

3.2 浮点数数据对象

浮点数数据对象有基本属性和报警属性,可以在“数据对象属性设置”对话框中设置对应的属性。

(1)基本属性页

其中基本属性页与整数基本属性页相同。

(2)报警属性页

浮点数数据对象支持限值报警和值报警,即当浮点数数据对象的值满足报警条件时,将会触发报警。浮点数数据对象的报警属性页见下图所示。报警详细设置方式与整数报警设置相同。

注意:浮点数数据对象限值报警触发顺序为上上限、上限、下下限和下限;偏差报警触发顺序为上偏差、下偏差。限制报警同一时刻只能触发一种限制报警,偏差报警同一时刻只能触发一种偏差报警。

3.3 字符串数据对象

字符串数据对象有基本属性页,不具备存盘属性和报警属性功能。其中基本属性页的设置同整数数据对象的基本属性设置,详见整数数据对象的基本属性页设置。

3.4 数据组数据对象

组对象拥有基本属性设置和存盘属性设置,不具备报警属性设置。其中基本属性设置与整数数据对象的基本属性设置一致,详见整数的数据对象的基本属性描述。组对象成员设置方法参考4.1.3章节中的组对象说明,详细界面见图4.1-2。

(1)存盘属性页

组对象的存盘属性页主要用于设置组对象是否存盘以及存盘的周期,具体见下图所示。

1)不存盘:勾选则表示在运行环境中禁止存盘

2)定时存储到磁盘:历史数据保存到磁盘上,断电后数据依然存在

3)定时存储到内存:历史数据保存到内存中,断电后数据丢失

4)存储周期:=0,表示手动调用脚本存盘,可在运行环境调整;>0,按设定间隔保存数据,最小值为100毫秒,可在运行环境调整

5)存储空间:当历史数据达到指定大小或磁盘空间不足时,最早的数据将会被删除

注意:存储周期单位为0.1秒;当存储方式为存储到磁盘时,空间最大为2000MB,当存储方式为存储到内存时,存储空间最小为256KB,最大为1024KB。

3.5 指针化数据对象

有的项目需要显示多路相同设备的状态,但限于触摸屏大小不能在一个画面中显示全部的设备的状态,一般情况下都是使用多个画面来显示不同设备的状态,但通过数据对象指针化方式可以减少画面数量,在一个画面显示多路设备的状态,但同一时刻只能显示一路设备状态,通过指针索引数据对象配合就可以在一个画面中随时切换观察多路设备的状态。比如我们需要显示100路设备的温度,在一个画面中我们很难全部显示,在没有指针化时,只能通过多个画面切换来观察100路设备的温度,但通过指针数据对象,我们可以将100路设备的温度通过一个指针数据对象(温度指针)和一个索引数据对象(温度索引)关联在一起,画面中只需要显示温度指针,通过调整温度索引即可观察所有设备的温度值。

除数据组对象外,其它三种数据对象均可以配置指针化属性。当数据对象配置为指针化时,其属性将只能配置指针化属性,其它诸如报警、存储等属性都将不能配置。如下图所示。指针化数据对象的使用与普通数据对象相同,但在运行时会受到索引数据对象的值的束缚。

指针化配置有以下两种情况:

1 第一种是索引表方式:组态设置索引数据对象和引用数据对象表,指针数据对象运行时根据索引数据对象的值在引用数据对象表中找到对象的引用数据对象进行关联操作,当索引数据对象改变时指针数据对象指向索引表不同的引用对象,值得注意的是索引数据对象只能是整数数据对象或浮点数数据对象,当索引数据对象值超出引用表索引范围时,此时指针数据对象的操作将无效。索引表设置方式可以通过表格双击增加一行用以添加新的索引数据对象;在索引数据对象名单元格双击可以修改或输入数据对象名;也可以在序号列双击弹出此行索引数据对象名选择窗口进行单个数据对象名选择;通过右键菜单可以对索引数据对象进行删除,也可以进行索引数据对象表的导入导出操作,导出的XML文件可以在excel中打开并进行编辑;也可以通过右键菜单对索引表进行多选配置,此时表格的原内容将全部清除,重新填入多选的数据对象;当数据对象表单元格出现红色时表示此单元格输入的数据对象在类型或其它方面出现错误需要进行修改;当勾选取消采集优化时所有引用数据对象将永久采集。

1 第二种是使用数据对象名索引方式:组态时设置通过数据对象名方式索引,并指定索引数据对象,指针数据对象运行时根据索引数据对象字符串内容当作需要索引的数据对象名并与对应的数据对象进行关联,当索引数据对象字符串发生变化时指针数据对象指向不同的对象,需要注意的是在此情况下索引数据对象只能是字符串对象,当索引数据对象的字符内容指定的数据对象不存在或不正确时,指针数据对象操作将无效。

当指针数据对象引用的数据对象有报警配置时可以直接通过指针数据对象进行报警相关操作。但指针数据对象自己并不会触发报警状态变化,也不会发出引用数据对象报警状态变化相关事件。当指针数据对象作为组对象成员时,不能通过操作组对象应答报警方法来对指针成员数据对象进行报警应答操作;当索引数据对象值超出指针数据对象索引范围时,带有指针数据对象的组对象也会因为指针数据对象不能正确获取引用数据对象值从而保存失败。例如,普通整数数据对象A,值>10报警;指针数据对象B通过普通整数数据对象C引用A;组对象D包含B作为成员;当A值为11,C值为0时,触发报警;通过对AB操作均可以应答报警,通过D则不能应答报警;如果报警浏览构件关联A,则会显示报警信息,关联D则不会显示报警信息;当C值为1时,D保存历史数据失败。

4 数据对象存盘

4.1 历史数据存盘

McgsPro在运行过程中,根据设定周期或通过脚本调用将指定数据的值写入磁盘文件进行保存的过程,就是历史数据存盘。

McgsPro 运行时会自动判断TPC 产品类型,将历史数据文件存储在TPC默认的存储介质中。

历史数据存储只针对组对象有效,组对象成员的类型只能是整数、浮点数和字符串。

历史数据存储数据量计算方式:单个组对象最大可存储数据量约2GB,100个整数成员的组对象约可保存100万条,100个浮点数成员的组对象约可保存50万条。

历史数据有三种方式删除:

第一种是通过组态时设置删除数据,如下图组态设置。

4.2 报警数据存盘

报警作为一种特殊的组对象存储在磁盘上,在不计算报警注释信息长度的情况下可以保存约10000条历史报警数据。

每一条报警记录包括当次报警产生、报警结束、报警应答的信息。

报警存盘与历史数据存盘机制相同,缓存时间达到1分钟才会自动刷盘,直接断电最坏情况会丢失1分钟内的报警数据,可在断电前调用!FreshDataSave,防止调用之前的数据丢失。

报警数据删除有两种方法:

(1)组态工程时设置,清除报警数据

(2)数据报警数据超过1M时自动删除最早约256K的报警数据

4.3 初值数据存盘

一般来说,工程启动时,实时数据库中数据对象的初始值是组态时设置的初始值。若想重启后数据对象的值恢复为重启前的值,就需要将数据对象的值先保存起来,这就需要使用初值存盘功能。McgsPro是通过脚本!SaveSingleDataInit实现保存初值的功能,该脚本将当前数据对象的值保存在内存中,立即断电重启会导致保存初值数据丢失,必须以脚本!FlushDataInitValueToDisk将初始值保存到磁盘文件中,McgsPro 保存初值的文件大小为32K。McgsPro 运行时自动将初值文件存储在TPC默认的存储介质中。

初值数据有两种情况会删除,第一种方法是更新组态工程时勾选“清除初值数据”,另外一种方法是更新组态工程时新更新的组态工程中实时数据库对象与原来的工程有变化。

初值存盘只支持整数、浮点数和字符串,对组对象执行初值存盘,将依次对该组对象的成员进行初值存盘。最多可以保存 4094个整数或2729个浮点数数据对象的初值。

4.4 存盘注意事项

存盘组对象过多、存盘组对象成员过多、存盘周期太小、刷盘周期太小、刷盘脚本调用太频繁都会影响系统性能,建议不超过6个存盘组对象,每个组对象不超过36个整数(浮点数)成员,定时存盘周期(存盘脚本调用周期)大于等于1秒。

对于历史数据而言,系统时间是一个关键的参数,很多关于历史数据的操作都依赖系统时间,如果在保存历史数据或报警数据时,系统时间进行过回退式修改则会造成历史数据操作混乱。

5 变量报警

5.1 名词解释

当前值:变量实时值

基准值:报警值计算时的标准参数值

报警值:当前值相对于基准值达到报警值时会触发报警(此值部分报警有效)

触发误差值:触发报警计算时相对于基准值的误差值

解除误差值:解除报警计算时相对于基准值的误差值

5.2 状态报警

5.3 位报警

5.4 限值报警

5.5 偏差报警

5.6 值报警

6 数据对象属性

在McgsPro组态软件中,每个数据对象都有特有的属性。通过使用操作符“.”可以在使用脚本程序和表达式的地方,调用数据对象的相应属性,能够动态查看和设置数据对象的属性。例如Data00.Value可以取得Data00的当前值;Data00.InitValue可以取得Data00的初值。

Value

属性意义: 数据对象的值

对象类型: 同数据类型(浮点数对象的对象类型为浮点数,整数对象的对象类型为整数)

读写类型: 读写

Name

属性意义: 数据对象的名称

对象类型: 字符串

读写类型: 只读

Unit

属性意义: 数据对象的单位

对象类型: 字符串

读写类型: 读写

Comment

属性意义: 数据对象的注释

对象类型: 字符串

读写类型: 读写

InitValue

属性意义: 数据对象的初值

对象类型: 浮点数

读写类型: 读写

Type

属性意义: 数据对象的类型

对象类型: 浮点数

读写类型: 只读

7 数据对象方法

在McgsPro组态软件中,每个数据对象都有特有的方法。通过使用操作符“.”可以在使用脚本程序和表达式的地方,调用数据对象的相应的方法,能够动态完成存盘和报警相关的功能。例如Data00.SaveDataInitValue()可以保存Data00的当前值为初值。

SaveData()

函数意义: 把数据对象DataName对应的当前值存入存盘数据库中。本函数的操作使对应的数据对象的值存盘一次

数: DataName,数据对象名

返 回 值: 浮点数
= 0,为操作成功
<> 0,为操作失败

例: 电机1.SaveData(),把组对象“电机1”的所有成员对应的当前值存盘一次

注意事项: 此数据对象必须是组对象且具有存盘属性,而且调用该函数60秒后方能存盘到磁盘

SaveDataInitValue()

函数意义: 本操作把数据对象的当前值保存起来作为初始值,防止突然断电而无法保存,以便下次启动时这些数据对象能自动恢复其值

返 回 值: 浮点数
= 0,为操作成功
<> 0,为操作失败

数:

例: Data.SaveDataInitValue()

注意事项: 在调用SaveDataInitValue()函数60秒后方能存盘到磁盘

SaveDataOnTime(Time,TimeMS)

函数意义: 使用指定时间保存数据,本函数通常用于指定时间来保存数据,实现与通常机制不一样的存盘方法

返 回 值: 浮点数
= 0,为操作成功
<> 0,为操作失败。

数: Time,整型,使用时间函数转换出的时间量,时间精度到秒TimeMS,整型,指定存盘时间的毫秒数

例: t = !TimeStr2I("2099/01/01 03:15:28")
DataGroup.SaveDataOnTime (t,0), 按照指定时间保存数据对象

AnswerAlm(AlarmIndex)

函数意义: 应答数据对象DataName指定报警序号所产生的报警,如对应的数据对象没有指定序号的报警产生或已经应答,则本函数无效

返 回 值: 浮点数
= 0,为操作成功
<> 0,为操作失败,输入序号错误返回0

数: AlarmIndex,整数,报警属性序号
报警信息组态时自动生成的序号, -1表示全部

例: Data1.AnswerAlm(-1),应答数据对象“Data1”所有报警产生的报警

8 变量选择

在组态过程中,为了能够准确地输入数据对象的名称,经常需要从已定义的数据对象列表中查询或确认。同时也可能会根据需要添加一些数据对象,为了方便用户使用,提供两种变量选择方式:从数据中心选择|自定义和根据采集信息生成。(根据采集信息生成方式仅适用于新驱动模版设备,旧驱动模版设备不支持此添加方式)

在数据对象的许多属性设置窗口中,对象名称或表达式输入框的右端,都带有一个“?”号按钮(),当单击该按钮时,会弹出如下图所示的对话框。

8.1 从数据中心选择|自定义

当数据变量选择方式使用“从数据中心选择|自定义”时,“根据设备信息连接”部分不能使用,“从数据中心选择”以及数据对象列表可用,单击数据对象列表中要选择的数据对象,选择变量后面的输入框同步更新显示选择变量,点击“确认”按钮后对应的数据对象名称会自动添加到“?”号按钮左边的输入框内。另外双击列表中的指定数据对象也可实现这种功能。

部分构件只能选择一个数据变量,如果多选则视为一个变量,组态检查时视为错误。

自定义变量是指在选择变量后面的输入框中输入变量名称,确认后自动添加到“?”号按钮左边的输入框内,在输入框构件属性窗口点击确认时自动提示用户添加该数据对象到实时数据库中。

(1)从数据中心选择

“从数据中心选择”模块,“选择变量”输入框能够显示选择变量或输入变量名,根据复选框的值筛选数据对象,设置变量类型后,数据对象列表内容将同步更新,勾选整数和字符串复选框时,数据对象列表显示整数和字符串变量,结果见下图。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接