在MCGS嵌入式组态软件中的数据不同于传统意义的数据或变晕,它不只包含了变晕的数值特征,还将与数据相关的其他属性(如数据的状态、报警限值等)以及对数据的操作方法(如存盘处理、报警处理等)封装在一起,以对象的形式提供服务。这种把数值、属性和方法定义成一体的数据称为数据对象。本章介绍MCGS嵌入版中数据对象和实时数据库的基本概念,从构成实时数据库的基本单元数据对象着手, 构造实时数据库的操作方法。实时数据库主要包括 数据对象的定义、数据对象的类型、数据对象的属性等内容。
10.1实时数据库的概述
MCGS嵌入式组态软件用数据对象来表述系统中的实时数 据,用对象变晕代替传统意义的值变晕。用数据库技术管理的所有数据对象的集合称为实时数据库。实时数据库是MCGS嵌入式组态软件的核心,是应用系统的数据处理中心。据库为公用区交换数据,实现各个部分协调动作。设备窗口通过设备构件驱动外部设 备,将采集的数据送入实时数据库;由用户窗口组成的图形对象,与实时数据库中的数据对象建立连接关系,以动画形式实现数据的可视化;运行策略通过策略构件,对数据进行操作和处理。MCGS嵌入式组态软件实时数据库的作用示意图如图10-1所示。
图10-1MCGS实时数据库的作用示意图
10.2数据对象的类型在MCGS嵌入式组态软件数据对象有开关型、数值型、字符型、事件型、组对象等五种类型。不同类型的数据对象,属性和用途也不同。
01开关型数据对象记录开关信号(0或非0)的数据对象称为开关型数据对象。通常与外部设备的数字量输入输出通道连接,用来表示某一设备当前所处的状态。开关型数据对象也用于表示MCGS嵌入式组态软件中某一对象的状态,如对应于一个图形对象的可见度状态。开关型数据对象没有工程单位、最大值、最小值属性和限值报警属性,只有状态报警属性。
02数值型数据对象MCGS嵌入式组态软件的数值型数据对象除了存放数值及参与数值运算外,还提供报警信息和外部设备的模拟量输入输出通道连接。数值型数据对象有限值报警属性,可以设置下下限、下限、上限、上上限、上偏差、下偏差等六种报警限值,当对象的值超过设定的限值时,产生报警;当对象的值回到所有限值之内时报警结束。数值型数据对象的数值范围是 负数是从-3.402823E38 到-1.401298E-45,正数是从 1.401298E-45 到 3.402823E38。
03字符型数据对象字符型数据对象是存放文字信息的单元它用于描述外部对象的状态特征,其值为多个字符组成的字符串,字符串长度最长可达64KB。字符型数据对象没有工程单位和最大、最小值属性和有报警属性。
04事件型数据对象事件型数据对象用来记录和标识某种事件产生或状态改变的时间信息。例如,开关晕的状态发生变化,用户有按键动 作,有报警信息产生等,都可以看作是一种事件发生。事件发生的信息可以直接从某种类型的外部设备获得,也可以由内部对应的功能构件提供。
事件型数据对象的值是19个字符 组成的定长字符串,用来保留当前最近一次事件所产生的时刻 “年,月,日,时, 分,秒”。年用四位数字表示,月、日、时、分、秒分别用两位数字表示,之间用逗号分隔。如“1997,02,03,23,45,56”,即表示该事件产生于1997年2月3日23时45分56秒。相应的事件没有发生时,该对象的值固定 设置为“1970,01,01,08,00”。事件型数据对象没有工程单位、最大值和最小值属性,没有限值报警,只有状态报警,不同于开关型数据对象,事件型数据对象对应的事件产生一次其报警也产生一次,且报警的产生和结束是同时完成的。
05数据组型对象数据组对象是MCGS嵌入式组态软件引入的一种特殊类型的数据对象,数据组对象类似于一般编程语言中的数组和结构体。用于把相关的多个数据对象集合在一起,作为一个整体来定义和处理。例如描述循环水控制系统的工作状态有液位1、液位2、液位3物理晕时为便于处理,定义“液位组”为一个组对象,用来表示“液位”这个实际的物理对象,其内部成员则由上述物理晕对应的数据对象组成。对“液位”对象进行处理(如 组态存盘、曲线显示、报警显示)时,只需指定组对象的名称“液位组”包括了对其所有成员的处理。
组对象只是在组态时对某一类对象的整体表示方法,实际的操作则是针对每一个成员进行的。如在报警显示动画构件 中,指定要显示报警的数据对象为组对象的“液位组”,构件显示针对组对象包含的数据对象在运行时产生的所有报警信息。
数据组对象是单一数据对象的集合,一个数据对象可以是多个不同组对象的成员。把一个对象的类型定义为组对象后,还须定义组对象所包含的成员, 如图10-2所示。在“组对象属性设置”对话框内,专门有“组对象成员”窗口页用来定义组对象的成员。图中左边为所有数据对象的列表,右边为组对象成员列表。利用属性页中的“增加”按钮,把左边指定的数据对象增加到组对象成员中;“删除”按钮则把右边指定的组对象成员删除。组对象没有工程单位 最大值和最小值的属性,组对象本身没有报警属性。
图10-2在组对象的属性设置
10.3 数据对象的属性设置数据对象定义完成后,应根据实际需要设置数据对象的属性。在组态环境工作台窗口选择“实时数据库”标签,从数据对象 列表中选中某一数据对象,单击“对象属性”应用按钮,或者 鼠标双击数据对象,即可弹出如下图所示的“数据对象属性设置”对话框。对话框设有三个窗口页 基本属性、存盘属性和报警属性。
01数据对象的基本属性数据对象的基本属性中包含数据对象的名称、单位、初值、取值范围和类型等基本特征信息。在基本属性设置页的“对 象名称”一栏内输入代表对象名称的字符串,字符个数不得超过32个(汉字16个),对象名称的第一个字符不能为“!”、“$”符号或0~9的数字,字符串中间不能有空格。用户不指定对象的名称时系统默认定为“DataX”,其中X为顺序索引代码(第一个定义的数据对象为Data0)。
数据对象的类型必须正确设置。不同类型的数据对象和属性内容不同,按所列栏目设定对象的初始值、最大值、最小值及工程单位等。在内容注释一栏中,输入说明对象情况的注释性文字。数据对象的基本属性提示框如图10-3所示。
02数据对象的存盘属性MCGS嵌入版组态软件普通的数据对象没有存盘属性。只有组对象才有存盘属性。对数据组对象,只能设置为定时方式 存盘。实时数据库按设定的时间间隔,定时存储数据组对象 的所有成员在同一时刻的值。设定时间隔设为0秒,则实时 数据库不进行自动存盘处理,只能用其他方式处理数据的存 盘,例如可以通过MCGS嵌入版中称为“数据对象操作”的策 略构件来控制数据对象值的带有一定条件的存盘,也可以在 脚本程序内用系统函数!SaveData来控制数据对象值的存盘。注意在MCGS嵌入版组态软件中,此函数仅对数据组对象有 效。数据对象的存盘属性如图10-4所示。
图10-3、4数据对象的基本属性提示框数据组对象的存盘属性
03数据对象的报警属性MCGS嵌入版组态软件把报警处理作为数据对象的一个属 性,封装在数据对象内部实时数据库判断是否有报警产生, 自动进行各种报警处理。用户应首先设置“允许进行报警处 理”选项,才能对报警参数进行设置。不同类型的数据对象,报警属性的设置各不相同。数值型数据对象最多可同时设置六种限值报警;开关型数据对象只有状态报警,按下的状态(“开”或“关”)为报警状态,另一种状态即为正常状态,当对象的值变为相应的值(0或1)时。将触发报警;事件型数据对象不用设置报警状态,对应的事件产生一次报警,且报警的产生和结束是同时的;字符型数据对象和数据组对象,没有报警属性。数据对象的报警属性如图10-5所示。
图10-5数据对象的报警属性
总结:重点介绍了MCGS嵌入版组态软件的中数据对象和实时数据库的基本概念,从构成实时数据库的基本单元数据对象着手,详细说明在组态过程中,构造实时数据库的操作方法,主要包括以下几个方面 数据对象的定义、数据对象的类型、数据对象的属性等内容。
来源:网络,版权归原作者所有,如有侵权请联系删除