云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 组态软件实时数据库研究

组态软件实时数据库研究

  • 62 次阅读
  • 3 次下载
  • 2026/4/27 8:01:51

组态软件实时数据库研究

Research on the Real-time database of Configuration Software

(华北水利水电学院,河南 郑州 450011)陆桂明 郑忠洋

组态软件(实时数据库) 参考第六页

摘要:介绍了组态软件及其核心部件实时数据库,通过设计一个工业实时数据库实例,来探讨一些实时数据库的关键问题并提出相应的实现方法和技术措施。 关键词:组态软件 实时数据库 面向对象 中图分类号 : TP392 文献标识码 : A

Abstract:Introduced the configuration software and the core part real-time database simply, through designs an industry real-time database example, discusses some key questions of real-time databases and proposes the corresponding realization method and the technical measure. Keywords:Configuration software;Real-time database; Object-oriented

1.引言

“组态”的概念是伴随着集散型控制系统(Distributed Control System简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容,随着技术的发展,监控组态软件将会不断被赋予新的内容。实时数据库及其调度系统是组态软件的关键部分,也是设计的难点部分。实时数据库系统处于工控系统各功能模块数据交换的中心位置,在组态系统进入运行环境时,工业现场的生产情况将实时地反映在变量的数值中,操作者用计算机发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库系统为中介。同时实时数据库系统又是事务调度中心,数据采集事务、图形显示事务、报警事务、历史存盘事务等都由实时数据库系统中的事务调度系统完成,从而达到监控的实时性、正确性和一致性。

2.实时数据库

2.1 组态软件实时数据库结构

组态软件实时数据库的结构如图1所示,在结构上与传统数据库类似,其主要区别在于调度和事务管理方面。实时数据库系统是一个复杂的系统,它是采用了实时数据库技术的计算机系统。一个实时数据库系统是一个可实际运行的,按照数据方式存储、维护和向应用程序提供数据或信息支持的系统,是存储介质、处理对象和管理系统的集合体。实时数据库系统结构强调了实时特性,以实现其数据库状态最新、数据值的时间一致性和事务的及时处理能力。

实时应用程序调度实时事务处理并发控制 实时资源管理 实时数据管理数据操作CPU管理 完整性约束缓冲区管理实时I/O调度数据库 图1.组态软件实时数据库结构

2.2 组态软件中实时数据库的功能

实时数据库是一个数据处理中心,是工控组态软件的核心部件,是构建分布式应用系统的基础,它负责实时数据运算与处理、历史数据存储、统计数据处理、报警处理、数据服务请求处理等。在系统运行过程中,各个部件独立地向实时数据库输入和输出数据,并完成自己的差错控制以减少通信信道的传输错误,通过实时数据库交换数据,形成互相关联的整体。因此,实时数据库是系统各个部件及其各种功能性构件的公用数据区。 2.3 实时数据库和传统数据库的区别

实时数据库系统与普通数据库系统不同,其主要目标是使尽量多的事务“在规定的时间要求内”完成,而不是公平地分配系统资源,因此它具有明显的时间约束特点。其次实时数据库的调度系统与传统数据库中的事务调度是有差别的。它要求的是能使尽量多的事务在其期限内完成,因此大多数的实时事务调度策略都是围绕事务的优先级进行的。 3.实时数据库系统设计

3.1 实时数据库的设计思想

3.1.1 实时数据库系统的存储策略

考虑到实时数据库的特点,为此,我们采取传统数据库系统、文件系统和内存数据库系统兼用,利用多种存储介质来构造系统的实时数据库系统。采用的存储策略是:①对于需要长期保存的非共享数据(如采样值的数模转换系数、控制组态值等)采用文件管理系统直接存取。②对于数据量大而工控软件无特殊要求的共享数据(如操作者纪录等),将其存放在外存数据库中。外存数据库采用Access数据库,由运行系统通过数据库操作语言(DML)进行存取。③对于每个采样周期都要更新的数据。这样,通过使用外存数据库(Access数据库)、文管系统和内存数据库(实时数据库),既保证了数据的共享性、独立性、安全性、完整性,又节约了内存,保证了系统的响应速度。

3.1.2 实时数据库系统的分析与设计

实时数据库系统包括实时数据库及其事务调度系统。利用Windows的DLL(动态连接库)和全局共享内存技术来建立系统实时数据库的设计思想,并通过给用户提供一套接口标准----实时数据库系统接口,来实现I/O驱动程序与用户程序和实时数据库系统间的高速数据

传递。

一. 实时数据库功能分析及设计

(1).实时数据库系统应具有以下功能特点:

现场数据采集:实时数据库提供了与典型数据源的接口,读写通讯设备寄存器的现场值,送到开辟的内存缓冲区。

预处理机制:可以直接在实时数据库中对原始数据进行处理。

滚动存储机制:数据库的容量固定,当新的数据产生,数据库中最老的数据将被删除。 自动更新机制:当数据库中的数据改变时,可以及时通知客户端程序.以更新画面。 触发和定时机制:提供丰富的触发和定时机制,供各类数据处理、先进控制和优化算法使用,以保证数据的实时性、有效性、一致性。

补偿机制:当不能保证连续运行时(如系统备份),需要提供相应的补偿机制,以保证数据不会丢失。

数据检索机制:可以以类似于关系数据库的方式检索实时数据库中的数据。 动态汇总机制:实时数据库提供了报警状态、操作事件等信息的动态汇总功能。 进程管理机制:可将有严格时间要求的用户进程放在服务器上,由实时数据库统一调度管理。

(2).设计方面,我们采用面向对象编程(OOP)的设计技术,将实时数据库定义为类的形式。实时数据库的功能由类的方法和专门的管理程序实现,管理程序负责实时数据库的生成、数据库的查询、数据库的实时更新以及其它任务对实时数据库的实时请求、报警响应等操作。实时数据库管理程序的所有功能是封装在一个专用实时数据库管理类中,通过对类的成员函数调用实现对数据库的所有操作管理。实时数据库类根据系统要求定义了如下功能模块:

实时数据库初始化模块:实时数据库是以数据链表的方式存放在内存中,系统运行之初是按照用户组态好的数据库动态地生成实时数据库类,并将组态数据库域的内容赋给相应实时数据库类对象的属性,完成初始化工作。同时建立Access历史数据库和各数据对象对应的对象名索引,以提高访问数据对象的访问速度。

基本操作模块:提供数据对象的基本操作,如对数据对象的查找操作,通过数据对象名或ID取得数据对象的其他属性,或通过名称取得数据对象的ID等等。

读写数据操作模块:实时数据库中的每一个数据对象都对应于现场的某一种实时量,并与现场状态保持一致。根据实时数据库类对象的属性调用其相应方法,实现数据对象的读写数据操作,将存放在数据缓冲区的现场值写入实时数据库的数据对象的现场值属性中去,读取数据对象中的当前值。

图形显示链接模块:主要完成实时趋势、动态显示、数据链接功能,使图形显示的变化与数据库对象值的变化相一致。

窗口操作模块:读取用户窗口的名称,对指定的用户窗口进行操作,读取用户窗口的当前状态。

存盘操作模块:照实时数据库类对象的Record.Property属性决定记录方式,并触发相应方法向Access历史数据库中存储需要存盘的数据。

计算模块:完成实时数据库的计算功能,并触发相应事件。 报警操作模块:它读取数据对象的报警限值,调用实时数据库类对象报警判断方法函数,并触发相应事件处理,如触发报警窗口控件显示、产生报警记录、输出相应控制等。

通讯设备读写操作模块:管理通讯设备,读取设备的当前工作状态,对指定的设备进行操作。

事故处理模块:进行事故判断、事故报警、防止事故扩大对有关设备的操作,保存事故前操作者记录及现场参数值。 二. 实时数据库的事务调度系统

控制软件系统投入运行后,同时要进行与DCS数据采集、数据处理、图形显示刷新、历史数据存盘、紧急事件报警或越位报警等事务活动,所有的这些事务都要并行处理,如等待时间太长,则无法满足实时性的要求。这样就要求我们实现一种并行编程。在上位机上,也就是要将CPU时间按照一定的优先准则分配给各个事件,定期处理某一事件而不会在某一事件上处理时间过长,用多线程的编程技术来实现这种并行编程,实时调度各事务,如图2所示。

实时曲线报表生成图形显示数据显示报警显示实时数据库Access历史库趋势图生成通讯管理模块下位机 图2。实时数据库系统事务调度

3.1.3 实时数据库的实现

根据工业控制中的数据类型,可将数据模型归结为:模拟量、开关量、字符串型3种类型。实时数据模型由3要素组成:1组对象及其结构、1组操作和关于对象与操作的约束。实时数据模型的约束则更突出地包括时间限制。现以实际开关量为例,以c++语言作为实时数据库的开发语言,介绍其数据类的定义实现。

Class DIGITAL_NODE:public Cobject {public:

DECLARE_SERIAL(DIGITAL_NODE); DIGITAL_NODE(); public: DIGITAL_NODE(); public:

int index;//记录号 int nodeid;//节点号 int deviceid;//所属设备号

int nodetype;//节点数据类型0,1,2,3,4,5 Cstring nodename;//点名 Cstring nodescript;//点描述 Cstring ipaddr;//点地址链接描述符 int offset;//偏移地址 int physicaltype;//硬件类型 bool Value;//点值(裸数据)

bool last Value;//上次点值(裸数据) bool initialvalue;//初始值 bool issaved;//是否存盘 bool isalarm;//是否报警

搜索更多关于: 组态软件实时数据库研究 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

组态软件实时数据库研究 Research on the Real-time database of Configuration Software (华北水利水电学院,河南 郑州 450011)陆桂明 郑忠洋 组态软件(实时数据库) 参考第六页 摘要:介绍了组态软件及其核心部件实时数据库,通过设计一个工业实时数据库实例,来探讨一些实时数据库的关键问题并提出相应的实现方法和技术措施。 关键词:组态软件 实时数据库 面向对象 中图分类号 : TP392 文献标识码 : A Abstract:Introduced the configuration software and the core part real-time

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com