(控制理论与控制工程专业论文)基于vc的集散控制系统监控组态软件的研究.pdf_第1页
(控制理论与控制工程专业论文)基于vc的集散控制系统监控组态软件的研究.pdf_第2页
(控制理论与控制工程专业论文)基于vc的集散控制系统监控组态软件的研究.pdf_第3页
(控制理论与控制工程专业论文)基于vc的集散控制系统监控组态软件的研究.pdf_第4页
(控制理论与控制工程专业论文)基于vc的集散控制系统监控组态软件的研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(控制理论与控制工程专业论文)基于vc的集散控制系统监控组态软件的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 工控组态软件的设计和实现是一个十分庞杂的工程,本论文论述了监控组态 软件的整体框架和实现方法,并给出了基于v c 十+ 的部分程序代码,实现了一个 原形软件。 监控组态软件的设计包括如下几个部分:图形界面、实时数据库系统、运行 系统、通信系统。本论文着重介绍了两个关键的部分:图形界面和实时数据库系 统的设计与实现。 本组态软件在参考了国内外几个著名的组态软件产品的基础上,融入了自己 的特色:1 提出了利用共享内存文件的方式进行整个系统的数据交换的方案,该 方式简单可靠,容易实现。2 设计了面向对象的实时数据库模型,巧妙地将关系 数据库和实时数据库加以映射,实时数据库的部分功能由关系数据库来实现。3 利用面向对象技术设计了图形界面组态模块,定义了基本的图库,讨论了画面生 成过程中图形编辑的封装方法,设计了一组封装不同图形生成过程的工具类,结 合计算机图形学,讨论了用图形的动态显示特性模拟监控对象的实现方法。4 对v b a 与组态软件的集成做了深入的探索,使组态软件扩展性得增强。 通过试验,充分证实了论文提出的组态软件设计方案的正确性和可行性,具 有很强的可操作性。 关键词:d c s ;组态;实时数据库;面向对象编程;d d e ; v b a a b s t r a c t t h ed e s i g na n di m p l e m e n t a t i o no f c o n f i g u r a t i o ns o f t w a r ef o ri n d u s t r i a lc o n t r o l i sac o m p l e xe n g i n e e r i n g t h i sp a p e rd e s c r i b e st h ew h o l ef r a m ea n di m p l e m e n t a t i o n o f s u p e r v i s o r ya n d c o n t r o lc o n f i g u r a t i o ns o f t w a r e ,a n da l s op r o v i d e sp a r ts o u r c ec o d e b a s e do nv c + + 6 0 a p r o t o t y p eo f s u c hk i n do fs o f t w a r ei sr e a l i z e d t h ew h o l es y s t e mc a nb ed i v i d e di n t of o l l o w i n gc o m p o n e n t s :g r a p h i ci n t e r f a c e , r e a l t i m ed a t a b a s es y s t e m ,r u n n i n gs y s t e m ,c o m m u n i c a t i o ns y s t e m t h ep a p e rm a i n l y d i s c u s s e st h ed e s i g no f g r a p h i c i n t e r f a c ea n dr e a l t i m ed a t a b a s es y s t e m s e v e r a lc h a r a c t e r i s t i c sa r ep u tf o r w a r di nm yo w ns o f t w a r eo nt h eb a s eo f r e f e r e n c et os o m ef a m o u sd o m e s t i c sa n do v e r s e a sp r o d u c t s f i r s t l y , t a k i n ga d v a n t a g e o f s h a r i n gm e m o r yf i l et oe x c h a n g es y s t e md a t a ,w h i c hi ss i m p l ea n dr e l i a b l e ,a l s o e a s y t o i m p l e m e n t ,s e c o n d l y ,o b j e c t - o r i e n t e d m o d e lf o rr e a l - t i m ed a t a b a s ei s d e s i g n e d ,t h em a p p i n g b e t w e e nr e l a t i o nd a t a b a s ea n dr e a l - t i m ed a t a b a s ei sp e r f e c t l y r e a l i z e d ,s o m ef u n c t i o n sa r er e p l a c e db yr e l a t i o nd a t a b a s e t h i r d l yw eh a v ed e s i g n e d g r a p h i ci n t e r f a c ec o n f i g u r a t i o nm o d u l em a k i n gu s e o fo b j e c t o r i e n t e dt e c h n o l o g y , m e a n w h i l eb a s i cg r a p h i cu n i ti sd e f i n e d ,t h em e t h o dh o wt oe n c a p s u l a t eg r a p h i c s e d i t i o nd u r i n gd r a w i n gc o u r s ei sd i s c u s s e d ,as e to ft o o lc l a s s e sa r ed e s i g n e dt o e n c a p s u l a t ev a r i o u s k i n d s o f d r a w i n g c o u r s e a l s oc o m b i n i n gw i t h c o m p u t e rg r a p h i c s , w ed i s c u s s e dh o wt oi m i t a t e s u p e r v i s e do b j e c t s w i t h d y n a m i c a ld i s p l a y i n g c h a r a c t e r i s t i c so fg r a p h i c s f i n a l l y , t h e e x p a n s i o n o fc o n f i g u r a t i o ns o f t w a r ei s s t r e n g t h e n e d a sr e s u l to f i n t e g r a t i o no f v b aa n di t s c l f i t h es c h e m eo f f e r e di nt h ep a p e ri s p r o v e d t ob ec o r r e c ta n dp r a c t i c a b l eb y e x p e r i m e n t ,a n d i th a s s t r o n go p e r a b i l i t y k e y w o r d s :d c s ;c o n f i g u r a t i o n ;r e a l - t i m ed a t a b a s e ;o b j e c t o r i e n t e dp r o g r a m m i n g ; d d e ;v b a 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得岙生盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名翔蟊坪签字日期矽罗年, 月拶日 学位论文版权使用授权书 本学位论文作者完全了解苤洼盘鲎有关保留、使用学位论文的规定。 特授权盘注盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 荆羲巧 签字日期:知p 歹年 月2 争日 导师签名: 签字日期 酽 , 月 旁尹, j 劳v ,夸年 季刎 第一章绪论 第一章绪论 1 1 集散控制系统发展历程与现状 集散型控制系统,又称分布式控制系统( d i s t r i b u t e dc o n t r o ls y s t e m ) 简称 d c s 。融计算机技术、控制技术、通信网络技术、图形显示技术为一体,在结构 上将管理监控、实时控制、数据采集等功能分散到不同的计算机中,再通过通 信网络它们连接起来,组成一个有机的整体。 目前采用的d c s 有环形、总线形和分级式几种。现以分级式为例介绍其组 成。分级式控制系统通常由分散过程控制( d d c ) 、监督控制( s c c ) 和生产管 理( m i c ) 3 级组成0 1 ,其结构如图1 一l 所示。 图1 1 分级式d c s 组成 i 管理级 j l 监控级 i i 控制级 分散过程控制级是d c s 的基础,用于直接控制生产过程,它由各控制单元 组成。分散过程控制级采集的数据供监控级调用,各控制单元接收监控级发送 的信息。监控级的任务是对生产过程进行监视与操作,本级的操作人员可根据 信息直接干预系统的运行。管理级是整个系统的核心和中枢。它根据监控级提 供的信息和生产任务的要求编制全面反映整个系统工作情况的报表,科学制定 最优控制策略,并对下一级下达命令。 随着管理的集中性与控制的分布性这一实际需要的增长,集散控制系统取 得飞速的发展。目前d c s 总的发展趋势主要有以下几个方向: 第一章绪论 1 ,d c s 逐步向综合化、开放化和c i m s 方向发展; 2 ,d c s 向智能化方向发展。由于知识库系统和专家系统的应用,人工智能 在d c s 的各级上得以实现; 3 网络系统化。网络通信技术的发展,对d c s 的发展起到了有力的推动作 用。 4 集散控制系统( d c s ) 与现场总线( f c s ) 控制系统集成。 1 2组态软件及发展 1 。2 1 组态软件摄述 在工业控制技术的不断发展和应用过程中,p c 机相比以前的专用系统具有 的优势日趋明显。这些优势主要体现在:p c 的各种相关技术已趋成熟:由p c 构建的工业控制系统具有相对较低的成本;p c 的软件资源和硬件资源日益丰富, 软件之间的互操作性增强。在p c 向工业控制领域的渗透中,组态软件占据着非 常特殊而且重要的地位。 组态软件是数据采集与过程控制的专用软件,是在自动控制系统监控层一 级的软件平台和开发环境,能以灵活多样的组态方式( 而不是编程方式) 提供 良好的用户开发界面和简捷的使用方法,其预置的各种软件模块可以非常容易 地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的i ob o a r d , 与高度可靠的工控计算机和网络系统结合,可向控制层和管理层提供软件、硬 件的全部接口,进行系统集成【2 7 l 。 1 2 2 组态软件的产生背景、成长背景 在开发传统的工业控制软件时,当工业被控制对象一旦有变动,就必须修 改其控制系统的源程序,导致其开发周期过长;已开发成功的工控软件又由于 每个控制项目的不同,而使其重复使用率很低,导致它的价格十分昂贵;在修 改工控软件的源程序时,倘若原来的编程人员离去时,则必须同其他人员或新 手进行源程序的修改,因而更是相当困难。通用工业自动化组态软件的出现, 为解决上述实际问题提供了一种崭新的方法,它能够很好地解决传统工业控制 软件存在的种种问题,使用户能够根据自己的控制对象和控制目的任意组态, 完成最终的自动化控制工程“。 组态的概念最早来自英文“c o n f i g u r a t i o n ”,含义是使用软件工具对计算机 及软件的各种资源进行配置,达到使计算机或软件按照预先设置,自动执行特 第一章绪论 定任务,满足使用者要求的目的【l 】。监控组态软件是面向监控和数据采集的软件 平台工具,功能强大。它的发展是伴随着计算机技术的突飞猛进发展起来的。 主要有以下两个方面的表现: ( 1 ) 个人计算机操作系统日趋可靠稳定,实时处理能力大大增强; ( 2 ) 个人计算机的软件及开发工具丰富,使组态软件的功能强大,开发周 期相应变短,软件升级和维护也比较方便。 随着集散控制系统的蓬勃发展,组态软件的地位日益重要。组态软件被推 到了自动化系统主力军的位置,成为工业自动化系统中的灵魂。 1 2 3 组态软件的发展现状 9 0 年代以后,国内外推出了不少组态软件产品,有的是随集散系统一起推 出的作为专用配套软件,有的是通用软件,如美国i n t e l l u t i o n 的f i x 、德国 s i m a t i c 公司的w i n c e ,美国w o n d e r w a r e 公司的i n t o u c h 及国内的组态王 k i n g v i e w 等等。 整体上分析,目前组态软件具有以下几个特点: 一、开放性 所谓开放性,是要求各厂家的产品具有互换性,互操作性,可扩充性并提供 多平台支持。d c s 产品随着网络的标准化,逐渐具备了开放性。同时,通用商 品化软件包在d c s 中得到广泛应用,许多d c s 操作平台向w i n d o w sn t 移植, 以便于互通信息,新一代d c s 普通采用动态链接库( d l l ) ,对象链接与嵌入 ( o l e ) ,结构化查询语言( s q l ) ,应用编程界面接口( a p i ) 等软件技术,解 决了与商用软件的接口问题。 以f i x 、i n t o u c h 为例,它们均提供了工业标准接口、界面和通信技术, 支持w i n d o w sn t 、o l e 、o p c 、v b a 、a c t i v e x 和c o m 技术,用户不需要编 写程序代码,就可以轻松享受这些功能,实现了系统的最大程度的开放。 二、组件化结构 在f i x 中,其组件化结构可让用户十分方便地插入i n t e l l u t i o n 公司提供的 3 2 位组件产品,再加上第三方组件程序,可集成一个完整的工业控制系统。f i x 推出的组件对象有:具有图形编辑功能的s c a d a 和h m i ,基于p c 机的软逻辑 控制软件s o f t l o g i et m ,网络服务器软件w e b s e r v e rt m ,用户可根据i j k 现场 需要集成所需的监控系统。”。 三、具有远程诊断和易维护功能 美国f o x b o r o 公司的i a 系统是一个新一代的开放型d c s 工业控制系统, 第一章绪论 其5 l 系列采用s u n 工作站和s o l a r i s 操作系统,它的网络连接采用通用的以太 劂,通讯协议采用当前较流行的t c p i p 协议,因此i a 系统可直接与符合t c p i p 协议的本地信息管理网连接,并可通过通讯接口和通讯网络与远方的局域网连 接。p c 机可通过电话线和调制解调器与工厂内的i a 系统连接,成为i a 系统 的一个工作站,调出i a 上的过程画面和数据,从而对i a 系统进行远程珍断和 维护”。 1 2 4 组态软件的发展趋势 、能够同时兼容多种操作系统是组态软件的发展方向之。 微软公司在操作系统市场上的垄断迟早要被打破,未来的组态软件也要求 跨操作系统平台,至少要同时兼容w i n n t 和l i n u x u n i x 。 二、模块化、开放式的数据结构设计。 各部分以模块形式挂接在基本模块上,每个模块相互独立,可借此提高系 统的可靠性和可扩展性,允许用户自行开发功能模块。 三、网络化。 基于i n t e m e t 的企业解决方案将成为工控软件的主流。i n t e r n e t 以t c p i p 协 议为基础,以w e b 为核心。由于简单易用的客户浏览器、客户端操作界面的一 致性,克服了两层结构c s 模式客户端多种程序带来的不一致性;服务器端的 开放或基于标准的连接方案,加强了企业和外部的联系,数据库不直接服务于 每个客户机,而与w e b 服务器沟通,有利于实现对客户信息服务的动态性、实 时性和交互性。以w e b 技术为核心的i n t e r a c t 使管控一体化系统更接近客户,更 有利于网络的进一步扩展嘶1 。 四、组态软件在嵌入式整体方案中将发挥更大作用。 嵌入式系统的发展速度极为迅猛,但相应的组态软件滞后严重,制约着嵌 入式系统的发展。 1 3 论文完成的主要工作和意义 当前国外组态软件占据着市场的大部分份额,但由于价格偏高,成套系统 达几十万至几百万,界面西化,有时不能支持国内的一些硬件设备,同时国外 组态软件通用性太强,不能满足些特殊要求,对于中小型企业来讲,许多功 能用不上,造成极大的浪费,另外由于国外产品的实现细节是保密的,他们的 软件对我们来说是个黑匣子,安全上受制于人,具有很大的安全隐患。国产化 的组态软件逐渐成为市场上的一支生力军。但总体上讲,由于资料来源缺乏, 第一章绪论 软件工程的组织薄弱等原因,使国产化组态软件的开放性、集成性、可靠性都 有一定局限性,市场竞争力较弱。 鉴于此,仔细分析d c s 系统的特点,开发面向中小型企业的具有自身特色 的监控组态软件,将有广阔的市场前景。本论文的主要工作是在分析出d c s 系 统中工业数据采集和监控领域要解决的问题后,对组态软件设计中的一些关键 技术进行了探索,并利用软件开发领域的前沿成果给出一定的解决方法。 本人的主要工作: 1 分析对比市场上流行的组态软件产品,确定组态软件的实现形式。 组态软件到底如何实现,其结构形式如何,本人通过研究几个著名的组态 软件产品,并查阅了大量的有关监控软件学术论文,确定了各模块的设计方式, 制定了软件的整体框架设计思路,在此基础上完成系统核心部件的设计和编码。 2 图形界面组态的设计。利用v c + + 6 0 语言作为开发工具,采用o o p 思 想,完成了图形组态的设计,实现了动画连接,使监控界面更加形象直观。 3 实时数据库系统的设计与实现。 实时数据库是组态软件设计的核心部分,本文提出了实时数据库面向对象 模型,通过制定实时数据库和其它各种模块的标准接i :1 ,进行数据交换。经过 与其他进程问通信方式比较,共享内存文件方式使数据在不同模块间的传输耗费 降到最低,大胆采用了共享内存文件的方式进行系统的数据交换。 4 深入分析了d d e 通讯的原理,给出了利用d d e 技术进行数据连接的设 计思路。 5 对o p c 、v b a 与组态软件的集成做了深入的探讨。 6 为开发具有明显领域特色的工控软件提供参考模型。 第二章d c s 组态软件的总体方案设计 第二章d c s 组态软件的总体方案设计 2 1 开发工具及操作平台的选择 组态软件的核心思想是:把过程控制系统中的每一个受控元素及控制算法 都作为一个编程对象,并根据其功能和特性将它们分为不同的类别,然后为它 们提供相应的组态功能模块,每个模块保持一定的功能独立性,在协同工作时, 通过相互之间的接口完成实际的任务。 在这个组态过程中,面向对象的思想得到充分的发挥。面向对象克服了旧 的系统分析和程序分析的片面性,将需要处理的问题视为一个完整的对象,这 样既提高了系统的开发速度,又保证了系统软件的成熟性和可靠性,从而增强 代码的重用性,使软件的维护和修改更加方便,并在很大程度上保持了语言的 中立性,具有巨大的优越性 6 1 。关于面向对象技术将在本文后面详述。 v c + + 6 0 是市场上一款真正面向对象的编程语言,它集m i c r o s o f t 公司软件 开发技术精华,特别是它提供了m f c 类库,很好地封装了w i n d o w sa p i 函数, 充分利用类的继承性、封装性、多态性,用户可方便地设计自己需要的类,同 时它对内存、硬件的操作比较容易,因此本课题采用v c + + 作为组态软件的开 发工具。 组态软件最突出的特点是实时多任务,而w i n d o w s2 0 0 0s e r v e r 是结合了 w i n d o w s9 8 和w i n d o w s n t 4 0 的优良性能而开发出来的多用途操作系统,它能 同时处理多个线程,又支持s q ls e r v e r 2 0 0 0 ,因此选择w i n d o w s 2 0 0 0s e r v e r 作 为组态软件的操作系统平台。 2 2 系统组态软件总体框架划分 组态软件体系结构是针对系统硬件系统来划分的,因此我们有必要对d c s 系统的硬件组成和功能作一个深入详实的了解和分析。集散型控制系统结构概 括起来主要由集中管理部分、分散控制监测部分和通信部分组成。集中管理部 分又可分为工程师站、操作员站和管理计算机。工程师站主要用于组态和维护, 操作员站则用于监视和操作,管理计算机用于全系统的信息管理和优化控制。 分散控制监测部分按功能分为控制站、监测站或现场控制站,它用于控制和监 测。通信部分连接集散控制系统的各个分布部分,完成数据、指令等信息的传 第二章d c s 组态软件的总体方案设计 递。相应的系统软件是:工程师站软件、操作员站软件和现场控制站软件。其 中工程师站、操作员站位于p c 机上,而现场控制站一般是以单片机为处理器 的智能板。三部分软件通过系统网络及网络通信软件,彼此相互配合,互为协 调,交换各种数据和信息,阻完成整个集散控制系统的功能。根据d c s 任务特 点,本课题设计的监控组态软件总体结构如下: 图2 - 1 监控组态软件总体框架示意图 一、图形界面模块 用户可根据实际需要绘制人机界面图形,以图形、文字等形式反映工业现 场的数据变化,在相应位置放置各种现场对象的模拟对象,系统运行时,将相 应的实时数据与模拟对象相关联。用户还可以以曲线的方式观察数据的变化趋 势。 在图形界面上还具备报警通知及确认、报表组态及打印、历史数据杳询与 显示等功能。各种报警、报表、趋势都是动画连接的对象,其数据源可以通过 组态来指定。 二、过程控制模块 用户可根据需要对不同的物理量定义相应的算术运算,系统能解释用户的 定义;同时系统还提供在各物理量之间构成回路的能力,使用户利用基本的逻 辑单元实现特定的控制策略。 三、i o 通信接口模块 它直接负责从设备采集实时数据并将操作命令下达给设备,除此之外,它 还要创建内存缓冲区以便与实时数据库进行数据交换。 第二章d c s 组态软件的总体方案设计 四、实时数据库系统 实时数据库是更为重要的一个部分,是监控组态软件的数据交换核心,主 要进行永久数据管理、有效的数据存取、事务调度管理、数据值的时间一致性 管理等操作。 2 3 系统软件设计 一、通信接口模块的设计 本系统设计了自己的驱动程序规范,符合系统规范的驱动程序可以由驱动 调度程序调用以完成对相应设备的监测控制点的读写。 二、数据库组态 数据库是分布式控制系统的信息来源。一个工程项目中所有需要监测和控制 的点都在数据库组态中定义。在本课题中,根据点类型的不同,将点分为模拟 量输入、模拟量输出、数字量输入、数字量输出、字符型量。各i o 变量有基本 的共同属性,如名称、报警值、存盘、i 0 地址等。除此以外,还要针对变量类 型和监控的需要设计组态项目,以模拟量输入为例: 索引信息:记录号、工位号 存储信息:点名称、工程单位、量程转换系数、点类型 报警信息:信号上下限、量程上下限、报警级别、报警上下限、报警死 区限制 三、图形界面组态 人机界面是整个d c s 中比较重要的部分,它简略图的形式形象直观地向操 作员展现出工业现场中各个设备及其互连的一个视图。这部分的基本框架使用 v c h 6 0 文档视结构。按照这种结构,文档类管理所有图形元素、图层等数据 结构变量的内存分配和释放、存盘、读盘等,视图类管理各个图层的显示、编 辑等界面操作。 图形组态的一个重要任务是进行动画连接,即画面中对象与数据库变量或 表达式建立对应关系,在建立动画连接后,在图形界面运行环境下根据数据库 变量或表达式的变化,图形对象可按动画连接的要求进行实时改变。 四、报表组态的实现“” 报表大致分为周期性报表和动态报表两种,周期性报表一般用来打印生产 过程的操作记录和统计,它取代了操作工繁杂而枯燥的抄表工作。这类报表一 般采用定时驱动的方法,通常是时报、班报、日报、月报、年报等。其往往是 第二章d c s 组态软件的总体方案设计t 个二维表,也可以是图象形式的报表,其设计相对简单,可直接利用v c + + 中 的专门控件g r i d o c x 。而动态报表则较为复杂些,它不仅要控制某些对象的有关 数据实时显示定时刷新,而且应该能同时提供相关的一些处理功能,因此这种 动态报表的绘制难度很大,本人从面向对象编程( o o p ) 的角度,降低了程序 实现的难度。 首先将报表( t a b l e ) 看成单元格( c e l l ) 的集合,并将单元格视为一个类 ( c c e l l ) ,根据动态报表所需的特性,设计成具有以下基本特性: ( 1 ) 每个单元格的大小( 用m f c 的c s i z e 类表示) ; ( 2 ) 每个单元格的起始坐标( 用m f c 的c p o i n t ) : ( 3 ) 每个单元格的颜色( c o l o r r e f ) ; ( 4 ) 每个单元格的内容( c s t r i n g ) ; ( 5 ) 提供单元格的接口函数及相关操作的成员函数。 在此基础上,将表格定义成c t a b l e 类,它是c c e l l 类的继承类,并具有以 下几个特征: ( 1 ) 表格的大小( c s i z e 类) ; ( 2 ) 表格的行列数; ( 3 ) 表格每列的数据显示范围; ( 4 ) 表格的标题、签名等属性; ( 5 ) 其它操作函数。 这样,运用o o p 技术将其分为两个类来分析,既可并行编制以提高效率, 又可充分利用类的有关特点设计更为复杂的表格,同时将类中的数据成员函数 的实现尽量简化,使报表的实现变得简单。 五、算法控制组态 在完成数据库组态后,就可以进行控制回路的组态,用于连续过程控制、 确定输入输出回路等。本课题提出了基于w i n d o w s 的控制策略组态,设计了控 制策略模块。 六、实时数据库系统的设计 实时数据库系统的设计是组态软件设计的关键部分,亦是难点之处。实时 数据库系统的设计包括实时数据库和任务调度系统两部分。 实时数据库提供软件各部分之间信息共享的通道,承担实时数据在各个模 块之间交换的任务,其可靠性、稳定性及对数据读写的准确同步成为设计的关 键问题。本软件从软件工程的角度出发,利用w i n d o w s 共享内存的概念,将实 第二章d c s 组态软4 1 :的总体方案没计 时数据库的操作封装成类。通过封装,对实时数据库的创建、初始化、清理内 存等操作以及过程中的数据同步在类内自动完成;同时通过操作系统赋予实时 数据库进程更高的进程优先级,具有更佳的处理器时间抢占效率,体现了实时 的原则。实时数据库的设计实现是本软件的主要特色之一。 七、运行系统的设计 运行系统启动时,先从组态数据库中读入所需信息,即初始化实时数据库, 并初始化系统配信息,根据图形界面组态文件信息初始化人机界面。再通过通 信接口与下位机通信,将实时数据放入实时数据库中,以多任务的方式将实时 数据库中的实时数据送到画面显示、动态报表显示或打印等,完成工业现场的 实时监控。 本课题设计的运行系统分为三个模块:初始化模块、数据采集模块、多线 程处理模块,初始化模块的功能是:读取组态好的系统配置文件,初始化系统 硬件配置;读取组态数据库的组态变量信息创建实时数据库,实时数据库是通 信模块与图形界面显示的桥梁和纽带;读取图形界面组态文件创建图形显示画 面。 第三章实时数据库系统设计 第三章实时数据库系统设计 3 1 实时数据库系统概述 在过程控制系统中,实时数据记录各个控制点的实时信息,对实时数据进 行管理最好的方法是使用一个自带的数据库系统如果使用通用的关系数据库 系统管理实时数据,不仅效率低,数据格式和保存方式既不能完全满足关系型 数据的要求,也不能完成对实时数据的处理要求,因此,在过程控制系统中设 计实时数据库系统是十分必要的。 实时数据库系统是控制系统连接其它应用系统的桥梁在控制系统上位机 上建立实时数据库系统,通过数据库接口访问控制系统中的实时数据,设计算 法,可以实现控制系统的先进控制和优化控制利用实时数据库系统与m i s 系 统连接,可以建立生产调度系统,还可以建立企业级的c i m s 系统“。 组态软件实时数据库要求被设计成一个开放式的实时数据库系统,它应该 满足各种组态软件不同的应用需求,成为一个实时控制系统核心。组态软件实 时数据库要建立一套完成数据采集、实时数据、历史数据和统计数据存储管理 的功能模块,为用户提供接口,使用户能够对来自现场控制系统或人工键入的 数据进行分析处理,并能对控制系统进行反馈控制输出,为实现生产过程的先 进控制及优化或其他应用提供数据服务。 组态软件实时数据库不仅要完成数据管理功能,还要满足控制系统对实时 数据的处理要求。数据处理包括对现场采集到的实时数据进行输入处理、向控 制设备回送的控制数据进行输出处理、报警处理和系统事件处理等等。 根据实时控制系统的要求,实时数据库必须有高速响应性能,要求达到毫 秒级。它还必须具有充分的可靠性,保证控制系统长期地运转。 组态软件实时数据库的内核是一个高效可靠的实时数据管理系统。外部可 以对用户提供开放式的接口,用户可以自己编写应用程序,通过应用编程接1 :3 ( a h ) 访问数据库中的数据,用户还可以编写触发器应用程序( 即脚本程序) ,系统 事件触发用户编写的触发器应用程序,对事件进行处理。 组态软件的实时数据库系统应该具有高可用性,能够适合不同的控制系统。 为了满足不同的控制设备接1 :3 ,需要有一套i o 通信应用编程接口规范,能够支 持集散控制系统( o c s ) 、可编程控制器( p l c ) 、实时控制单元( r t u ) 或其他过程控 制设备的驱动程序,还应支持其它许多不同的非标准化的过程控制设备。 第三章实时数据库系统设计 组态软件的实时数据库系统结构使用c l i e n t s e r v e r 结构,这样可以更好地支 持网络功能,服务器客户应用程序可以在任何一台有组态软件的p c 上运行, 可以人工设置一台机器处于服务器或者是客户机状态。 对于组态软件的实时数据库系统来说,它的数据库是一个可组态的数据库, 通过数据点组态程序对控制系统进行组态。用点组态程序生成数据库系统中的 数据字典,由数据字典来决定实时数据库所保存的数据点的实时数据、历史数 据和统计数据以及保存要求和实时数据的各种处理要求。 组态软件的实时数据库系统的总体结构设计如图3 1 【2 2 】。 实时控制系统的现场数据通过数据采集模块进入系统,系统对输入数据进 行输入处理后保存在实时数据的管理库中。如果数据达到报警限值,系统进行 报警处理,并记录报警信息,按照用户组态要求,系统定时将实时数据保存到 管理数据库中。如果出现系统事件,系统可以自动记录系统事件,并触发用户 编写的触发器应用程序执行。用户可以利用应用编程接口编写各种应用程序访 组态软件 界面系统 用户 应用程序 数据库 o d b c 接口 数据库 w e b 服务器 实时数据库应用编程接口( a p i ) 内部通信模块 仿真数据 il历史数据li实时数据 报警处理 报 警 纪 录i o 通信接口规范 d c s l p l c i r t c li 其他控制系统 图3 - 1 实时数据库系统r t d b 总体结构 点组态程序i|用户触发器应用程序 第三章实时数据库系统设计 问实时数据库。经过用户应用程序( 例如脚本程序) 处理的数据可以通过应用 编程接口再回送到实时数据库中,进行输出处理后通过回送模块送到实时控制 系统中,实现对控制系统的现场控制。 在控制系统中,为了对一些控制算法进行测试,常常需要进行些仿真操 作。仿真操作既要模拟现场控制系统,又不能干扰现场控制系统的运行,为此, 实时数据库中包括一个仿真模块。仿真模块的结构和数据处理方式与实时数据 库完全一致,但是数据源不同。实时数据库的数据来自过程设备的数据采集, 仿真模块的数据来自仿真程序和指定的数据。仿真功能只在用户进行完界面组 态后由用户来启动,仿真功能可以与控制系统同时运行。 监控组态软件的实时数据库具备一般实时数据库的基本特征和属性,它们 是实时数据库算法设计的基础,因此很必要对实时数据库的一系列问题进行全 面的研究:数据管理;实时数据库事务处理;实时数据库事务的调度策略等, 本课题是这些理沧的指导下进行了实时数据库算法的设计。 3 2 实时数据库系统数据管理 组态软件实时数据库的主要功能是完成对控制系统的数据管理,满足控制 系统的数据处理要求,并保存控制系统所需要的所有数据。这些数据为了管理 方便可以分为三种类型:实时数据、历史数据和统计数据。实时数据库保存数 据时按类型分别加以保存。 在实时数据库中,个基本的数据对象为一个数据点,一个点由若干个参 数组成,系统以点参数为单位存放各种信息。一个点参数对应一个客观世界中 的可被测量或控制的对象。例如,某个容器的温度可以作为一个数据对象而成 为数据库中的一个点参数,被测对象由温度传感器监视,其值被周期性地采样, 并写入数据库中。 实时数据库中的数据点组态程序根据系统结构进行组态,生成数据字典, 数据字典中不仅包含控制系统现场的数据采集点,还包括各个数据点的属性。 数据点的属性有点描述、点状态、数据p v 值( 过程值) 、数据p v 值上下限、 数据p v 值死区、工程单位等多种属性。点组态时还需要决定实时数据的报警要 求和输入输出处理要求,以及历史数据和统计数据的保存要求。点的所有属性 描述了一个数据点的完整信息,这些信息都保存在数据字典中。 从控制系统采集到的是裸数据,一般都要对裸数据进行输入处理后才存入 实时数据库中。实时数据库可以带有输入处理过程,如量程转换、滤波等常用 第三章实时数据库系统设计 处理算法。在点组态时选择对各个点采用何种输入处理。实时数据库应该允许 用户访问到裸数据和经过输入处理的数据。 向控制系统输出的控制数据一般要经过输出处理后再送到现场控制点。实 时数据库系统也要有输出处理过程,如输出变化率限制、数据超限处理等处理 算法或允许用户自定义处理功能。在点组态时选择对各个回送数据点采用何种 输出处理。 从控制系统采集到的数据和向控制系统回送的控制数据一般都需要设置报 警处理。可在点组态时对数据点进行报警处理组态。报警处理组态可以设置报 警方式、报警级别和报警限值等报警属性。实时数据库运行时,当有数据点报 警时,实时数据库通过画面操作显示系统显示报警信息。并将报警信息保存到 报警日志文件中,这样可以随时检查报警汇总信息和报警历史信息,并形成报 警表单。 实时数据库保存动态变化的实时数据。为了保证数据的实时性,实时数据 库常驻内存。定时采集的实时数据动态刷新实时数据库中数据,实时数据库中 始终存放的是最新的现场数据。实时数据库定期保存到磁盘上作为备份。 实时数据库记录实时数据的历史趋势,即历史数据,根据用户对数据点的 组态,实时数据库定时将实时数据保存到历史数据库中。历史数据保存在磁盘 上,供用户访问。为了使历史数据库保存尽可能多的历史数据,历史数据中的 数据是压缩保存的。保存在数据库中的历史数据带有时间标记,历史数据仅当 产生变化时才进行保存。在控制系统稳态运行的情况下,历史数据可压缩若干 倍。为了避免历史数据频繁地写磁盘,在内存设计了一个数据缓冲区。历史数 据首先写入缓冲区,缓冲区满了以后再一次写入磁盘中的历史数据库。 根据用户对点的组态,实时数据库自动对需要进行统计的点p v 值进行统计 运算。在实时数据库中,对数据点p v 值可进行累计值、平均值、最大值、最小 值等统计运算。统计运算按时间段分为时统计、班统计、日统计、月统计和年 统计。 为了系统安全性能,为了防止人为修改数据造成运行错误,在本组态软件 中,我们将用户分为普通客户、操作员、工程师和系统管理员四个级别。用户 级别决定了用户访问实时数据库中数据的权限。普通客户只有读数据的权限, 而不能对系统进行操作,操作员可以对生产中需要人为干预的数据具有写操作 权限,并对应用系统具有自己相应的管理权限,工程师可以对已经组态的生产 系统界面进行数据修改、组态等操作权限,但是不能对组态软件进行结构变更、 第三章实时数据库系统没计 以及对组态软件本身进行操作,他只能操作和生产相关的所有内容,而系统管 理员可以有所有权限,可以对系统进行修改维护,例如修改数据的读写权限, 类似于u n i x 操作系统的超级管理员。实时数据库中每个数据点都可以对读操 作和写操作分别定义访问权限。数据点还可以定义事件记录,记录是哪个用户 访问了这个数据点的数据。 3 3 实时数据库系统事务处理。” 3 3 1 实时事务模型 一、系统模型 与传统数据库系统相类似,实时数据库系统的操作也是以事务的形式出现。 事务就是包含在b e g i n c o m m i t a b o r t 之间的操作序列。系统以事务为单位 分配c p u 、数据等资源,进行优先级的分配、调度处理等。 实时数据库系统中的事务与传统事务有很大的不同,其事务可以有定时限 制( 典型的为截止期) ,系统追求的目标不是系统的吞吐量,而是单个事务定 时限制的满足,以使满足定时限制的事务比率最大;传统事务的原子性、一致 性、隔离性及永久性在实时环境下变得太严格或不可能;要求采用”识时”机制 来处理事务的调度或并发控制,而不是传统的先来先服务方式。 二、结构模型 传统数据库中事务就是一个平坦的操作序列,事务的执行要么顺利执行到 提交,要么夭折而不在系统的任何部分留有痕迹。在实时应用环境下则不同: 应用语义有时显式地要求结构上的一个事务为另一个事务的予事务。例 如,在c a d 工程中,一个工程事务划分成若干个设计事务,而每一设计事务又 可分成若干个子任务而分配给各设计者。 + 实时应用中被触发的活动依应用要求可以是触发它的事务的子事务。在 过程控制、自动化等领域这种情形很普遍。 + 在分布式应用环境中,一个事务可能要分出若干在不同节点上执行的代 理事务,它们分工合作且都作为原事务的子事务。 所以,实时应用要求系统提供事务嵌套机制。包含其他事务的事务称为”父 事务”,被包含的事务称为”子事务“,没有父事务的事务为”根事务”。事务之 间可以形成嵌套关系。 第三章实时数据库系统殴计 3 3 2 实时事务的特征 一、定时性 实时应用中事务的定时性来源于两方面:一是外部环境显式给出的反应时 间要求,如截止期等:二是由于系统中的数据随时问变化而转嫁来的。 定时性包括了两方面的含义: 定时限制事务的执行具有显式的时限,如期限、截止时间等。这是由于控 制系统要随时紧紧地跟踪被控系统而引起的,它要求r t d b 必须有时间处理机 构。时限还可有软硬之分。 定时正确性事务能按合适的时间要求正确执行。这是由于要求数据对于控 制系统的各种决策活动随时有效而引起的,它要求权衡定时限制与数据一致性 等多方面因素,提供合适的调度算法。 实时事务有不同的定时限制,其中最重要的有: 截止时间一实时事务完成的最后期限。它可以有硬、软之分,具有硬截止 时间的事务( 称为硬实时事务) ,必须在其截止时间以前完成,否则将带来灾 难性的后果,故到达其截止时间还不能完成的硬实时事务必须夭折。具有软截 止时间的事务( 称为软实时事务) ,应该在其截止期完成,但超过其截止时间 也还有一定意义( 尽管不断下降) ,故软实时事务到达其截止时间后不必立即 夭折它。 到达时间一事务在系统中生成的时间。它可以是可预报的,也可以是不可 预报的。可预报的到达时间可显式地给出或者作为一个导出函数,如周期事务 的到达时间是可预报的。不可预报的到达时间是指当相应事务到达系统时才能 知道,非周期事务的到达时间就是不可预报的。 期望执行时问估算的最坏情况执行时间。由于各种不可预报性因素,它 很难做到准确,估算的最坏情况执行时间可能与实际情况相差很大。然而,为 了合理地得到事务的截止时间及适当地调度以使其满足,又必须事先较准确地 估算其执行时间。 二、语义相关性 实时数据库事务之间存在着各种关系,包括结构关系、数据与通信关系、 时间关系等,这些关系带来了事务间的各种相关性。 1 结构相关 第三章实时数据库系统设计 它来自于复杂事务模型的结构特征,是用来建模复杂事务内部并发事务行 为的一种约束。不同的复杂事务模型有不同的结构相关性,但它们可以通过事 务问的”执行依赖性”来定义,实时嵌套事务中基本的事务依赖有: + 子事务对父事务的开始依赖( b d ) :子事务开始前父事务已经j r 始; t 父事务对子事务的提交依赖( c d ) :父事务提交前子事务已经结束( 提交 或夭折) ; + 子事务对父事务的天折依赖( a d ) :父事务夭折则子事务一定天折。 2 数据相关 数据相关就是不同事务间的共享数据联系,但此”共享”概念比传统的具有 更广的意义:实时嵌套事务中的子事务共享父事务数据,予事务提交时其对数 据库的更改委托给父事务,只有父事务提交时才能真正地写入数据库。 3 功能替代结果补偿 一个实时应用常常由若干任务组成,而一个任务有时可以通过不同途径来 实现。一个应用建模为一个事务,一个任务则建模为一组功能等价的子事务, 称为该任务的替代集。若一个任务的替代集中的子事务之一能成功执行,则该 任务是可完成的。若对应个事务的所有任务可完成,则该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论