指南第三章实时数据库系统.docx
《指南第三章实时数据库系统.docx》由会员分享,可在线阅读,更多相关《指南第三章实时数据库系统.docx(39页珍藏版)》请在冰豆网上搜索。
![指南第三章实时数据库系统.docx](https://file1.bdocx.com/fileroot1/2022-12/7/7b8fe10a-eb07-4d9e-82ce-014e72728eaf/7b8fe10a-eb07-4d9e-82ce-014e72728eaf1.gif)
指南第三章实时数据库系统
第三章实时数据库系统
力控的实时数据库系统由实时数据库、实时数据库管理器、实时数据库运行系统和应用程序等几部分组成。
实时数据库(以下简称数据库)是指相关数据的集合(包括组态数据、实时数据、历史数据等),以一定的组织形式存储在介质上;实时数据库管理器是管理实时数据库的软件(以下用英文名称DbManager作为其标识),通过DbManager可以生成实时数据库的基础组态数据;实时数据库运行系统完成对数据库的各种操作,包括:
实时数据处理、历史数据存储、统计数据处理、报警处理、数据服务请求处理等。
应用程序包括两大部分:
力控应用程序和第三方应用程序。
力控应用程序是指力控系统内部以力控实时数据库系统为核心的客户方程序,包括:
HMI(人机界面)运行系统VIEW、I/O驱动程序、控制策略生成器以及其他网络结点的力控数据库系统等;第三方应用程序是指力控系统之外由第三方厂商开发的以力控实时数据库系统为处理核心的客户方程序,如:
DDE应用程序、OPC应用程序、通过力控实时数据库系统提供的DbCom控件访问力控数据库的应用程序等等。
力控的实时数据库系统同时也是一个分布式数据库系统。
由于许多情况要求将数据库存储在地理上分布在不同位置的不同计算机上,通过计算机网络实现物理上分布,逻辑上集中的数据库,即具有分布式的透明性。
用力控创建的数据库,数据在物理上分布在不同的地理位置或同一位置的不同的计算机上,但在用户操作时感觉不到数据的分布。
用户看到的似乎不是一个分散的数据库,而是一个数据模式为全局数据模式的集中式数据库。
在构建力控分布式数据库时,力控系统支持的网络通信方式有:
TCP/IP网络、串行通信(RS232/422/485)、电话拨号网络等。
关于分布式应用的详细信息请参考后面的章节。
3.1基本概念
点与点参数
点是一组数据值(称为参数)的集合。
在数据库中,用户操纵的对象是点(TAG),系统也以点为单位存放各种信息。
点存放在实时数据库的点名字典中。
实时数据库根据点名字典决定数据库的结构,分配数据库的存储空间。
用户在点类型组态时决定点的结构,在点组态时定义点名字典中的点。
点参数是含有一个值(整型、实型、字符串型等)的数据项的名称。
例如:
PV、DESC等。
在点名字典中,每个点都包含若干参数。
力控数据库系统提供了一些系统预先定义的标准点参数,如:
NAME、DESC、PV等;用户也可以创建自定义点参数。
对一个点的访问实际上是对该点的具体某一参数的访问;对一个参数值进行访问时也必须明确指定其所属点的名称。
采用“点名.参数名”的形式访问点及参数,如“TAG1.PV”表示点TAG1的PV参数。
因为PV参数代表过程测量值,经常被访问,因此在力控系统中,当访问某一点而不指定具体参数名时,均表示访问的是PV参数。
如:
访问“TAG1”即表示访问“TAG1.PV”。
一个点可以包含任意个用户自定义参数,也可以只包含标准点参数而没有用户自定义参数。
点类型
点类型是完成特定功能的一类点。
力控数据库系统提供了一些系统预先定义的标准点参数,如:
模拟I/O点、数字I/O点、累计点、控制点、运算点等;用户也可以创建自定义点类型。
区域
区域是按照操作人员的观点把一个工艺过程分成几部分,将各部分的点划分在不同的区域内。
例如化工厂的反应工段、公用工程工段、炼油厂的催化裂化工段等,就可以分在不同的区域里。
每个力控数据库系统可以支持多达31个区域。
单元
单元通常是把与一个工艺设备或完成一个工艺目标的几个相连设备有关的点集合在一起,例如一个反应器、锅炉(包括汽包等)、再生器等设备上的监控点都可以分配到一个单元内。
力控的许多标准画面是以单元为基础操作的,如:
总貌画面就可以按照单元分别或集中显示点的测量值。
每个点都必须分配给一个单元,而且只能分配一个单元。
下图展示了数据库中区域、单元和点的关系:
Ann-区域号;Unn-单元号;Pnn-点名
本地数据库
本地数据库是指操作人员当前操作的工作站内安装的力控数据库,它是相对网络数据库而言的。
网络数据库
相对操作人员当前操作的工作站内安装的力控数据库,安装在其他网络结点上的力控数据库就是网络数据库,它是相对本地数据库而言的。
数据连接
数据连接是确定点参数值的数据来源的过程。
比如测量参数PV,它的数据可以来源于某一物理设备(如:
PLC、智能仪表等),也可以来源于分布式网络中其他力控数据库中某一点的测量值,或者直接来源于本地数据库中其他点参数。
力控数据库正是通过数据连接建立与其他应用程序(包括:
I/O驱动程序、DDE应用程序、OPC应用程序、网络数据库等)的通信、交互过程。
数据连接分为以下几种类型:
1、I/O设备连接
I/O设备连接是确定数据来源于I/O设备的过程。
在这里,I/O设备的一层含义是指在控制系统中完成数据采集与控制过程的物理设备,如:
可编程控制器(PLC)、智能模块、板卡、智能仪表等等。
在力控数据库系统中,I/O设备的另一层含义是指在进行数据连接时针对某一种物理I/O设备创建的逻辑设备。
由于DDE、OPC应用程序也可以当作一种I/O设备对待(实际上,许多物理I/O设备正是通过提供DDE或OPC服务器软件来实现对其设备的采集与控制),因此当数据源为DDE、OPC应用程序时,对其数据连接过程与I/O设备相同。
2、网络数据库连接
网络数据库连接是确定数据来源于网络数据库的过程。
3、内部链接
本地数据库内部同一点或不同点的各参数之间的数据传递过程,即一个参数的输出作为另一个参数的输入。
3.2数据库管理器DbManager
DbManager是定义数据字典的主要工具。
通过DbManager可以完成:
点参数组态、点类型组态、点组态、数据连接组态、历史数据组态等功能。
在Draw导航器中双击“实时数据库”项使其展开,在展开项目中双击“数据库组态”启动DbManager(如果您没有看到导航器窗口,请激活Draw菜单命令“特殊功能[S]/导航器”),如下图所示:
启动DbManager后,进入DbManager主窗口:
主窗口最顶部是标题栏,下面是菜单栏,菜单栏下面是工具栏,工具栏下面是工作区。
工作区分为左右两部分,左侧树形结构的窗口是数据库导航窗口(以下简称导航器),导航器显示了当前工程数据库中已创建点所属区域及点类型。
右侧是一个二维表格,用于显示和编辑数据库点(以下简称“点表”),
导航器与点表
导航器是显示数据库层次及内容的窗口,它采用树形结构,最多可以形成3层,根部是数据库,其下一层是区域,区域下一层为点类型。
导航器可以显示或隐藏(参见后文“DbManager工具”)。
导航器可以用鼠标单击来进行选择,也可以用箭头键上下移动,左右展开。
导航器支持右键菜单。
点表是一个二维表格,一行代表一个点,列显示各个点的信息,其中第0行固定为标题行,显示标题。
点信息包括点的参数值,参数设置,数据连接等信息。
各列显示的内容可以灵活设置(参见后文“DbManager工具”),第0列固定显示行的序号,第1列固定显示点名参数。
在点表上,通过当前选中单元来确定要选择的行或列。
可以用鼠标单击来确定当前选中单元,也可以用箭头键、“Tab”键、“PageUP”键、“PageDown”键、“Home”“End”键键来定位当前选中单元。
点表支持双击操作。
如果双击的位置处于某个点所在行,则自动进入该点的修改过程;如果双击的单元处于空白区域,则自动进入新建点过程。
点表内显示的内容决定于导航器的当前选择。
例如:
如果在导航器上选择根部“数据库”,则点表会自动显示数据库内所有点的信息,显示的顺序可以灵活设置(参见后文“DbManager工具”);如果在导航器上选择区域0下的模拟I/O点,则点表会自动显示区域0内内所有模拟I/O点的信息。
DbManager菜单、热键、工具栏按钮一览表
菜单命令
热键
工具栏按钮
功能
工程/引入
引入其它工程数据库组态数据
工程/保存
保存当前工程数据库
工程/备份
备份当前数据库组态内容到指定位置
工程/分段线性化表
分段线性化表组态
工程/数据库参数
设置数据库系统参数
工程/导出点表
将当前点表的内容导出到文件
工程/打印点表
打印当前点表
工程/退出
退出DbManager程序
点/新建
Ctrl+A
新建数据库点
点/修改
Ctrl+E
修改数据库点
点/删除
Del
删除数据库点
点/等值化
等值化数据库点
点/复制
Ctrl+C
复制数据库点
点/自动粘贴
Ctrl+V
自动粘贴数据库点,点名自动生成
点/手动粘贴
Ctrl+B
手动粘贴数据库点,点名手动指定
点/查找
Ctrl+F
在当前点表中查找数据库点、任意字符串等
点/转移区域
将一个或多个数据库点从某个区域转移到另一区域
点/点参数
点参数组态
点/点类型
点类型组态
工具/统计
对数据库中的组态内容进行统计
工具/选项
对DbManager显示内容、显示格式、保存方式等项进行设置
帮助/主题
显示DbManager联机帮助
帮助/关于DbManager
显示DbManager版本信息
3.3点类型与点参数组态
数据库系统预定义了许多标准点参数以及用这些标准点参数组成的各种标准点类型,您也可以自己创建自定义类型的点参数和点类型。
注意:
数据库系统中预定义的标准点参数和标准点类型,是数据库运行的基础参数,不能修改或增加、删除。
通过DbManager可以浏览标准点参数、标准点类型,创建用户自定义点参数和用户自定义点类型。
创建用户自定义点类型
选择DbManager菜单命令“点[T]/点类型”,出现“点类型”对话框:
对话框中在“标准”和“自定义”页中分别列出了标准点类型和自定义点类型。
对于标准点类型,不能增加或删除。
若要创建自定义点类型,则选择“增加”按钮,出现“点类型组态”对话框:
在“名称”一栏中输入要创建的点类型名称。
左边的“可选”列表框中列出了可供选择的所有点参数。
右边的“已选”列表框中列出该点类型已有的点参数,其中点参数NAME和KIND为必选项,每创建一个新的自定义点类型,系统会自动将这两项加入。
若要为点类型增加一个参数,则在左侧列表中选择一个参数,双击或选中后单击按钮“增加>>”,这个参数会自动增加到右侧列表中,同时左侧列表中不再显示这个参数。
若要为点类型删除一个参数,则在右侧列表中选择一个参数,双击或选中后选择按钮“<<删除”,这个参数会自动增加到左侧列表中,同时右侧列表中不再显示这个参数。
对于某一种点类型中的各个参数,力控数据库支持“别名”功能。
例如,假设自定义点类型“MYTYPE”中引用了标准点参数“PV”,而用户更习惯于用名称“CV”表示当前测量值,那么就可以对点类型“MYTYPE”中的“PV”参数指定别名。
如上图所示,在输入框“别名”中键入“CV”,然后单击“增加”按钮。
指定别名后,在引用该点类型创建的点的别名参数值时,引用格式为“点名.别名”。
例如在上例中,如果用点类型“MYTYPE”创建了一个点“MYTAG”,当要在运行系统中显示该点的测量值时,引用的格式应为“MYTAG.CV”。
当参数选择完毕后,选择“确认”按钮,退出“点参数组态”对话框,新创建的点类型会在“点类型”对话框中列出。
新创建的点类型在没有用它创建点之前,可以反复进行修改,增减参数。
如果创建了点,若要修改或删除,则要首先删除用该点类型创建的所有点后,方可进行。
注意:
自定义点类型最多不能超过32个。
创建自定义点参数
若要创建自定义点参数,选择DbManager菜单命令“点[T]/点参数”,出现“点参数”对话框:
对话框中在“标准”和“自定义”页中分别列出了标准点参数和自定义点参数。
对于标准点参数,不能增加、修改或删除。
若要创建自定义点参数,切换到“自定义”页,选择“增加”按钮,出现“点参数组态”对话框:
在“名称”一栏中输入要创建的点参数名称。
选择数据类型,数据类型分为实型、整型、字符型三种。
在“提示”一栏中输入对该参数的提示信息(提示信息一般要简短,它将出现在点组态对话框和点表的列标题上)。
在“说明”一栏中输入对该参数的描述说明。
最后选择“确认”按钮退出“点参数组态”对话框,新创建的点参数会在“点参数”对话框中列出。
新创建的点参数在没有用它创建点类型之前,可以反复进行修改,或删除。
如果已经创建了点类型,若要修改或删除,则要首先删除用该点参数创建的所有点类型后,方可进行。
注意:
自定义点参数最多不能超过49个。
3.4点组态
点是实时数据库系统保存和处理信息的基本单位。
点存放在实时数据库的点名字典中。
实时数据库根据点名字典决定数据库的结构,分配数据库的存储空间。
在创建一个新点时首先要选择点类型及所在区域。
可以用标准点类型生成点,也可以用自定义点类型生成点。
新建点
若要创建点,可以选择DbManager菜单命令“点[T]/新建”,或者按下快捷键“Ctrl+A”,或者单击工具栏“新建数据库点”按钮,或者选中导航器后单击鼠标右键,弹出右键菜单后选择“新建”项,或者双击点表的空白区域,或者当前选中单元处于点表的空白区域时按下回车键,此时出现对话框进入点组态过程。
修改点
若要修改点,首先在点表中选择要修改点所在的行,然后选择DbManager菜单命令“点[T]/修改”,或者按下快捷键“Ctrl+E”,或者单击工具栏“修改数据库点”按钮,或者在导航器中选中要修改的点后单击鼠标右键,弹出右键菜单后选择“修改”项,或者双击点表内要修改点所在行,或者用上下箭头键选择点表要修改点所在行,然后按下回车键,此时出现点组态对话框进入修改过程。
删除点
若要删除点,首先在点表中选择要删除点所在的行,然后选择DbManager菜单命令“点[T]/删除”,或者按下快捷键“Delete”,或者单击工具栏“删除数据库点”按钮,或者在导航器中选中要删除的点后单击鼠标右键,弹出右键菜单后选择“删除”项,此时出现“确认删除下列点”对话框以进行删除点操作。
注意:
在点表中,可以用鼠标拖拽方式同时选择多个点进行删除。
等值化
对于数据库中属于同一种点类型的多个点,可以对他们的很多点参数值和组态参数值进行等值化处理。
例如,数据库中已经创建了10个模拟I/O点:
TAG1~TAG10。
我们可以利用等值化功能让这10个的DESC参数值全部与其中的一个点(假设为TAG2)的DESC参数值相等。
可按如下步骤进行:
在点表中同时选择TAG1~TAG10的“DESC”列,如下图所示:
然后选择DbManager菜单命令“点[T]/等值化”,或者单击工具栏“等值化数据库点”按钮,出现对话框:
在对话框中选择“TAG2”,然后单击“确认”按钮,点TAG1~TAG10的DESC参数值全部与TAG2的DESC参数值相同。
注意,在进行等值化操作时,一定要选择属于同一点类型的点;一次只能对点的一个域进行等值化,即在点表中一次只能选择一列的内容。
点的“NAME”、“KIND”、“%AREA”、“%IOLINK”等域不能进行等值化。
复制/粘贴点
若要复制点,首先在点表中选择要复制的点,然后选择DbManager菜单命令“点[T]/复制”,或者按下快捷键“Ctrl+C”,或者单击工具栏“复制数据库点”按钮,然后选择DbManager菜单命令“点[T]/自动粘贴”,或者按下快捷键“Ctrl+V”,或者单击工具栏“自动粘贴数据库点”按钮,DbManager会自动创建一个新点,这个点以被复制点为模板,点名是被复制点的名称递增一个序号。
例如,被复制点名为TAG1,则自动粘贴创建的新点自动命名为TAG2。
如果TAG2已被占用,则自动命名为TAG3,以此类推。
如果在粘贴时选择手动粘贴,则点名需要组态人员手动自行指定。
复制点与被复制点除点名不同外,所在区域,点类型与参数值均相同,但数据连接与历史组态内容不进行复制。
查找
若要查找点,选择DbManager菜单命令“点[T]/查找”,或者按下快捷键“Ctrl+F”,或者单击工具栏“查找数据库点”按钮,出现“查找”对话框,在对话框内输入要查找的点名,进行确认后,点表会自动将选中单元定位到查找到的点。
要注意的是,进行查找时,查找的范围是当前点表内显示的所有点,并不一定是整个数据库。
如果要重新确定新的查找范围,需要在导航器内选择一个新的范围。
DbManager的查找功能同时提供对点表中任意字符串的查找。
转移区域
可以将一个或多个点从某一区域转移到另一区域。
首先在点表中选择要转移区域的点,然后选择DbManager菜单命令“点[T]/转移区域”,此时出现“转移区域”对话框,指定要转移到的区域号后,单击确认按钮。
注意:
在点表中,可以用鼠标拖拽方式同时选择多个点进行转移。
3.4.1模拟I/O点
模拟I/O点,输入和输出量为模拟量,可完成输入信号量程变换、报警检查、输出限值等功能。
模拟I/O点的组态对话框共有4页:
“基本参数”、“报警参数”、“数据连接”和“历史参数”。
基本参数
模拟I/O点的基本参数页中的各项用来定义模拟I/O点的基本特征。
其外观及各项意义解释如下:
点名(NAME):
唯一标识一个工程数据库中点的名字,同一工程数据库中的点名不能重名,点名全部为大写,最长不能超过15个字符。
点名可以是任何英文字母,数字,可以含字符“$”和“_”,除此之外不能含有其他符号及汉字。
此外,点名可以以英文字母或数字开头,但一个点名中至少含有一个英文字母。
描述(DESC):
点的注释信息,最长不能超过63个字符,可以是任何字母、数字、汉字及标点符号。
单元(UNIT):
点所属单元。
单元是对点的一种分类方法。
例如,在VIEW程序的总貌窗口上,可以按照点所属单元分类显示点的测量值。
小数位(FORMAT):
测量值的小数点位数。
测量初值(PV):
在本项设置测量值的初始值。
工程单位(EU):
工程单位描述符,描述符可以是任何字母、数字、汉字及标点符号。
量程变换(SCALEFL):
如果选择量程变换,数据库将对测量值(PV)进行量程变换运算,运算公式为:
PV=EULO+(PVRAW-PVRAWLO)*(EUHI-EULO)/(PVRAWHI-PVRAWLO)
开平方(SQRTFL):
规定I/O模拟量原始测量值到数据库使用值的转换方式。
转换方式有两种:
线性,直接采用原始值;开平方,采用原始值的平方根。
分段线性化(LINEFL):
在实际应用中,对一些模拟量的采集,如热电阻、热电偶等的信号为非线性信号,需要采用分段线性化的方法进行转换。
用户首先创建用于数据转换的分段线性化表,力控将采集到的数据经过基本变换(包括:
线性/开平方、量程转换)后,然后通过分段线性表得到最后输出值,在运行系统中显示或用于建立动画连接。
分段线性化表:
如果选择进行分段线性化处理,则要选择一个分段线性化表。
若要创建一个新的分段线性化表,可以单击右侧的按钮“+”或者选择菜单命令“工程/分段线性化表”后,增加一个分段线性化表,其组态对话框如下图所示:
表格共三列,第一列为序号,每增加一段时系统自动生成。
第二列是输入值,该值是指从设备采集到的原始数据经过基本变换(包括:
线性/开平方、量程转换)后的值。
第三列为该输入值应该对应的工程输出值。
若要增加一段,在“分段设置”中指定输入值和输出值后,单击“增加”按钮。
对已经生成的段通过单击“修改”和“删除”按钮可以修改其输出值或将该段删除。
分段线性表是用户先定义好的输入值和输出值一一对应的表格,当输入值在线性表中找不到对应的项时,将按照下面的公式进行计算:
((后输出值-前输出值)*(当前输入值-前输入值)/(后输入值-前输入值))+前输出值
当前输入值,当前变量的输入值。
后输出值,当前输入值在表格中输入值项所处的位置的后一项数值对应关系中的输出值。
前输出值,当前输入值在表格中输入值项所处的位置的前一项数值对应关系中的输出值。
后输入值,当前输入值在表格中输入值项所处的位置的后一输入值。
前输入值,当前输入值在表格中输入值项所处的位置的前一输入值。
例如,在建立的线性列表中,数据对应关系为:
序号
输入值
输出值
0
4
8
1
6
14
那么当输入值为5时,其输出值的计算为:
输出值=((14-8)*(5-4)/(6-4))+8,即为11。
统计(STATIS):
如果选择统计,数据库会自动生成测量值的平均值、最大值、最小值的记录,并在历史报表中可以显示这些统计值。
报警参数
模拟I/O点的报警参数页中的各项用来定义模拟I/O点的报警特征。
其外观及各项意义解释如下:
报警开关(ALMENAB):
确定模拟I/O点是否处理报警的总开关。
限值报警:
模拟量的测量值在跨越报警限值时产生的报警。
限值报警的报警限(类型)有四个:
低低限(LL)、低限(LO)、高限(HI)、高高限(HH)。
他们的值在变量的最大值和最小值之间,它们的大小关系排列依次为高高限、高限、低限、低低限。
在变量的值发生变化时,如果跨越某一个限值,立即发生限值报警,某个时刻,对于一个变量,只可能越一种限,因此只产生一种越限报警,例如:
如果变量的值超过高高限,就会产生高高限报警,而不会产生高限报警。
另外,如果两次越限,就得看这两次越的限是否是同一种类型,如果是,就不再产生新报警,也不表示该报警已经恢复;如果不是,则先恢复原来的报警,再产生新报警。
报警死区(DEADBAND):
是指当测量值产生限值报警后,再次产生新类型的限值报警时,如果变量的值在上一次报警限加减死区值的范围内,就不会恢复报警,也不产生新的报警,如果变量的值不在上一次报警限加减死区值的范围内,则先恢复原来的报警,再产生新报警。
变化率报警:
模拟量的值在固定时间内的变化超过一定量时产生的报警,即变量变化太快时产生的报警。
当模拟量的值发生变化时,就计算变化率以决定是否报警。
变化率的时间单位是秒。
变化率报警利用如下公式计算:
(测量值的当前值–测量值上一次的值)/(这一次产生测量值的时间-上一次产生测量值的时间)
取其整数部分的绝对值做为结果,若计算结果大于:
变化率(RATE)/变化率周期(RATECYC),则出现报警。
偏差报警:
模拟量的值相对设定值上下波动的量超过一定量时产生的报警。
用户在“设定值”中输入目标值(基准值)。
计算公式如下:
偏差=当前测量值–设定值
延时时间(ALARMDELAY):
当设置了延时时间后,对于限值报警或偏差报警,当PV值超出限值或偏差值超出偏差设置后,并不立即产生报警,只有当超过延时时间ALARMDELAY后,PV值仍超出限值或偏差值仍超出偏差设置时,才产生限值报警或偏差报警。
报警优先级:
定义报警的优先级别,共有3个级别:
低级、高级和紧急。
这3个级别对应的报警优先级参数值分别是1、2和3。
数据连接
模拟I/O点的数据连接页中的各项用来定义模拟I/O点数据连接过程。
其外观及各项意义解释如下:
左侧列表框中列出了可以进行数据连接的点参数及其已建立的数据连接情况。
对于测量值(即PV参数),有三种数据连接可供选择:
I/O设备、网络数据库和内部链接。
I/O设备:
选择该项,表示测量值与某一种I/O设备建立数据连接过程。
建立了数据连接过程,就表示测量值会随着I/O设备数据的变化实时变化,同时,当操