实时数据库实时数据库是关系数据库在工厂信息化过程中发展起来的。
首先,我们看一下关系型数据库的发展历程,关系数据库系统发展历史大致可以分为三个阶段:第一阶段从E.F.codd 1970年提出关系模型后,七十年代对关系数据库的理论研究和原型开发时代。
这一时期奠定了关系模型的理论基础,研究了关系数据库语言,开发出了关系数据库管理系统的一些原型,是以IBM公司的SYSTEM R和barklay大学的Ingres为代表。
第二阶段是从七十年代后期开始,关系数据库系统的实用阶段。
这一时期一方面从理论上攻克了诸如查询优化,并发控制,完整性机制和故障恢复等一系列重大技术问题。
从而使得数据库走向实用化、商业化。
这一时期开发了大量的商业关系数据库系统产品。
以ORACLE,DB2,Infomix,Ingress,RDB等为代表。
第三阶段是从八十年代以来,微机在性/价比上的提高,网络技术的成熟并实用化,计算机进入各个领域,大量的大规模的信息系统的建立,要求计算机应用领域由集中到分布,由单机到网络,由信息管理,辅助决策到联机事务处理,到企业级的联机事务处理。
这一时期以客户/服务器的体系结构出现为标志。
其代表产品有Sybase和micro softeware公司1986年推出的SQL server为代表。
数据库技术发展的基础两种原动力是源于技术的发展和应用需求的推动:一是方法理论的发展,一是与多种技术的结合。
上述发展历程是关系型数据库在技术上的不断进步和发展,而另一方面,随着技术的不断发展以及应用技术的成本不断降低,其服务领域也在不断的拓宽。
从工厂信息化的角度而言,伴随生产规模的扩大和管理者对成本控制的要求,工厂需要功能更加强大的技术,不再仅仅是销售、库存等管理数据,而且要求实时地将生产数据引入到决策系统中去。
让我们再来看一下传统的生产控制系统的发展过程:在工业控制初级阶段,往往采用常规仪表控制系统。
常规仪表控制系统具有可靠性高、价格低廉、维修方便等优点,但是随着生产规模的扩大和对成本控制的要求越来越高,其缺点也逐渐显示出来。
如在控制方面,由于一台常规仪表只能执行一种功能,为了适应不同的控制要求,往往需要配置多种型号的仪表。
而某些复杂的工艺过程,常规仪表由于受到企功能方面的限制,常常难以满足控制要求。
在操作监视方面,现代化大型工厂经常进行集中监控,因此安装在中央控制室中的二次仪表数量很多,控制室面积很大,操作起来十分不方便。
而且,如果要了解生产的全过程,需要逐台读取各类仪表显示的数据,及时操作相关仪表,保证生产稳定。
五十年代末,人们开始将计算机引入到过程控制,产生了计算机集中控制系统。
虽然在生产中取得比常规仪表控制更强的功能,但是它也暴露了本身的致命缺点:危险集中。
因为一台计算机控制整个工厂的控制回路,成千上万个过程变量测量、处理、显示都集中在一台计算机上。
一旦计算机发生故障,则后果不堪设想。
而且由于当时计算机软硬件的制约,成本很高,计算机的操作方便性、系统开放性等许多方面还不尽人意。
七十年代初,随着计算机技术的发展,出现了集散控制系统即DCS。
它的主要思想是控制分散,集中显示。
它综合了计算机(Computer)、通讯(Communication)、显示(CRT)和控制(Control)技术,简称四C技术。
八十年代以来,随着四C技术的飞速发展,DCS 也在不断的完善和发展。
但是,DCS本身在使用过程中也暴露了本身的一些问题:系统硬件系统封闭,不同公司的产品不同,不能互连互通,系统扩充成本高。
再一个就是DCS本身侧重于控制操作,而对工厂管理等支持不够,如质量分析、成本分析、绩效考核等。
随着生产规模的扩大,企业为了在日益激烈的竞争中提高自身的竞争力必须做到:提高产品质量、降低生产成本、加快对市场的反应速度。
而这一切都必须基于对整个工厂的整体信息化,将工厂的过程控制系统和管理决策分析结合起来,这就是实时数据库的任务所在。
实时数据库在整个工厂信息化的结构如下:实时数据库在整个系统的信息化过程中起到至关重要的作用,简单的说,它是整个工厂信息化的纽带。
一方面,它实时采集生产数据并分析各类数据,另一方面它又为关系数据库提供数据来源。
具体说来,实时数据库的作用主要体现在以下三个方面:实时数据库可以实时与各种测量、控制系统通讯。
现在工厂中常用的控制系统包括:DCS、PLC、各种智能仪表以及板卡等各类设备,还包含一些化验仪器设备等。
实时数据库可以与他们实时通讯,从这些设备采集生产数据,也可以把控制信息发送到控制设备执行相应的操作。
对实时数据进行存贮、分析。
仅仅对数据进行采集是不够的,实时数据库针对生产流程提供了一系列分析工具,如统计分析、趋势分析、流程显示、事故追忆、物料平衡、绩效考核、生产报表等。
这些内容是实时数据库的重要作用,根据用户的不同需要,提供不同的分析工具。
用户可以根据分析工具提供的结果,在线/离线优化生产过程。
提供各种开放接口,提供给第三方开发者。
实时数据库可以为第三方应用软件开发者提供各种接口,可以定时地把数据写入到关系数据库中,用户也可以通过API或控件接口获得实时数据库的各类数据(包括实时数据、历史数据和分析数据)。
这样,用户可以根据自己的需要,开发更适合自己需要的系统或与其他系统相互无缝连接。
实时数据库为工厂管控一体化提供了操作平台和实现基础。
评价一个实时数据库性能可以很多性能指标,但是以下三个指标尤为重要:可靠性:作为应用于工厂信息化中的软件,而且其中有可能参与系统监视和控制的软件,可靠性是应该最优先考虑的因素。
实时数据库要做到双机热备,故障时自动切换,平均无故障时间(MTBF)不小于10000小时。
实时性:它包含两个方面含义,数据实时性和事务实时性。
数据实时性是指通道数据的更新周期,作为实时数据库,不能不考虑数据实时性。
但是,在许多情况下,因为实时数据库本身不是直接与IO通道相连(板卡除外),其数据实时性其实取决于通讯介质传输速度和数据提供者(如DCS、PLC、智能仪表)的反应速度,实时数据库的数据实时性不大于系统所允许达到的最快速度,如某PLC通过串口读数据,该PLC通过实验,每秒最多能提供200个数据,则如果1000个数据可以在5秒内更新。
事务实时性是指数据库对其事务处理的速度。
它可以是事件触发方式或定时触发方式。
事件触发是该事件一旦发生可以立刻获得调度,这类事件可以得到立即处理,但是比较消耗系统资源;而定时触发是在一定时间范围内获得调度权。
作为一个完整的实时数据库,从系统的稳定性和实时性而言,必须同时提供两种调度方式。
例如在事故追忆中,如果是事件发生,则希望马上能执行记录事故数据。
而对于一般历史数据的存贮处理,则可以通过定时触发处理。
事件触发的周期小于100微秒,定时触发的最小周期为1毫秒。
开放性:实时数据库的开放性也体现在两个方面:对IO数据的开放性和其本身数据的开放性。
对IO数据的开放性是指实时数据库不能局限于某一家或几家设备的数据,也不能局限于系统的连接方式(串口、TCP/IP网络、板卡等),只要是提供开放接口的设备,都可以接入到实时数据库中。
其本身数据的开放性是指提供标准接口供第三方软件使用。
系统要提供标准的接口供其他应用程序使用,如OPC、DDE、API和COM控件等。
当然,要衡量一个实时数据库性能指标远远不仅仅是上述三个方面,还可以包括友好性、经济性等许多方面的内容。
紫金桥实时数据库从结构上来分可以分成三个层次:IO驱动、数据库核心、数据库应用程序。
其结构如下:IO驱动是实时数据库与过程控制进行数据通讯的桥梁。
它负责数据的采集、设置、设备通讯情况的监视等工作。
应用程序负责对各种数据进行数据加工、分析、交互等,如流程图界面、生产报表、物料平衡、趋势分析、SPC控制图、数据查询等多种方式,把实时数据库的内容以直观方式提供给用户。
实时数据库核心是数据处理的中枢。
它可以对各类数据进行量程变换、报警处理、历史存贮、统计分析等一系列的处理。
下面我们就实时数据库的构成讲几个基本概念:点:点是数据库执行特定功能的一个对象实体,数据库通过点管理各类数据,它相当于关系数据库中的记录。
它具有各种属性,每一个属性描述了该点的一个特性,对应一个点参数。
点名是点的名称,在数据库操作中它作为点的索引。
例如,对于某反应塔的温度信号对应了数据库的一个点,这个点不但包含了其温度的测量值,而且包含了其它相关属性,如量程的上下限、原始测量值、报警限值等多种属性。
对点的各种操作,如取值、赋值最终是对点参数的操作,在不同的应用场合,需要引用点的不同参数。
点参数的引用格式是“点名.参数名”。
如上述温度信号假设是数据库中的一个点,点名是TIC101,如果要引用其量程上限,量程上限的参数名是EUHI,则引用时使用:TIC101.EUHI。
在点的引用中,如果不加参数的引用,则是指对测量值参数(PV)的引用。
如上例中,如果引用的是TIC101,则认为引用的是TIC101.PV,表示是该温度信号的测量值。
点类型:前面提到,点是具有特定功能的对象实体,根据点功能的不同,我们把点分成不同的类型。
点类型相当于关系数据库的表。
如对于模拟IO信号我们对应的有模拟IO点类型,对数字IO信号对应的有数字IO点类型等。
每一种点类型都有固定的点结构,也就是说,对于同属于一种点类型的点而言,它们具有相同的点参数结构。
系统预先定义的点类型是标准点类型,用户可以根据自己的需要定义的点类型是自定义点类型。
参数:每一种点类型中都有若干个参数,而在点的操作中每一个点参数都对应了某一方面的属性。
它相当于关系数据库中的字段,但是它又区别于它,因为表中的每个字段对于不同的表可以作不同的定义,但是对于实时数据库而言,参数是预先定义,它可以被多种点类型引用,而且引用时具有相同的含义,相同的数据类型。
区域和单元:与上述概念不同的是,区域和单元是为了管理的方便,人为的把一些点集中管理的手段,它们表示了点的组织结构。
每一个数据库可以有32个区域,每一个区域可以有若干个单元。
通常的,把一个工艺设备的所有点归属一个单元,而把一个车间或一个工段等所有点归属一个区域,当然,这种划分也不是绝对的,用户可以根据自己的标准划分区域和单元。
其组织结构如下:下面,我们将结合实际的示例来介绍数据库的一些操作:点组态:正如前所述,点是数据库的功能实体,数据库的许多操作都通过点来组织的。
在DRAW中导航树上,选择“数据库/点组态”,进入到数据库点组态。
在导航树选择“数据库”,选择菜单“编辑/新建点”或点击工具栏按钮,进入点类型和区域选择:选择点的区域和类型选择继续即可进入到点的新建:根据所选择点类型的不同,其对应的画面也不相同,但是操作基本类似。
在这里我们可以组态点参数初始状态数据、外部数据连接和历史数据组态。