实时数据库(Real Time Data Base,RTDB)作为信息化的重要组成部分,在实时系统中起着极其重要的作用。实时数据库是实现企业智能集成制造系统的核心之一,是实现先进过程控制、全流程模拟和生产调度优化的基础。
实时数据库主要用于工厂过程的自动采集、存储和监视,实现保存、检索连续变化的生产数据,并行地处理成千上万的实时数据,并及时记录过程报警,同时根据需要,把有关信息以事件的方式发送给系统的其他部分,以便触发相关事件,进行实时处理。实时数据库采用面向对象的技术,为其他部分提供服务,实现了系统各功能部件的数据共享。
实时数据库是MCGS组态软件的核心。MCGS将整个实时数据库作为一个对象封装起来,提供一系列的方法和属性,使外部程序通过这些方法和属性能对MCGS进行各种操作。当MCGS运行起来后,实时数据库的对象被暴露出来,通过对象链接和嵌入(OLE)操作取得实时数据库对象,从而实现直接操作MCGS的目的。
要建立一个合理的实时数据库,在建立实时数据库之前,首先应了解整个工程的系统构成和工艺流程,弄清被控对象的特征,明确主要的监控要求和技术要求,如刷新时间、存盘或报警等。对实际工程问题进行简化和抽象化处理,将代表工程特征的所有物理量作为系统参数加以定义并设定其属性。
数据对象是构成实时数据库的基本单元,建立数据对象的过程,实际就是构造实时数据库的过程,是按用户需求对数据对象的属性进行设置。
数据对象也称为数据变量,分为开关型、数值型、字符型、事件型、组对象和内部数据对象六种类型。其中,开关型、数值型、字符型、事件型、组对象是由用户定义的数据对象,内部数据对象则是由MCGS内部定义的。不同类型的数据对象,其属性不同,用途也不同。
(1)开关型:它主要是指那些具有开关特性的数字量。其数值只有两种形式:“0”或“1”。其用来表征或控制如按钮、水泵、指示灯、传感器等的状态。
(2)数值型:它主要是指那些模拟量或数值量。它可以存储模拟量的现行参数,也可以存储运算的中间值或运算结果。(www.xing528.com)
(3)字符型:它是用来存放文字信息的单元。其特征是由字符串组成,用来描述其他变量的特征。如在描述水泵的运行状态时,可用变化的说明性文字来表示,即水泵正常运行时,说明文字为“运行”,停止运行时,说明文字为“停止”,而水泵故障时,说明文字为“故障”。可见,字符型变量“水泵状态”并不存在数值大小、开关状态、报警参数等定义,它的字符串长度最长可达64 KB。
(4)事件型:它用来记录和标识某种事件产生或状态改变的时间信息,是系统实现自诊断和数据库管理的有力助手。事件的发生既可来自外部设备,也可以来自内部某种功能构件。例如,开关量的状态发生变化、有报警信息产生等事件的发生,都可精确记录系统在运行过程中所发生事件的具体时刻。事件型数据对象的值是由19个字符组成的定长字符串,用来保留当前最近一次事件产生的时间。年用4位数字表示,而月、日、时、分、秒分别用两位数字表示,数字之间用“,”分隔,如“2016,07,15,10,29,40”即表示该事件产生于2016年7月15日10时29分40秒。
(5)组对象:它是多个数据对象的集合,用来把多个数据对象集合在一起,作为整体来定义和处理。在处理组对象时,只需指定组对象的名称,就包括了对其所有成员的处理。组对象没有工程单位、最大值∕最小值属性。
(6)内部数据对象:在MCGS系统内部,除了用户定义的数据对象外,还定义了一些供用户直接使用的数据对象,用于读取系统内部设定的参数,称为内部数据对象。MCGS共定义了13个内部数据对象,其意义见表1.1。
内部数据对象不同于用户定义的数据对象,它作为系统内部变量,只有值属性,没有工程单位、最大值、最小值和报警属性,并且可在用户窗口、脚本程序中自由使用,但其值是由系统生成的,用户不能修改。内部数据对象的名字都以符号“$”开头,如$Date,以区别于用户自定义的数据对象。
表1.1 内部数据对象的名称、意义及类型
内部数据对象一般只具有只读属性,即可以读取其相关数值或字符,其数据为系统的内部设定值。在组态时可以调用这些数据对象的值,一般是在用户窗口中显示系统的设定值,如日期、时刻等,或者在脚本程序中应用语言将系统变量为某个用户变量赋值。在脚本程序中,需要用到系统变量并对其进行合理组合搭配时,可以通过赋值语句实现内部数据对象的调用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。