




已阅读5页,还剩56页未读, 继续免费阅读
(计算机应用技术专业论文)监控组态软件实时数据库系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
l鼍,、掌 一k-一。 、 l v ,i l 管 声明尸明 本人郑重声明:此处所提交的硕士学位论文监控组态软件实时数据库系统的设计 与实现,是本人在华北电力大学攻读硕士学位期问,在导师指导下进行的研究工作和 取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名: 兰童墼熊:日期:型芝! 圭:兰i 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 盈蜜篷。 日 期:型如:生 导师签名: 日期:麓彤 旦丛彤 j - 1 一 一 譬 - 华北电力人学硕士学位论文摘要 摘要 随着生产技术的发展和生产过程的同益复杂,为确保生产装置安全、高效地运 行,开发一套适合于生产过程的实时监控组态软件系统越来越重要。本文在对监控 组态软件的技术、特性以及框架结构等内容进行分析研究的基础上,设计开发了其 核心模块实时数据库系统。首先设计了实时数据库的体系结构,在对其功能进行分 析研究的基础上,设计了其相关的功能模块。然后采用v c + + 6 0 对实时数据库系统 进行了编程实现。最后,对实时数据库的数据压缩模块中的数据压缩算法的实现进 行了详细设计,并对该压缩方案的模块进行了性能测试,实验证明该算法的压缩率 明显提高。 关键词:监控组态,实时数据库,数据压缩,算法 a b s t r a c t w i t ht h ed e v e l o p m e n to fp r o d u c t i o nt e c h n o l o g ya n di n c r e a s i n gc o m p l e x i t yo ft h e p r o d u c t i o np r o c e s s ,i no r d e rt oe n s u r et h ep r o d u c t i o no f as a f e t ya n de f f i c i e n to p e r a t i o n , i ti sm o r ea n dm o r ei m p o r t a n tt od e v e l o pt h er e a l - t i m em o n i t o r i n gc o n f i g u r a t i o n s o f t w a r es y s t e mt h a ti ss u i t a b l ef o rp r o d u c t i o np r o c e s s i nt h i sp a p e r t h er e a l t i m e d a t a b a s es y s t e mw a sd e s i g n e da n dd e v e l o p e d ,w h i c hi sb a s e do nt h ea n a l y s i so ft h e m o n i t o r i n gc o n f i g u r a t i o ns o f t w a r et e c h n o l o g y , f e a t u r e sa n df r a m es t r u c t u r ec o n t e n t f i r s t ,t h er e a l t i m ed a t a b a s ea r c h i t e c t u r eh a sb e e nd e s i g n e d ,a n di t sa s s o c i a t e df u n c t i o n m o d u l e sb a sb e e nd e s i g n e db a s e do nr e s e a r c ha n da n a l y s i si t sf u n c t i o n t h e n ,a d o p t st h e v c + + 6 0t or e a l i z et h er e a l t i m ed a t a b a s es y s t e m t h e n ,t h er e a l i z a t i o no fd a t a c o m p r e s s i o na l g o r i t h mo fd a t ac o m p r e s s i o nm o d u l ei nr e a l t i m ed a t a b a s eh a sb e e n d e s i g n e d f i n a l l y , t h ep e r f o r m a n c eo ft h ec o m p r e s s i o nm o d u l e sh a sb e e nt e s t e d ,a n dt h e e x p e r i m e n th a sp r o v e nt h a tt h ec o m p r e s s i o nr a t i oo ft h ea l g o r i t h mh a sb e e ni m p r o v e d r e nb a o q i a n g ( c o m p u t e ra p p l i e dt e c h n o l o g y ) d i r e c t e db yp r o f z h e nc h e n g g a n g k e yw o r d s :m o n i t o r i n gc 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 ,d a t a c o m p r e s s i o n , a l g o r i t h m wf。事 j 、。 一 譬 , 华北电力大学硕士学位论文目录 目录 中文摘要 英文摘要 第一章引言1 1 1 课题的研究背景1 1 2 国内外的研究现状2 1 3 本课题的研究意义3 1 4 论文组织3 第二章组态软件的总体设计5 2 1 组态软件的设计思想5 2 2 开发工具及操作平台选择5 2 3 监控组态软件的特性及发展趋势6 2 3 1 组态软件的特性6 2 3 2 组态软件的技术发展趋势6 2 4 监控组态软件的总体框架设计7 2 5 本章小结1 0 第三章实时数据库系统的设计1 1 3 1 实时数据库的体系结构设计1 1 3 1 1 实时数据库系统的体系结构设计原则1 1 3 1 - 2 实时数据库体系结构设计要点1 1 3 1 3 实时数据库体系结构1 2 3 2 实时数据库的功能分析1 3 3 3 数据采集模块的设计1 4 3 3 1 数据采集包的分包处理1 4 3 3 2 多线程的实时数据采集实现1 6 3 4 报警模块的设计1 7 3 4 1 报警与事件处理子系统层次划分1 8 3 4 2 报警与事件处理总体架构1 8 3 4 3 报警事件信息属性1 9 3 4 4 报警信息查询2 l 3 4 5 报警与事件处理服务器接口设计2 1 3 4 5 1 报警与事件收集接口2 l 3 4 5 2 报警与事件查询接口2 2 华北电力大学硕士学位论文目录 3 4 5 3 实时数据库内核模块调用接口2 2 3 5 历史数据的存储模块设计2 3 3 6 数据压缩模块的设计j 2 4 3 6 1 数据压缩的必要性2 5 3 6 2 数据压缩与解压的体系结构2 5 3 7 本章小结2 9 第四章基于v c + + 的实时数据库系统的实现3 0 4 i 实时数据库的建立方式策略3 0 4 2 实时数据库系统的事务调度分析3 1 4 3 实时数据库类的设计3 l 4 4 实时数据库的数据对象模型3 4 4 5 实时数据库系统接口的实现3 6 4 5 1 实时数据库与一般模块的接口3 6 4 5 2 实时数据库与历史数据库接口3 6 4 6 本章小结3 7 第五章数据压缩模块数据压缩算法的实现3 8 5 1 通用压缩算法的性能分析3 8 5 2 数据压缩算法的整体设计方案3 9 5 3 数据压缩算法的实现4 0 5 3 1 数据压缩模块的总体设计框架4 0 5 3 2 数据压缩算法的实现4 2 5 3 2 1 时间标签的压缩4 2 5 3 2 2 质量码的压缩4 2 5 3 2 3 开关量的数值的压缩4 3 5 3 2 4 百分量的压缩4 3 5 3 2 5 浮点值和累积量的数值的压缩4 5 5 4 数据压缩模块的整体测试4 5 5 5 本章小结4 6 第六章结论:4 7 6 1 本文得出的结论4 7 6 2 进一步的工作4 8 参考文献4 9 致谢5 2 在学期间发表的学术论文和参加科研情况5 3 华北电力大学硕士学位论文 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 c s 厂商在d c s 中都预装了系统软件和应 用软件,其中的应用软件实际上就是组态软件,但一直没有人给出明确的定义,只 是将使用这种应用软件设计生成目标应用系统的过程称为“组态( c o n f i g u r e ) ”n 1 。 组态软件最早出现时主要解决人机图形界面问题。随着它的快速发展,实时数 据库、实时控制、监控与数据采集、通信及联网、开放数据接口、对i o 设备的支 持已经成为它的主要内容心1 。可以在系统中配置需要监控的对象,能够通过界面系 统实时反映各个被监控对象的状态。然而,在软件中需要配置的现场对象复杂多样, 与对象的数据交互方式也千差万别,而且数量巨大,这就需要在监控组态软件中有 一个实时数据库作为整个系统数据处理、数据组织和管理的核心。 目前,市场上流行的大多数组态软件从严格意义上讲,没有显式的独立的实时 数据库,只在图形开发环境中增加了简单的数据管理功能,更确切的说是数据字典 的功能,因缺少实时数据库的一些基本特征,还不能称之为实时数据库,很难保证 实时性。有一些较先进的组态软件均具备独立的实时数据库组件,以提高系统的实 时性,增强处理能力,但是由于商业上的原因,实时数据库作为组态软件的核心技 术是保密的,没有公开。 此外,虽然组态软件实时数据库系统主流的产品一般都提供了历史数据存储功 能,能较长时问地保存、备份现场的过程数据。但由于控制现场的采集点多,采集 时间周期短,因而要保存的历史数据量非常大。如果将这些数据直接存储,不仅会 占用大量的系统存储空间,而且会降低数据库的实时性,使数据的传输、查询变得 困难。因此,采用先进的数据库压缩技术,不仅节省磁盘开销,同时保证对历史数 据访问的快捷性。 因此,开发研制适合监控组态软件特点的实时数据库系统意义重大。 华北电力大学硕+ 学位论文 1 2 国内外的研究现状 2 0 世纪7 0 年代中期,随着微处理器的出现,诞生了第一代d c s 。到目前,d c s 和其他控制设备在全球范围内得到了广泛应用。然而,大部分d c s 厂家的组态软件 仍是专用的( 即与硬件相关的) ,不可相互替代。现在,国内已出现了多家独立软件 商,专门从事工业控制组态软件的开发。他们都在设法提供不同厂家、不同设备的 对应i o 驱动模块,是组态软件越来越来趋于通用1 。 从2 0 世纪8 0 年代末开始,由于个人计算机的普及,国内开始有人研究如何利 用p c 进行工业监控,同时开始出现基于p c 总线的a d ,d a 、计数器等各类i o 板卡。应该说,国内组态软件的研究起步是不晚的。当时有人在m s - d o s 的基础上 用汇编语言或c 语言编制带后台处理能力的组态软件,有实力的研究机构则在实时 多任务操作系统i r m x 8 6 上做文章,但均未形成竞争力的产品。随着m s - d o s 和i r m x 8 6 用户数量的萎缩和微软公司w i n d o w s 操作系统的普及,基于p c 的组态软件才迎来 了发展机遇。2 0 世纪8 0 年代末美国的w o n d e r w a r e 公司率先推出第一个商品化的组 态软件i n t o u c h 。i n t e l l u t i o n 公司的f i x 软件在国内也有很大的市场。此后,组 态软件在全球得到了蓬勃的发展h 1 。 目前,多数组态软件都是在w i n d o w s 操作系统下逐渐成熟起来的,国内少数组 态软件可以在0 s 2 或u n i x 环境下运行,绝大多数组态软件都运行在 w i n d o w s 9 8 n t 2 0 0 0 x p 环境下。较理想的运行环境是w i n d o w sn t 或w i n d o w s2 0 0 0 操作系统,因为这两种操作系统的内核是原来的v m s 变种,可靠性和实时性都好于 w i n d o w s 9 8 。 从近几年的调查结果来看,组态软件市场的大部分份额仍被国外几家组态软件 占据,如美国的w o n d e r w a r e 公司的i n t o u c h 、美国i n t e l l u t i o n 公司的f i x 等。而 这些国外的组态软件除了在功能完备性、产品包装、市场推广等方面具有一定优势 外,并非所有方面尽善尽美。下面列举并介绍一些有代表性的国外组态软件嘲。 ( 1 ) 美国w o n d e r w a r e 公司的i n t o u c h 。该软件的最大特点是i o 点数和最大画 面数不受限制。i n t o u c h 作为一个实时的人机界面程序的生成器,可以生成管理级 别上的监控和数据采集程序,依靠菜单驱动在多种w i n d o w s 环境下运行,它主要由 w i n d o w s m a k e r ( 痤用开发环境) 和w i n d o w sv i e w e r ( 实时运行环境) 两大部分组成。 ( 2 ) 美国i n t e l l u t i o n 公司的f i x 。f i x 功能较i n t o u c h 强,但是实时性仍欠缺, 总体技术一般。其i o 硬件驱动丰富但同样需要单独购买,最新推出的i f i x 是全 新模式的组态软件,体系结构较新,提供较为完整的功能。但是该软件对系统资源 耗费巨大,运行缓慢,提供大而全的功能对中国用户来说并不适用,而且经常受 2 华北电力大学硕士学位论文 w i n d o w s 操作系统影响而导致不稳定。 ( 3 ) 澳大利亚c i t 公司的c i t e c h 。c i t e c h 是组态软件中的后起之秀,在世界范 围内推广得很快。c i t e c h 的界面美观,但是方便性和图形功能不如i n t o u c h ,且版 本升级比较慢,一直没有很大的体系改变。i o 驱动虽然免费提供,但是相对较少。 国产的组态软件产品逐渐被市场接受,应用比较成功的有组态王、力控、开物 等。组态王是国内第一家较有影响的组态开发公司。它提供了脚本语言的支持,c o m 技术的支持,o p c 技术的支持,另外也提供了大量的驱动程序1 。力控也是国内较 早出现的组态软件,在体系结构设计上较为先进,真正意义上实现了分布式实时数 据库的三层结构口1 。 1 3 本课题的研究意义 目前,国内大中小型企业为提高产量和生产效率,增强企业运行安全系数,普 遍开始利用计算机进行工业自动化生产的技术改造。通过微机对现场的生产情况进 行监视控制,可以达到减轻工作量,提高劳动生产率和安全可靠性的目的,这已经 成为企业界管理人员和自动化领域技术人员的共识。组态软件将会在其中扮演越来 越重要的角色。 当前,国外组态软件占据着市场的大部分份额,除了国外专业软件厂商提供的 产品如i n t o u c h ,f i x 等以外,国外一些著名的硬件或系统厂商也陆续推出了“开 放式”组态软件,再配上硬件产品,具有很强的市场竞争力。但国外组态软件也存 在一些问题:价格太高,成套系统价格一般在几十万到几百万之间,由于其价格昂 贵,许多中小企业根本无法拿出足够的资金加以引进。不得已采用半自动甚至手动 控制,很难在市场竞争中立足。在此情况下,研究开发我们自己的集散控制系统的 需求越来越迫切。国产化的组态软件具有较强的价格竞争优势,但总的来讲,由于 资料来源缺乏,软件工程的组织薄弱,因此软件商品化的程度还比较差。其开放性、 集成性、网络功能、可靠性都有一定的局限性,只能使用于一些非重要性的项目应 用中。鉴于此,开发一套面向中小型企业的单机版工控组态软件,吸收国外同类产 品的最新发展的先进技术、具有自身特色的组态软件,将具有广阔的市场前景和很 好的经济价值。本文是研究课题监控组态软件实时数据库系统的设计与实现中 的实时数据库系统的设计及实现。优化了实时数据库的功能,同时,本文在实时数 据库中的数据压缩也作了研究。 1 4 论文组织 本文在大量研究相关文献的基础上,结合实际工程项目的实践经验,对在监控 组态软件运行平台的软件架构以及一些关键技术做了深入的研究,并给出了部分具 3u 华北电力大学硕士学位论文 体实现,论文的工作主要集中在以下三个方面: ( 1 ) 组态软件的整体框架设计 通过研究几个比较著名的国内外组态软件产品,如国外的i n t o u c h ,f i x ,以及 国内的组态王等,并查阅大量的有关监控软件学术论文,确定该软件的人机界面和 各系统模块的设计方法,在对组态软件特性及技术发展趋势的基础上,制定该软件 的整体框架设计思路。 ( 2 ) 实时数据库系统的设计与实现 实时数据库系统是组态软件设计的核心部分,也是软件设计的难点部分。首先 通过对实时数据库系统的设计原则和设计要点进行分析的基础上,设计了实时数据 库系统的体系结构。然后分析了实时数据库的功能,并对其数据采集模块、报警模 块、历史数据存储模块、数据压缩模块进行了研究与设计,采用关系性数据库和文 件管理系统及内存数据库实现对不同访问要求的数据的存储和管理,既保证了数据 的共享性、独立性、安全性、完整性,又节约了内存,保证了系统的响应速度。最 后,基于v c + + 对实时数据库系统的进行了相关的编程实现,以及通过制定实时数据 库系统和其他各模块的标准接口,实现与其他各模块的数据通讯。 ( 3 ) 实时数据库中数据的压缩 数据压缩是实时数据库设计的一部分,大量的数据压缩后节省了大量的磁盘空 间,针对数据的特点设计了压缩方案及压缩算法的实现。 论文的结构如下: 第一章简述了监控组态软件现状以及发展趋势,阐明了本论文研究的应用背 景,以及论文组织结构。 第二章主要介绍了组态软件的设计思想、开发工具以及操作平台的选择,分 析了组态软件的特性和技术发展趋势。从需求分析出发,阐述了一般组态软件应该 具有的功能。利用面向对象的思想设计了组态软件的总体结构。 第三章阐述了监控组态软件的实时数据库体系结构的设计,分析了实时数据 库的主要功能及数据类型,并对数据采集模块、报警模块、历史数据存储模块、数 据压缩模块进行了研究设计。 第四章基于v c + + 6 o 对实时数据库系统进行了相关的编程实现,如数据对象进行 建模,数据库的建立方式及事务调度,优化了数据库相关的类设计及接口机制的实现。 第五章阐述了数据压缩的流程及原理方法等,并进行了相关的测试验证。 第六章结论及进一步的工作。 4 毒 l v 华北电力大学硕士学位论文 第二章组态软件的总体设计 组态软件系统的总体设计是整个系统得以实现的最重要的环节之一。系统设计 的可行性,准确性、先进性是系统最终功能和性能的决定性因素,并直接影响系统 的可靠性、实时性和可扩展性。与其他软件设计方法相似,在确定系统总体结构之 前,首先需要了解组态软件的设计思想,确定系统的特点和数据流程,然后设计系 统的总体结构,并确定采用的关键技术。 2 1 组态软件的设计思想 组态软件的设计思想是面向对象( o b j e c t o r i e n t e d ) 的思想,它模拟控制工程 师们在进行过程控制时的思路,围绕被控对象及控制系统的要求构造“对象,从 而生成适用于不同应用系统的用户程序。组态软件的原理是将系统软件的基本部分 和工具固定,而与应用有关的部分变成数据文件,这些数据文件由组态工具在屏幕 上编辑而成。组态软件具有通用性强、灵活性好和良好的在线性等特点,其画面丰 富,操作简单,集多功能为一体。 2 2 开发工具及操作平台选择 目前,组态软件的开发工具主要以c + + 为主,也有少数的开发商使用c + + b u i l d e r 或者d e l p h i 。v i s u a lc + + 6 0 能够成为当今最流行的软件开发工具之一, 与其卓越的性能分不开。它的主要优势体现在以下方面: ( 1 ) 使用c + + 编程的源代码较短,运行速度快,运行效率更高。 ( 2 ) v i s u a lc + + 6 0 开发环境十分友好,其高度的可视化开发方式和强大的向导 工具能够帮助用户轻松地开发出多种类型的应用程序。 ( 3 ) 使用m i c r o s o f t 发行的编程工具能够提供与w i n d o w s 操作系统的最大兼容 性。 ( 4 ) 微软自己开发的编程工具是v i s u a lc + + ,不仅能够提供强大的图形支持, 而目能够使应用程序与硬件相互独立。 ( 5 ) m f c 类库和w i n d o w sa p i 为实现应用程序功能提供了强大的功能支持。可以 设想,w i n d o w s 这样的强大的操作系统都是在此基础上建立的,那么只要对m f c 类 库和w i n d o w sa p i 有深入的了解,实现复杂的高性能的程序也不会太困难。 ( 6 ) v i s u a lc + + 6 0 中为用户提供了许多工具和控件如a c t i v e x 控件等,直接利 用封装好的控件能够帮助用户提高编程效率。 5 华北电力大学硕士学位论文 组态软件最理想的运行平台是w i n d o w sn t ,w i n d o w s2 0 0 0 或w i n d o w sx p 操作 系统,这些操作系统的稳定性、实时性、多任务特性较好,而且其上软件资源丰富, 支持的i o 设备数量繁多,图形界面标准。u n i x l i n u x 在稳定性、实时性、多任务 特性和联网功能很好,只是在其它方面较微软的窗口系统逊色。 经过综合的比较,本课题采用v i s u a lc + + 6 0 作为组态软件的开发工具,同时 针对组态软件最突出的特点实时多任务选用了以w i n d o w sx p 系统为设计平台。 2 3 监控组态软件的特性及发展趋势 2 3 1 组态软件的特性 监控组态软件作为用户可定制功能的软件平台工具,面对的是自动化领域的工 程应用,它与其他的软件系统相比具有以下几个特点: 1 实时多任务 组态软件最突出的特点是实时多任务。数据采集与输出、数据处理与算法实现、 图形显示及人机对话、实时数据的存储、检索管理、实时通信等多个任务要在同一 台计算机上同时运行。 实时性是指计算机控制系统应该能够在限定的时间内对外来事件作出反应。这 里所说的实时性是相对的,一般限定时间主要考虑两个要素:根据工业生产过程 出现的事件能够保持多长的时间;该事件要求计算机在多长的时间内必须做出反 应。因此,监控组态软件具有时间驱动能力和事件驱动能力,即在按一定的时间周 期对所有事件进行巡检扫描的同时,可以随时响应事件的中断请求。实时性一般要 求计算机具有多任务处理能力,以便将测控任务分解成若干并行执行的多个任务, 提高系统运行的效率呻9 l 。 2 高可靠性和安全性 组态软件大多运行在工业现场,而且需要长时间连续运行。所以要求在计算机 和数据采集控制设备正常工作的情况下,组态软件系统能够连续不问断的安全可靠 的工作并兼具故障诊断和故障恢复功能。 3 标准化和开放性 目前尚没有一个明确的国际、国内标准来规范整个组态软件,但在设计、开发 组态软件时,往往使它的某些组件的功能或对外的接口符合当前某些标准或规范, 这样组态软件才具有更好的开放性和适应性。 2 3 2 组态软件的技术发展趋势 6 童 - 叮 华北电力大学硕士学位论文 监控组态软件未来的主要发展趋势主要有以下几个方面: ( 1 ) 开放化 开放性是未来软件的发展趋势,采用o l e 、o d b c 、s q l 、o p c 、a c t i v e x 、v b a 、 c o m d c o m 等统一的接口标准,实现系统的开放性。开放性有利于提高软件的互换性、 可移植性、通用性n 0 1 。 ( 2 ) 网络化 i n t e r n e t 的到来,正在逐渐地改变着我们的生活和商业规则,基于 i n t e r n e t i n t r a n 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 n e t 使管控一体化系统更接近客户,更 接近应用,更有利于网络的进一步扩展,是当今信息系统发展趋势的主流n 玎n 引。 ( 3 ) 小型化 根据各领域不同用户的需要,除了进一步完善大型化分散控制系统以外,大多 数制造厂集中精力、增加投入改进小型化分散控制系统,以满足日趋发展的中、小 型连续或间歇式操作控制的要求。 ( 4 ) 组件化 组件化的软件设计思想有利于系统集成,各组件对象时刻单独运行的应用程序 组件化可让用户自由选择所需的组件对象,无需购买整个软件系统,降低了成本, 同时允许用户将第三方应用程序加入到系统中,极大地提高了软件的灵活性n 朝。 ( 5 ) 通讯接口o p c 化n 4 1 实现上位机软件与下位机的通信,硬件开发商提供通过提供带有o p c 接口的服 务器软件,使得任何客户程序( 带o p c 接口) 访问服务器软件。 因而,我们可得出今后组态软件的发展趋势:开放性、可扩展性、网络化、管 理日益集中、控制日益分散。多种技术的发展为控制软件向高通用性、高层管控一 体化、高可靠性提供了更为有效的手段。 2 4 监控组态软件的总体框架设计 本论文中,通过对众多组态软件的结构进行详细的分析,把组态软件划分为下 7 华北电力大学硕士学位论文 列五个部分:图形组态系统、实时数据库系统、i o 设备驱动,通信组件及第三方 程序接口组件和应用程序管理器。其结构图如图2 - 1 所示,其中每一部分都可以进 行独立开发,下面将分别讨论每一部分的结构。 图2 - 1 监控组态软件的结构 在图中可以看出,实时数据库是组态软件的核心和引擎,历史数据的存储与检 索、报警处理与存储、数据的运算处理、数据库冗余控制、i o 数据连接都是由实 时数据库系统完成的。图形界面系统、i 0 驱动程序等组件以实时数据库为核心, 通过高效的内部协议相互通信,共享数据。 ( 1 ) 图形组态系统 在图形组态的画面生成方面,构成现场各过程图形的画面被划分为三类简单的 对象:线、填充图形和文本。每个简单的对象均有影响其外观的属性。对象的基本 属性有:线的颜色、填充颜色、高度、宽度、位置移动等,这些属性可以是静态的, 也可以是动态的。静态属性在系统投入运行后保持不变,与原来组态时一致;而动 态属性则与表达式的值有关,表达式可以是来自i o 设备的变量,也可以是由变量 和运算符组成的数学表达式,这种对象的动态属性随表达式值的变化而实时改变。 这个组态的过程通常叫动画连接n 础n 引。 在图形组态上还具备报警通知及确认、报表组态及打印、历史数据查询与显示 等功能。各种报警、报表、趋势都是动画连接的对象,其数据源都可以通过组态来 8 华北电力大学硕七学位论文 指定。这样每个画面的内容就可以根据实际情况由工程技术人员灵活设计,每幅画 面中的对象数量均不受限制。 在图形组态中,各类组态软件普遍提供了脚本语言来扩充其功能。用脚本语言 编写的程序段可由事件驱动或周期性地进行,是与对象密切相关的。 ( 2 ) 实时数据库系统 实时数据库系统是监控组态软件系统的核心,也是设计的难点部分。实时数据 库设计的好坏直接影响到组态软件设计的成败。实时数据库及其调度系统是工控组 态软件的关键部分,实时数据库保存系统运行时产生的动态数据和系统正常运行所 需的各种内部信息,调度系统是事务调度中心,完成数据采集事务、图形显示事务、 存盘事务、报警事务、事故处理事务等各种功能。实时数据库系统( r t d b s ) 就是其 事务和数据都可以有定时特性或显式的定时限制的数据库系统。 ( 3 ) i o 设备驱动 i o 设备驱动程序是组态软件中必不可少的部分,用于和i o 设备通信,互相 交换数据。它是实时数据库与现场设备的中间层,它为系统提供设备的信息和实时 访问设备的基本方法( 实际应该是对设备访问协议的封装) 。 为了实现监控组态软件对设备的有效管理,有必要把设备抽象出来,成为包含 设备的信息与对设备的操作方法相对独立的系统单元,提高其可配置性,降低抽象 设备与整个系统的祸合度,使得其作为监控组态软件系统可装卸的部分,为系统提 供数据服务。从监控组态软件端看来,i o 层应该是透明的,只需要设定数据采集 点与设备的配置信息,而无需涉及设备数据采集的细节以及对设备具体的操作步 骤。在监控组态软件中,必须实现设备的管理模块,才可以实现逻辑设备的挂载和 管理n7 1 。 ( 4 ) 通信组件及第三方程序接口组件 通信及第三方程序接口组件是开放系统的标志,是组态软件与第三方程序交互 及实现远程数据访问的重要手段之一。它有以下3 个主要作用n 8 。: 用于双机冗余系统中,主机与从机间的通信; 用于构建分布式h m i s c a d a 应用时多机间的通信; 在基于i n t e r n e t 或b r o w s e r s e r v e r ( b s ) 应用中实现通信功能。 通信组件中有的功能是一个独立的程序,可以单独使用;有的被“绑定 在其 程序当中,不被“显式 地使用。 ( 5 ) 应用程序管理器 9 华北电力大学硕士学位论文 应用程序管理器是提供应用程序的搜索、备份、解压缩、建立新的应用等功能 用管理工具。 本章小结 本章首先论述了组态软件的设计思想,开发工具及操作平台的选择,基于面向 开发的思想,选择了v c + + 6 0 为开发工具,以w i n d o w sx p 为操作平台。然后 分析了组态软件的特性及技术发展趋势,对组态软件的总体结构做了详细的分 总体框架的设计。在本论文中,由于完成监控组态软件的全部功能需要的工作 分庞大,作者在此主要针对组态软件实时数据库系统相关的模块进行了开发, 细论述了实时数据库系统的数据压缩模块压缩算法的实现,大大提高了数据的 效率和访问速度。 1 0 华北电力大学硕士学位论文 第三章实时数据库系统的设计 实时数据库r t d b ( r e a l - t i m ed a t a b a s e ) 是监控组态软件的核心。实时数据库常 常在动态环境下使用,用来监控现实世界对象的状态和发现所关注事件的发生。实 时数据库及时准确地获取现场数据是整个系统正常工作的基本前提。由于实时数据 库核心问题在于事务处理既要确保数据的一致性,又要保证事务的正确性,而它们 都与定时限制相关联,因此实时数据库系统结构的规划和系统处理具体的实现方法 是设计组态软件的核心。实时数据库构建的合理性直接影响到整个系统的性能。因 此,为了能够设计出合理高效的实时数据库系统,首先要了解组态软件实时数据库 的体系结构及基本功能,然后针对实时数据库的主要功能进行相关模块的设计。 3 1 实时数据库的体系结构设计 3 1 1 实时数据库系统的体系结构设计原则 在流程工业大型实时为数据库系统的体系结构设计中,需要参考如下的设计原 理19 1 : ( 1 ) 模块化,将整个实时数据库系统按照一定的规则,分解成子系统和部件; ( 2 ) 充分性、完备性和原始性,例如接口功能的完备性,数据服务种类的充分 性、完备性等; ( 3 ) 策略和实现分离,采用相关的设计模式,实现策略和实现分离; ( 4 ) 接口和实现相分离; ( 5 ) 注意功能上的层次化; ( 6 ) 可变性可维护性; ( 7 ) 互操作性。为了提高互操作性,实时数据库系统需要设计成对外能够提供 良好的外部可见、可访问的功能和数据结构的部件; ( 8 ) 效率; ( 9 ) 可重用性。 3 1 2 实时数据库体系结构设计要点 软件体系结构设计是对软件整体格局的描述,它在整个系统的设计实现中起着 框架性的作用。一个良好的系统结构对提高软件的质量、减少开发成本、提高执行 效率以及可以维护性都具有举足轻重的作用。在实时数据体系结构设计过程中需要 11 华北电力大学硕士学位论文 突出的注意以下两点。 1 高效可靠微内核设计 考虑到先进控制软件及其他应用软件对实时数据库稳定性的高度依赖,因而在 进行系统架构时应首先保证整个系统的运行稳定可靠。为此在设计时采用了模块化 的设计思想,把实时数据库的各个核心业务( 如系统组态、数据采集、数据存储、 报警与事件处理等) 独立出来,形成单独的模块。同时依据微内核的设计思想,内 核越小,功能越简单,则系统也稳定。故在内核设计时对核心业务进行简单化, 只实现必需的功能,不考虑可选的功能。同时尽可能地减少各个核心业务间的耦合 性,以提高系统的鲁棒性。 2 基于c s 的多层分布式体系结构 多层的c s ,b s 结构是传统的c s 结构的发展。三层c s 结构分为三个部分: 客户、应用服务器和数据库服务器。客户通常实现用户界面,它提供了一个可视化 接口,用来显示信息和收集数据,它只与应用服务器打交道。应用服务器通常实现 应用逻辑,是连接客户与数据服务器的桥梁。它响应用户发过来的请求执行某种业 务任务,并与数据服务器打交道。在实际应用过程中,该层的组件通常可以分为两 个以上的层次,因此这种结构也被称为多层次结构,数据库服务器通常实现数据的 定义、维护、访问、更新以及管理,并响应应用服务器的数据请求。它的物理实现 可以在某一种数据管理系统中,也可以是多个异种数据库的集合,这种数据库可以 驻留在多种平台上乜门口羽。 在三层或n 层c s 结构中,中间件是最重要的部件,所谓中间件是一个用a p i 定义的软件层,是具有强大通信能力和良好可扩展的分布式软件管理框架。它的功 能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器 群之间的通信。和两层c s 结构相比,三层c s 结构具有更灵活的硬件系统构成, 对于各层可以选择与其处理负荷和处理特性相适应的硬件。合理地分割三层结构并 使其独立,可以使系统的结构变得简单清晰,这样就提高了程序的可维护性。 3 1 3 实时数据库体系结构 组态软件实时数据库系统是一个可组态的数据库,通过数据点组态程序对系统 进行组态。组态软件实时数据库要求被设计成一个开放式的实时数据库系统,它应 该满足各种组态软件不同的应用需求,成为一个实时控制系统核心。实时数据库的 内核是一个高效可靠的实时数据管理系统,它要建立一套完成数据采集、实时数据、 历史数据和统计数据存储管理的功能模块,外部为用户提供开放式的接口,使用户 能够自己编写应用程序通过应用编程接口( a p i ) 访问数据库中的数据,能够对来自 1 2 华北电力大学硕士学位论文 飞 系统或人工键入的数据进行分析处理,以及对系统进行反馈控制输出,为实现生产 过程的先进控制及优化或其他应用提供数据服务。 结合微内核设计方法和多层分布式体系的优点,实时数据库系统的整体架构如 下图3 - 1 所示。 团匝亟圃匡窭圃区回 圈 报警与事ll 应用服务li 历史数 件服务llil 据服务 组态服务 实时数据服务 接口调度服务 磁盘历史 数据 内存历史 数据 、一一 系统内核 o p t 2 接口软件d d e 接口软件自定义接口软件 o p c 服务器 d d e 服务器r s 2 3 2 4 8 5 、t c p i p 图3 - 1 实时数据库体系结构 从图3 1 中可以看出,整个框架体系分成三层:上层为先进控制软件层及其他 应用程序,为实时数据库的应用对象;中间层为实时数据库的核心层,包括系统内 核,系统组态、报警与事件服务、权限管理等等;底层是数据机采集层,包括接口 软件和数据采集节点服务器( 0 p c 服务器、d d e 服务器等) 。 该体系结构中采用模块化编程思想和多层分布式客户服务器技术,实现了实 时数据库系统的高性能分布式应用,同时核心模块采用系统服务的方式运行,充分 利用操作系统提高实时数据库系统的稳定性。 3 2 实时数据库的功能分析 由上一节图3 - 1 可以看出实时数据库的内核是一个高效可靠的实时数据管理系 统,在实际应用中必需具备的主要功能为: ( 1 ) 1 7 0 设备的数据采集与回送 它是实时数据库的一个最基本的功能。实时数据库可通过各类通用或专用接口 与d c s ,p l c 、智能仪表等现场设备进行通信,读写通信模块中输入输出的实时数据, 实现设备数据的采集与回送。 1 3 圈 华北电力大学硕士学位论文 ( 2 ) 输入处理 任何来源的数据在进入数据库前,均可先进行数据来源检查,上限、下限检查, 并进行量程转换、开方等运算后再进入数据库。 ( 3 ) 输出处理 输出处理用于在数据库向外部设备进行数据回送前,对发往现场的数据进行输 出上限、下限等检查,并进行输出记录。 ( 4 ) 触发和定时 提供丰富的触发和定时机制,供各类数据处理、控制和优化算法使用,以保证 数据的实时性、有效性、一致性。 ( 5 ) 报警处理 系统可提供高报、高高报、低报、低低报、偏差、变化率、延时等报警功能, 提供报警确认、报警汇总、报警历史查询等功能。 ( 6 ) 保存历史数据 各实时数据库均可保存历史数据,且可任意指定保存时间,中间可随时停和恢 复。保存历史数据时,先保存在内存缓冲区,缓冲区满时才一次性写盘;读取历史 数据时先从缓冲区取数据,取不到再到硬盘取,可大大提高历史数据存取速度。 3 3 数据采集模块的设计 3 3 1 数据采集包的分包处理 监控组态软件周期性从过程控制系统中进行实时数据采样,经过实时数据处 理、报警处理并保存到实时数据库中,这个过程称为实时数据采集,实时数据采集 也可以不定期地执行。向过程控制系统发送控制数据称为控制数据回送。 实时数据库与过程控制系统的接口称为i 0 接口。实时数据通过i o 接口从过 程控制系统采集实时数据,向过程控制系统发送控制数据乜引。 在系统中可以同时连接多个采集设备,每一个设备拥有一个采集线程。采集线 程执行实时数据采集事务。实时数据采集主要是周期性地进行,任务由采样时钟触 发。每当采样时刻到达时,线程执行采集事务进行实时数据采样实时数据库也允许 不定期的实时数据采样,不定期的实时数据采样由采样请求触发实时数据采集事务 执行2 钔。 实时数据采集用成组采集的方法进行。在许多设备中,一个种类寄存器中的值 1 4 华北电力大学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上饶卫校面试题及答案
- 排球威力测试题及答案
- 文保员考试试题及答案
- 郑州美术面试题及答案
- 家电公司销售回款管理细则
- 辽宁大连市普兰店区第二中学2026届化学高二第一学期期中经典模拟试题含解析
- 2020-2025年注册测绘师之测绘综合能力模考模拟试题(全优)
- 度第一学期五年级语文期末试卷(人教部编版含答案)
- 保安岗位安全生产培训知识课件
- 医药冻库设备销售方案(3篇)
- 商务数据分析与应用专业人才培养方案
- 低压配电箱安装施工方案
- 中国儿童严重过敏反应诊断与治疗建议(2022年)解读
- 蓄水池检验批质量验收记录(海绵城市质检表格)
- 单梁起重机安全操作培训课件
- 电动力学-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 脑出血诊治指南
- 2022年重庆市汽车运输(集团)有限责任公司招聘考试真题
- 结构方案论证会汇报模板参考83P
- 移植患者健康宣教 - 副本课件
- 魏家庄村道路实施方案
评论
0/150
提交评论