(控制理论与控制工程专业论文)监控组态软件运行平台关键技术的研究.pdf_第1页
(控制理论与控制工程专业论文)监控组态软件运行平台关键技术的研究.pdf_第2页
(控制理论与控制工程专业论文)监控组态软件运行平台关键技术的研究.pdf_第3页
(控制理论与控制工程专业论文)监控组态软件运行平台关键技术的研究.pdf_第4页
(控制理论与控制工程专业论文)监控组态软件运行平台关键技术的研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 监控组态软件运行平台关键技术的研究 研究生:龚力 导师:马旭东教授 学校名称:东南大学 监控组态软件是面向监控与数据采集的通用软件平台,包含开发和运行平台两个 部分,具有良好的用户二次开发和运行环境。本文对监控组态软件运行平台关键技术 进行了集中研究,完成了具备基本功能的运行平台设计与实现。 论文在分析监控组态软件的发展,应用的基础上,结合本文研究工作的应用背 景,阐述系统的总体结构,并简要分析开发过程中的关键技术。文中重点论述了监控 实时数据库的架构和数据抽象模型,对索引结构进行分析、选择,实时数据采集策略 以及实时数据库与历史数据库的交互;提出一种柔性的监控网络结构,实现了监控网 络的连接管理、监控数据传输,定义了数据传输的协议,给出相关软件和数据结构设 计;本文实现基于c o m 连接点机制的设备驱动程序模型,针对o m r o nc p m 2 ap l c 编写了串口设备的驱动程序,给出了运行策略和数据流程;最后,对本系统的实验运 行情况进行总结,对存在的问题提出解决方案。 关键词:监控组态软件;实时数据库:网络通信;设备驱动程序;数据采集 a b s t r a ( 汀 a b s t r a c t r e s e a r c ho nt h ed e v e l o p m e n to f t h er e a l t i m er u n n i n gp l a t f o r mf o rs c a d as o f t w a r e m s c :g o n g l i a d v i s e r :p r o f m ax u - d o n g s o u t h e a s tu n i v e r s i t y s c a d as o f t w a r e ,w h i c hi sc o m p o s e do f d e v e l o p i n gp l a t f o r ma n dr u n n i n gp l a t f o r m ,i s f u n c t i o n a lt o o l sf o rs u p e r v i s o r yc o n t r o la n dd a t aa c q u i s i t i o n a sap a r to fs c a d as o f t w a r e d e v e l o p m e n t d e s i g na n di m p l e m e n t a t i o no f t h e r e a l - t i m er u n n i n gp l a t f o r m 砸t l lb a s i c f u n c t i o n si sp r e s e n t e di nt h i st h e s i s t h eb a c k g r o u n d ,c u r r e n tc o n d i t i o n ,t h ep u r p o s ea n dt h es i g n i f i c a n c eo f t h er e s e a r c hi s i n t r o d u c e df i r s t l y b a s e do na n a l y z i n gt h ec h a r a c t e r i s t i c sa n dt h ed a t af l o wo f t h es y s t e m ,t h e f r a m e w o r ko f s c a d as o f t w a r ei sp r e s e n t e da n dk e yt e c h n i q u e sa r ei n t r o d u c e db r i e f l y t h e n t h ed e s i g no f r e a l t i m ed a t a b a s e ,w h i c hi st h ec o r eo f r u n n i n gp l a t f o r m ,i sg i v e n ,i n c l u d i n g f r a m e w o r k , o b j e c tm o d e l i n g ,i n d e xs t r u c t u r e ,i 0s t r a t e g ya n di n t e r a c t i o nw i t hh i s t o r y d a t a b a s e t os u p p o r tf l e x i b l es c a d an e t w o r ke n v i r o n m e n t ,t h ec o n n e c t i o mm a n a g e m e n t a n dd a t at r a n s m i s s i o nm e c h a n i s ma l ep r o p o s e dw i t l ls e q u e n c ed i a g r a m sa n dp r o t o c o l sg i v e n i nd e t a i l m o r e o v e r , d e v e l o p m e n to f d e v i c ed r i v e r sa n ds c h e m eo f d e v i c e sm a n a g e m e n ta r e p r e s e n t e df o ri n t e g r a t i n gd i f f e r e n td e v i c e s f i n a l l y ,t h ee x p e r i m e n t sv e r i f yt h ev a l i d i t yo f t h e d e s i g na n di m p l e m e n t a t i o n k e y w o r d s :s c a d a ,r e a l - t i m ed a t a b a s e ,n e t w o r kc o m m u n i c a t i o n ,d e v i c ed r i v e r , d a t aa c q u i s i t i o n i i 第一章绪论 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 ) 的出现才开始 被广大的生产过程自动化技术人员所熟知的。在工业控制技术的不断发展和应用过程中,计算机 ( 包括工控机) 相比以前的专用系统具有的优势日趋明显。这些优势主要体现在:计算技术保持了 较快的发展速度,各种相关技术已臻成熟;由计算机构建的工业控制系统具有相对较低的拥有成 本;计算机软件资源和硬件资丰富,软件之间的互操作性强:基于计算机的控制系统易于学习和使 用,可以容易地得到技术方面的支持。在计算机技术向工业控制领域的渗透中,组态软件占据着非 常特殊而且重要的地位。 组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件 平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用 层次的软件工具。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数 据管理和网络功能。对应于原有的h m i ( 人机接口软件,h u m a nm a c h i n ei n t e r f a c e ) 的概念,组态 软件应该是一个使用户能快速建立自己的h m i 的软件工具,或开发环境。在组态软件出现之前, 工控领域的用户通过手工或委托第三方编写h m i 应用,开发时间长,效率低,可靠性差;或者购 买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交 互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利 用组态软件的功能,构建一套最适合自己的应用系统。随着它的快速发展,实时数据库、实时控 制、s c a d a 、通讯及联网,开放数据接口、对i o 设备的广泛支持已经成为它的主要内容,随着 技术的发展,监控组态软件将会不断被赋予新的内容i l j 目前看到的所有监控组态软件都能完成类似的功能,比如,几乎所有运行于3 2 位w i n d o w $ 平 台的组态软件都采用类似资源浏览器的窗口结构,并且对工业控制系统中的各种资源( 设备、标签 量、画面等) 进行配置和编辑;都提供多种数据驱动程序;都使用脚本语言 提供二次开发的功能等等。但是,从技术上说,各种组态软件提供实现这些功能的方法却各不相 同。从这些不同之处,以及p c 技术发展的趋势,可以看出组态软件未来发展的方向。 一、数据采集的方式 大多数组态软件提供多种数据采集程序,用户可以进行配置。然而,在这种情况下,驱动程序 只能由组态软件开发商提供,或者由用户按照某种组态软件的接口规范编写,这为用户提出了过高 的要求。由o p c 基金组织提出的o p c 规范基于微软的o l e 月) c o m 技术,提供了在分布式系统 下,软件组件交互和共享数据的完整的解决方案。在支持o p c 的系统中,数据的提供者作为服务 器( s e r v e r ) ,数据请求者作为客户( c l i e n t ) ,服务器和客户之间通过d c o m 接口进行通信,而无 需知道对方内部实现的细节。由于c o m 技术是在二进制代码级实现的,所以服务器和客户可以由 不同的厂商提供。在实际应用中,作为服务器的数据采集程序往往由硬件设备制造商随硬件提供, 可以发挥硬件的全部效能,而作为客户的组态软件可以通过o p c 与各厂家的驱动程序无缝连接, 故从根本上解决了以前采用专用格式驱动程序总是滞后于硬件更新的问题。同时,组态软件同样可 以作为服务器为其他的应用系统( 如m i s 等) 提供数据。o p c 现在已经得到了包括i n t e r l l u t i o n 、 s 1 m e n s 、g e 、a b b 等国外知名厂商的支持。随着支持o p c 的组态软件和硬件设备的普及,使用 o p c 进行数据采集必将成为组态中更合理的选择。 二、脚本的功能 脚本语言是扩充组态系统功能的重要手段。因此,大多数组态软件提供了脚本语言的支持。具 东南大学硕士学位论文 体的实现方式可分为三种:一是内置的类c b a s i c 语言;二是采用微软的v b a 的编程语言;三是 有少数组态软件采用面向对象的脚本语言。类c b a s i c 语言要求用户使用类似高级语言的语句书 写脚本,使用系统提供的函数调用组合完成各种系统功能。应该指明的是,多数采用这种方式的国 内组态软件,对脚本的支持并不完善。许多组态软件只提供i f t h e n e l s e 的语句结构,不提供循 环控制语句,为书写脚本程序带来了一定的困难。微软的v b a 是一种相对完备的开发环境,采用 v b a 的组态软件通常使用微软的v b a 环境和组件技术,把组态系统中的对象以组件方式实现,使 用v b a 的程序对这些对象进行访问。由于v i s u a lb a s i c 是解释执行的,所以v b a 程序的一些语法 错误可能到执行时才能发现。而面向对象的脚本语言提供了对象访问机制,对系统中的对象可以通 过其属性和方法进行访问,比较容易学习、掌握和扩展,但实现比较复杂。 三、组态环境的可扩展性 可扩展性为用户提供了在不改变原有系统的情况下,向系统内增加新功能的能力,这种增加的 功能可能来自于组态软件开发商、第三方软件提供商或用户自身。增加功能最常用的手段是 a e t i v e x 组件的应用,目前还只有少数组态软件能提供完备的a e t i v e x 组件引入功能及实现引入对 象在脚本语言中的访问。 四、组态软件的开放性 随着管理信息系统和计算机集成制造系统的普及,生产现场数据的应用已经不仅仅局限于数据 采集和监控。在生产制造过程中,需要现场的大量数据进行流程分析和过程控制,以实现对生产流 程的调整和优化。现有的组态软件对大部分这些方面需求还只能以报表的形式提供,或者通过 o d b c 将数据导出到外部数据库,以供其他的业务系统调用,在绝大多数情况下,仍然需要进行 再开发才能实现。随着生产决策活动对信息需求的增加,可以预见,组态软件与管理信息系统或领 导信息系统的集成必将更加紧密,并很可能以实现数据分析与决策功能的模块形式在组态软件中出 现。 五、对i n t e r n e t 的支持程度 现代企业的生产已经趋向国际化、分布式的生产方式。i n t e m e t 将是实现分布式生产的基础。 组态软件能否从原有的局域网运行方式跨越到支持i n t e r a c t ,是摆在所有组态软件开发商面前的一 个重要课题。限于国内目前的两络基础设施和工业控制应用的程度,笔者认为,在较长时间内,以 浏览器方式通过i n t e m e t 对工业现场的监控,将会在大部分应用中停留于监视阶段,而实际控制功 能的完成应该通过更稳定的技术,如专用的远程客户端、由专业开发商提供的a c t i v e x 控件或j a v a 技术实现。 六、组态软件的控制功能 随着以工业p c 为核心的自动控制集成系统技术的日趋完善和工程技术人员的使用组态软件水 平的不断提高,用户对组态软件的要求己不像过去那样主要侧重于画面,而是要考虑一些实质性的 应用功能,如软件p l c ,先进过程控制策略等川。 1 2 监控组态软件的应用1 】 监控组态软件产品于8 0 年代初出现。并在8 0 年代末期进入我国。但在9 0 年代中期之前,监 控组态软件在我国的应用并不普及。究其原因,大致有以下几点: 1 ) 国内用户还缺乏对组态软件的认识,项目中没有组态软件的预算,或宁愿投入人力物力针 对具体项目做长周期的繁冗的上位机的编程开发,而不采用组态软件; 2 ) 在很长时间里,国内用户的软件意识还不强,面对价格不菲的进口软件( 早期的组态软件 多为国外厂家开发) ,很少有用户愿意去购买正版; 3 ) 当时国内的工业自动化和信息技术应用的水平还不高。组态软件提供了对大规模应用、大 量数据进行采集、监控、处理并可以将处理的结果生成管理所需的数据,这些需求并未完全形成。 2 第一章绪论 随着工业控制系统应用的深入,在面l 临规模更大、控制更复杂的控制系统时,人们逐渐意识到 原有的上位机编程的开发方式对项目来说是费时费力、得不偿失的。同时,m i s ( 管理信息系统, m a n a g e m e n ti n f o r m a t i o ns y s t e m ) 和c i m s ( 计算机集成制造系统,c o m p u t e ri m e g r a t e dm a n u f a c t u r i n g s y s t e m ) 的大量应用,要求工业现场为企业的生产、经营、决策提供更详细和深入的数据,以便优 化企业生产经营中的各个环节。因此,在1 9 9 5 年以后,组态软件在国内的应用逐渐得到了普及。 下面就对几种组态软件分别迸行介绍。 1 ) i n t o u c h :w o n d e r w a r e 的i n t o u c h 软件是最早进入我国的组态软件。在8 0 年代末、9 0 年代 初,基于w i n d o w s 3 1 的i n t o u c h 软件曾让我们耳目一新,并且i n t o u e h 提供了丰富的图库。但是, 早期的i n t o u c h 软件采用d d e 方式与驱动程序通信,性能较差,最新的i n t o u c h 7 0 版已经完全基于 3 2 位的g r m d o w s 平台,并且提供了o p c 支持。 2 ) f i x :i n t e l l u t i o n 公司以f i x 组态软件起家,1 9 9 5 年被爱默生收购,现在是爱默生集团的全 资子公司,f i x 6 x 软件提供工控人员熟悉的概念和操作界面,并提供完备的驱动程序( 需单独购 买) 。i n t e l l u t i o n 将自己最新的产品系列命名为l f i x ,在l f i x 中,i n t e l l u t i o n 提供了强大的组态功能, 但新版本与以往的6 x 版本并不完全兼容。原有的s c r i p t 语言改为v b a ( v i s u a lb a s i c f o r a p p l i c a t i o n ) ,并且在内部集成了微软的v b a 开发环境。遗憾的是,i n t e l l u t i o n 并没有提供6 1 版脚 本语言到v b a 的转换工具。在i f i x 中,i n t e l l u t i o n 的产品与m i c r o s o f t 的操作系统、网络进行了紧 密的集成。i n t e l l u t i o n 也是o p c ( o l ef o rp r o c e s sc o n t r 0 1 ) 组织的发起成员之一。i f i x 的o p c 组件 和驱动程序同样需要单独购买。 3 ) c i t e c h :c l t 公司的c i t e e h 也是较旱进入中国市场的产品。c i t e c h 具有简洁的操作方式,但 其操作方式更多的是面向程序员,而不是工控用户。c i t e e h 提供了类似c 语言的脚本语言进行二 次开发,但与i f i x 不同的是,c i t e c h 的脚本语言并非是面向对象的,而是类似于c 语言。这无疑为 用户进行二次开发增加了难度。 4 ) w i n c c :s i m e n s 的w i n c c 也是一套完备的组态开发环境,s j m e n s 提供类c 语言的脚 本,包括一个调试环境。w i n c c 内嵌o p c 支持,并可对分布式系统进行组态。但w i n c c 的结构 较复杂,用户最好经过s i m e n s 的培训以掌握w i n c e 的应用。 5 ) 组态王:组态王是国内第一家较有影响的组态软件开发公司( 更早的品牌多数已经湮灭) 。 组态王提供了资源管理器式的操作主界面,并且提供了以汉字作为关键字的脚本语言支持。组态王 也提供多种硬件驱动程序。 6 ) c o n t r o x ( 开物) :华富计算机公司的c o n t r o x 2 0 0 0 是全3 2 位的组态开发平台,为工控用户 提供了强大的实时曲线、历史曲线、报警、数据报表及报告功能。作为国内最早加入o p c 组织的 软件开发商,c o n t r o x 内建o p c 支持,并提供数十种高性能驱动程序。提供面向对象的脚本语言 编译器,支持a c t i v e x 组件和插件的即插即用,并支持通过o d b c 连接外部数据库。c o n t r o x 同时 提供网络支持和w e b s e r v e r 功能。 7 ) f o r c e c o n t r o l ( 力控) :大庆三维公司的f o r c e c o n t r o l ( 力控) 从时间概念上来说,力控也是 国内较早就已经出现的组态软件之一。只是因为早期力控一直没有作为正式商品广泛推广,所以并 不为大多数人所知。大约在9 3 年左右,力控就已形成了第一个版本,只是那时还是一个基于d o s 和v m s 的版本。后来随着w i n d o w s 3 1 的流行,又开发出了1 6 位w i n d o w s 版的力控。但直至 w i n d o w s 9 5 版本的力控诞生之前,他主要用于公司内部的一些项目。3 2 位下的1 0 版的力控,在 体系结构上就已经具备了较为明显的先进性,其最大的特征之一就是其基于真正意义的分布式实时 数据库的三层结构,而且其实时数据库结构可为可组态的活结构。在1 9 9 9 2 0 0 0 年期间,力控得 到了长足的发展,最新推出的2 0 版在功能的丰富特性、易用性、开放性和i o 驱动数量,都得到 了很大的提高。 3 东南大学硕士学位论文 1 3 本文工作的应用背景 本论文工作为国家8 6 3 项目巾1 8 0 0 模拟掘进机试验台( 2 0 0 3 a a 4 2 0 1 1 0 ) 测控与管理软件 的开发工作延续一专用型、自主知识产权软件的开发。 在对模拟掘进机实验平台实时监控的应用中,采用的是组态王工业自动化通用组态软件,组态 王的优秀性能提高了工作效率,但同时也发现组态王在盾构掘进实验平台监控系统的应用中存在 一些问题: 1 ) 缺少盾构设备的界面控件。在进行组态时,必须自绘界面控件。 2 ) 在监控界面切换时系统响应时问过长。在处理工作繁忙时,界面的切换有明显延迟。 3 ) 实时数据曲线刷新效率低。在系统显示大量数据时,系统得曲线刷新不顺畅。 4 ) w e b 发布功能也存在一些不足之处,如不支持控件、不支持自定义函数,不支持s o l 函数 等。 除了在功能上的缺失以外,是系统的运行效率的不足造成了系统性能上的瓶颈。究其原因,组 态王为通用软件,其通用性一定程度上降低了系统的运行效率。运行效率的相对低下的外在表现为 系统响应事件过长,界面切换缓慢。如果在合理进行系统设计的基础上,优化系统的调度策略,改 进系统地数据采集和数据处理,必将提高系统效率。将会有效缓减以上的不足。 本研究工作以盾构模拟掘进试验过程为对象,p l c 等自动化装置为下位机。支持基本组态软 件运行环境,采用面向对象技术实现典型过程,设备操作实时监控与管理;主要解决基于 p c w m d o w s 以太网环境下的s c a d a 软件实时调度、运行管理、设备连接与通信等实际问题。 1 4 本文工作内容 本文在大量研究相关文献的基础上,结合实际工程项目的实践经验,对在监控组态软件运行平 台的软件架构以及一些关键技术做了深入的研究,并给出了部分具体实现,本文共分为六个章节: 第一章简述了监控组态软件现状以及发展趋势,阐明了本论文研究的应用背景。 第二章阐述了监控组态软件的特点,总体结构设计思想以及数据流程;包括监控组态软件设计 中的一些主流技术。 第三章讨论了监控组态软件的实时数据库架构,对有关的数据对象进行建模,选择数据索引结 构进行存储管理,优化设计数据的采集策略,并采用a d o 技术与历史数据库进行交互。 第四章给出一种基于以太网架构柔性网络结构,并分析网络对象模型,给出服务器端与客户端 的软件实现,设计出数据传输机制,实现基于带文档套接字的实时数据传输机制。 第五章主要讨论了监控组态软件的设备管理与设备的数据采集策略。给出了基于c o m 组件技 术的设备驱动程序的开发方法,接口定义以及具体实现;并说明结合o m r o nc p m 2 ap l c 的驱动 程序编制阐述串行设备的驱动程序的编制方法;通过监控实验进行验证分析。 4 第二章总体设计 第二章总体设计 系统的总体设计是整个系统得以实现的最重要的环节之一。系统设计的可行性。准确性、先进 性是系统最终功能和性能的决定性因素,并直接影响系统的可靠性、实时性和可扩展性。与其他软 件设计方法相似,在确定系统总体结构之前需要确定系统的特点和数据流程,然后设计系统的总体 结构,并确定采用的关键技术。 2 1 系统特点1 3 i 监控组态软件作为用户可定制功能的软件平台工具,面对的是自动化领域的工程应用,它与其 他的软件系统相比具有以下几个特点: 1 ) 实时多任务 组态软件最突出的特点是实时多任务。数据采集与输出、数据处理与算法实现、图形显示及人 机对话、实时数据的存储、检索管理、实时通信等多个任务要在同一台计算机上同时运行。 实时性是指工业控制计算机系统应该具有的能够在限定的时间内对外来事件做出反应的特性。 这里所描述的实时性是相对的。在具体地确定这里所说的限定时间时,该事件要求计算机在多长的 时问以内必须做出反应,否则,将对生产过程造成影响甚至造成损害。可见,工业控制计算机及监 控组态软件具有时间驱动能力和事件驱动能力,即在按一定的周期时间对所有事件进行巡检扫描的 同时,可以随时响应事件的中断请求。 实时性一般都要求计算机具有多任务处理能力,以便将测控任务分解成若干并行执行的多个任 务,加速程序执行速度。由于操作系统直接支持多任务,组态软件的性能得到了全面加强。 可以把那些变化并不显著,即使不立即作出反应也不至于造成影响或损害的事件,作为顺序执 行的任务,按照一定的巡检周期有规律地执行,而把那些保持时间很短且需要计算机立即作出反应 的事件,作为中断请求源或事件触发信号,为其专门编写程序,以便在该类事件一旦出现时计算机 能够立即响应。 2 ) 高可靠性 在计算机、数据采集控制设备正常工作的情况下,如果供电系统正常,当监控组态软件的目标 应用系统所占的系统资源不超负荷时。则要求软件系统稳定可靠地运行。如果对系统的可靠性要求 得更高,就要利用冗余技术构成双机乃至多机备用系统。冗余技术是利用冗余资源来克服故障影响 从而增加系统可靠性的技术,冗余资源是指在系统完成正常工作所需资源以外的附加资源。说得通 俗和直接一些,冗余技术就是用更多的经济投入和技术投入来获取系统可能具有的更高的可靠性指 标。 例如可以指定一台机器为主机,另一台作为从机,从机内容与主机内容实时同步,主机、从机 可同时操作。从机实时监视主机状态,一旦发现主机停止响应,便接管控制,从而提高系统的可靠 性。 3 ) 标准化 伴随着计算机相关技术的高速发展,世界上各个著名的控制系统厂商纷纷推出新一代的d c s 产品,但是不同厂家的组态软件是与其特定硬件相关的,所以是专用的,相互之间不可替代。 尽管目前尚没有一个明确的国际、国内标准用来规范组态软件,但国际电工委员会i e c l l 3 1 3 开放型国际编程标准在组态软件中起着越来越重要的作用。i e c l l 3 1 3 提供用于规范d c s 和 p l c 中的控制用编程语言,它规定了4 种编程语言标准( 梯形图、结构化高级语言、方框图、指 令助记符k 5 东南大学硕士学位论文 此外,o l e ( 对象连接与嵌入) 、o p c ( o l ef o rp r o c e s sc o n t r 0 1 ) 等技术标准也被广泛地使 用。t c p i p 网络通信标准协议也被广泛地应用于现场测控设备之间及测控设备与操作站之间的通 信。 从以上可以看出,组态软件具有实时多任务、运行可靠、接口开放、使用灵活、功能多样的性 能需求。 2 2 系统的数据流 组态软件通过i o 驱动程序从现场i o 设备获得实时数据,对数据进行必要的加工后,一方面 以图形方式直观地显示在计算机屏幕上:另一方面按照组态要求和操作人员的指令将控制数据送给 i o 设备,对执行机构实施控制或调整控制参数。 对已经组态历史趋势的变量存储历史数据,对历史数据检索请求给予响应。当发生报警时及时 将报警以声音、图象的方式通知给操作人员,并记录报警的历史信息,以备检索。组态软件的数据 流图如图2 - 1 所示。 第三方接口程序 j g 实时数据库系统 图形界面系统 数据库计算与 i 画面显示l 冗余控制控制 通信 报警j j e 历史 l 报警通知f 组件 检查 叫 实时数据库内核 p 数据 i 历史查询j 与 处理 处理 西j 参数设定l i - 接口ll 控制计算l j li o i 殳各驱动j f i o 设备 设备 8 现场设备 图2 1 组态软件的数据流图 在图中可以看出,实时数据库是组态软件的核心和引擎,历史数据的存储与检索、报警处理与 存储,数据的运算处理、数据库冗余控制、i o 数据连接都是由实时数据库系统完成的。图形界面 系统、f o 驱动程序等组件以实时数据库为核心,通过高效的内部协议相互通信,共享数据。 大多数组态软件产品都提供了方式多样的接口,允许第三方程序对组态软件的实时数据库进行 读写操作,这使得用户可以在组态软件的基础上用自己的程序实现比较复杂的功能或者算 法。这种扩展功能正是组态软件得到许多用户认可的重要原因之一1 2 j 。 6 第二章总体设计 2 2 系统基本结构 工程应用中,组态软件一般是由系统开发环境和系统运行环境两大部分构成的。 1 ) 系统开发环境。它是自动化工程涉及工程师为实施其控制方案,在组态软件的支持下进行 应用程序的系统生成工作所必须依赖的工作环境。通过建立一系列用户数据文件,生成最终的图形 目标应用系统,供系统运行环境运行时使用。系统开发环境由若干个组态程序组成,如图形界面组 态程序、实时数据库组态程序等。 2 ) 系统运行环境。在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。系 统运行环境由若干个运行程序组成,如图形界面运行程序,实时数据库运行程序等。 监控组态软件的功能组件包括以下几个部分: 1 ) 应用程序管理器。应用程序管理器是提供应用程序的搜索、备份、解压缩、建立新的应用 等功能的专用管理工具。 2 ) 图形界面开发,运行程序。它是一个进行图形系统生成工作所依赖的开发环境。通过建立一 系列用户数据文件,生成最终的图形目标应用系统。生成的目标应用程序可在图形运行环境中运 行。 构成现场各过程图形的画面被划分成3 类简单的对象:线、填充形状和文本。每个简单的对象 均有影响其外观的属性,对象的基本属性包括:线的颜色、填充颜色、高度、宽度、取向、位置移 动等。这些属性可以是静态的,也可以是动态的。静态属性在系统投入运行后保持不变。与原来组 态时一致。而动态属性则与表达式的值有关。表达式可以是来自i o 设备的变量,也可以是由变量 和运算符组成的数学表达式。这种对象的动态属性随表达式值的变化而实时改变。这个组态过程通 常叫做动画连接。 在图形界面上还具备报警通知及确认、报表组态及打印、历史数根查询与显示的功能。各种报 警、报表、趋势都是动画连接的对象、其数据源都可以通过组态来指定。这样,每个画面的内容就 可以根据实际情况由工程技术人员灵活设计,每幅画面中的对象数鼋均不受限制。 在图形界面中。各类组态软件普遍提供一种类b a s i c 语言的编程工具脚本语言来扩充其 功能。用脚本语言编写的程序段可由事件驱动或周期性地执行,是与对象密切相关的。 3 ) 实时数据库系统组态庭行程序 目前,比较先进的监控组态软件都有独立的实时数据库组件,以提高系统的实时性,增强处理 能力。实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库结构、数据来 源、数据连接、数据类型及相关的各种参数,生成目标实时数据库。生成的目标实时数据库可在实 时数据库运行环境中运行。 实时数据库可以存储每个工艺点的多年数据,用户既可以浏览企业当前的生产情况,又可回顾 过去的生产情况。可以说,实时数据库对于企业来说,就如同飞机上的“黑匣子”。企业的历史数 据是很有价值的,实时数据库具备数据档案管理功能。 4 ) i o 驱动程序 它是组态软件中必不可少的部分,由于和i o 设备通信,互相交换数据。它是实时数据库系统 与现场设备的桥梁。 5 ) 通信与第三方程序接口组件。它是开放系统的标志,是组态软件与第三方程序交互及实现 远程数据访问的重要手段之一。它有以下3 个主要作用: 1 用于双机冗余系统中,主机与从机的通讯。 2 用于构建分布式h m i ,s c a d a 应用时多机间的通讯。 3 在基于1 1 1 t e m c t 或b r o w s e r s e r v e r 应用中实现通信功能。 7 东南大学硕士学位论文 2 3 关键技术 监控组态软件是一个非常庞大复杂的系统,对其的设计开发牵涉大量的先进软件技术,先进技 术的使用可以对软件性能的提高产生直接的影响,本文工作所使用的主要软件技术包括四大类: 一、多任务调度技术 实时监控软件是一个实时多任务的软件系统,在有多个任务需要同时执行时,多任务调度技术 实现不同任务问的控制管理和任务间的工作配合,实现多任务调度往往使用多线程技术。 多线程技术是实时监控软件中普遍使用的技术之一。为了实现程序的实时性、并发性,防止因 为单个线程而阻塞整个程序运行,画面线程和操作线程往往需要分开。另外,为了提高c p u 执行 效率,也常常使用多线程技术,比如监控组态软件中的硬件读写模块为每一个工控设备开辟一个线 程,以加快程序执行速度以及网络通信过程中为每个客户端请求开辟一个响应线程。虽然线程确实 非常有用,但使用线程时可能产生新的问题。比如线程间的通信和同步问题,这也是我们在使用多 线程时最需要注意的问题。 线程需要在下面两种情况下互相进行通信: 1 ) 当有多个线程访问共享资源而不使共享资源被破坏时; 2 ) 当一个线程需要将某个任务己经完成的情况通知另外一个或多个线程时。 w i n d o w s 提供了许多方法,可以非常容易地实现线程的同步。这些方法包括:临界区、信号 量、互斥体、事件对象等1 4 l 。 二、组件技术 组件是一种可重复调用的软件块,它把维护及操作某一类信息的程序集中在一起独立成块。应 用系统通过预先定义好的界面来调用执行组件。组件可以简单如一个类,也可以复杂如完整的应用 服务处理。组件与调用它的应用环境一起构成容器系统,它提供了一种执行服务器组件的运行环境 1 5 】 o 组件的优点有很多。首先,用户一般希望能够定制所用的应用程序,而组件技术从本质上讲就 是可被定制的,因而用户可以用更能满足他们需要的某个组件来替换原来的那个。其次,由于组件 是相对应用程序独立的部件,我们可以在不同的程序中使用同一个组件而不会产生任何问题,软件 的可重用性将大大的得到增强。第三,随着网络带宽及其重要性的提高,分布式网络应用程序毫无 疑问的成为软件市场上越来越重要的买点。组件架构可以使得开发这类应用程序的过程得以简化。 目前流行的组件技术标准主要有m i c r o s o f t 公司的c o m + ,o m g 组织的c o r b a ,s u n 公司的 j a 、,ab e a n 。本文采用c o m + 组件技术 三、网络通讯技术 本文设计的监控组态软件提供网络通讯的功能,在网络通讯模块中使用t c p i p 协议进行网络 通讯。 在w i n d o w s 系统中,局域网的t c p i p 协议通讯是通过套接字来实现的。套接字是系统提供的 基础网络编程接口,它是对通信端点的一种抽象,提供了一种发送和接收数据的机制。套接字是通 信的基石,一个套接字是通信的一端。在通信的任何一端上。用户可以找到套接字及与其对应的一 个套接字名字。每一个正在被使用的套接字都有它的类型和与其相关的进程。套接字存在于通讯域 中。通讯域是为了处理一般的线程通过套接字通讯而引进的一种抽象概念。套接字通常和同一个域 中的套接字交换数据( 数据交换也可能穿越域的界限,但这时一定先执行某种解释程序) 。w i n d o w s s o c k e t s 规范支持单一的通讯域,即i n t e m e t 域。各种进程使用这个域互相之间用i n t e r n e t 协议族来 进行通讯( w i n d o w ss o c k e t s1 1 以上的版本支持其他的域,例如w m d o w ss o c k e t s2 ) 。 四、数据库访问技术”1 一般的监控组态软件都提供数据库访问接口,以方便用户使用通用关系数据库存储数据。微 软a d o 可以使客户应用程序通过访问o l ed b 提供程序,访问和操作来自数据库服务器的数据。 8 第二章总体设计 a d o 是a c t i v e x 数据对象( a c t i v e xd a t ao b j e c t ) 的简称。它的主要优点是:易于使用、高效率、 低内存占用和支持客户,服务器和w e b 应用程序。 a d o 的对象模型简化了对对象的操作,因为它的对象之间并没有层次关系。通常,只关一t l , 所 要创建和使用的对象,而无需了解其他对象。例如:在使用o l ed b 时,就必须建立数据源连接, 然后才能打开一个行集合对象;而在使用a d o 时,就可以直接打开一个记录对象。 s q l ( s t r u c t u r e dq u e r yl a n g u a g e ) 是关系数据库提供的用来访问、操作数据库的一种语言。关 系数据库均提供对s q l 的支持,以实现对数据库的各种操作。作为最重要的数据库操作语言, s q l 是非过程的语言,它允许用户提交一组命令去查询或定义数据。 9 东南大学硕士学位论文 3 1 概述 第三章面向监控的实时数据库设计 由上章图2 - i 可以看出,先进的监控组态软件都有一个实时数据库作为整个系统数据处理、数 据组织和管理的核心,也有人称其为数据词典。实时数据库与居于传统数据库技术的数据库( 如关 系数据库) 在原理、实现技术、功能和系统性能方面有很大的不同。集成了实时数据库功能的组态 软件的应用范围更为广阔,尤其是在时间关键型的应用中l j ”。 和其他数据库产品类似,面向监控的实时数据库设计也从实时数据库的总体结构开始;由于其 特殊的应用领域,必须对在监控中磁较重要的数据对象迸行建模和定义;数据索;i 结构是数据组织 的核心部件,直接影响数据的检索和访问效率,必须在充分对比分析的基础上,采用性能全面合理 的索引结构;工业现场的数据采集设备是多种多样的,设计合理的数据i o 策略可以极大提高数据 的采集效率;一些采集的实时数据在很长的时间范围内具有价值,需要设计与历史数据库的高效接 口,在运行中把数据存入历史数据库,以备后用。 3 2 内存实时数据库 在实时系统中,实时性体现在执行的快速性和可预见性。计算机内存以其访问速度大大快于磁 盘,随机访问的系统开销与顺序访问几乎相同的特点非常适合担任实时数据库的承载介质。目前绝 大多数的实时数据库是基于内存的实时数据库。 3 2 。1 内存数据库设计的关键技术一1 m 内存数据库与磁盘数据库在设计和实现上有许多不同之处,如内存数据库的物理数据组织和存 取方法必须适合内存的直接地址访问特性,其并发控制、事务提交、查询优化和恢复技术等都应采 取不同于磁盘数据库的策略。下面将主要介绍内存数据库设计的关键技术: 一、物理数据库组织 传统的磁盘数据库中,数据是以文件形式组织常驻于磁盘的,其系统瓶颈是内外存的数据 i o ,其物理数据库组织机制的设计目标是减少对磁盘的存取次数,如采用聚集方法等。而在内存 数据库中,数据常驻内存,直接被c p u 访问,其系统瓶颈主要是处理机和内存空间的有效利用,相 应物理数据库组织机制的主要设计目标是:1 ) 加速各种关系操作的执行度;2 ) 确保数据结构的紧凑 性,以提高数据空间的利用率。因此,必须开发全新的适合内存特性的数据组织方法和存取方法。 由于内存中顺序存取与随机存取同样高效,数据不必聚集存放,甚至可以将每个元组的各属性值分 散存放在内存中,而在元组中仅保留指向各属性值的指针,从而大大提高了空间的利用率。同时, 指针能简单处理变化长度字段,将其表示为栈。总的说来,内存数据库在数据表示上也吸收了高效 指针的优点。存取路径( 索引) 与数据分离存放,在一个关系上,用户可以动态地建立若干索引。指 针的使用建议以一种简单的方法提供个索引,它能方便的切换其相关的索引字段。在内存数据库 中,转换关系能简单以一种排列顺序的数组指针列出。这种索引在空间上是非常有效的,对范围和 精确匹配查询是相当快速的,虽然更新速度慢。 二、存取方法 研究一种适合的存取方法可以很好地提高存取效率、改善整个系统的性能。常规的数据库管理 1 0 第三章蕊向船拧的实时数据库设计 系统普遍采用b + 树索引结构,因为它既能提供对关键字的随机存取又提供顺序存取,结构宽而浅, 并用从根结点到任意叶结点都具有相同的也是最短的路径长度,符合磁盘数据库尽量减少磁盘访问 次数的设计宗旨。因此,b + 树能为磁盘数据库管理系统提供合适的存取方法。在内存数据库中,数 据常驻内存,不需要考虑磁盘访问,b + 树索引己不再合适。因为它针对面向块存储设计,每个结点 的覆盖率仅为5 5 这对内存空间极为宝贵的内存数据库来说存储效率太低。于是,针对内存直接 访问特性,多种索引结构被提出并用于内存数据库,它们包括散列技术和树的多种形式。散列技术 提供了快速查询和更新,但不像树结构具有空间高效性,不支持高效的范围查询。树如t 树明显的 针对内存驻留数据库设计,内存树不需要像b 树那种短而浓密的结构,因为在内存中遍历深度树比 在磁盘中快。对所有内存数据库访问方法的一个发现就是对应某个索引的数据值不需要保存索引本 身,因为内存中的随机访问非常快,指针能快速指引。于是,索引结构保存索引数据的指针,而不 是数据本身。这消除了一个索引对应的字段长度变化的问题。同时指针比它们指向的数据小,能尽 可能节约空间。指针的使用建议以一种简单的方法提供一个索引,它能方便的切换其相关的索引字 段。在内存数据库中,转换关系能简单的以一种排列顺序的数组指针列出。这种索引在空间上是非 常有效的,对范围和精确匹配查询是相当快速的,虽然更新慢。 三、并发控制 数据库系统常用基于锁的并发控制,在传统的磁盘数据库中,获得一个锁的开销远远小于处理 数据的开销。因此,为提高事务处理的并发度,很多磁盘数据库都采用细粒度的锁策略来减小锁定 范围。而在内存数据库中,事务获得锁的开销与处理数据的开销相当,而且由于对内存的存取比磁 盘快得多,事务运行的速度大大加快。锬筋占用时间相应缩短。这样,以过小粒度为封锁单位( 如 一个记录甚至一个属性值) 的并发控制方法的优点在内存数据库中不但得不到充分体现,反而增加 系统开销。所以,在内存数据库中,一般都采用大粒度锁策略,如关系级等,这无疑减少了并发控 制机制的复杂度,从而也减轻了系统处理的负担。另外,内存数据库中的事务主要是对内存数据的 直接操作,访问速度比较快。当多个事务在数据库中并发执时,数据的一致性可能受到破坏,于是 系统必须控制多个并发事务之间的相互作用。由于事务是保持一致性的单元,多个事务的串行执行 可保持一致性,因而要求事务集的并发处理所产生的任何调度的执行效果等价于这些事务按某种串 行顺序执行的效果。而已有研究也表明在内存驻留数据库中事务的顺序处理比并发处理更有效。过 多的并发控制算法的使用反而会加重系统工作负担,这对实时数据库来说,就变得没有必要了。 四、恢复机制 由于内存的易失性,加之在内存中数据可直接由c p u

温馨提示

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

评论

0/150

提交评论