




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)基于opc技术的工业监控系统研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 j l _ _ _ _ _ _ _ _ _ _ _ _ _ _ 自目s l | _ _ e _ _ l l _ _ l l _ e l e l 目| | _ 摘要 随着信息技术在自动化领域的不断深入与发展,传统的封闭式系 统暴露出功能单一、接口专业、结构死板的局限,而以标准、开放的 计算机软,硬件平台构成的新型过程控制系统展现出巨大的优势。 o p c 接口标准关键在于提供了一种开放、高效的通信机制,为 工业监控软件提供了一种统一存取现场设备数据的方法。 首先,本文简要地介绍了o p c 标准和它的技术基础c o m d c o m 组件模型、c o m + 技术、w i n d o w sd n a 结构以及分布式组件技术在工 业自动化领域中的应用。 然后,介绍了o p c 标准的基本原理、对象与接口和七个规范组 成及其基本内容,分析了使用o p c 技术的好处,以及目前o p c 技术 存在的问题。 基于o p c 技术的特点,本文提出了一种基于o p c 技术的分布式 工业监控系统的设计结构。系统整体分为现场设备层、过程控制层和 信息层。这种设计结构把设备、过程监控系统和企业管理信息系统 ( m i s ) ,完全无缝连接,真正实现了企业级信息管理。系统由o p c 数 据服务器、历史数据服务器、报警服务器、x m ld a 服务器、监控站 和w e b 浏览器构成,采用柔性结构设计,可实行集中式管理或分布 式管理,从而提高了系统的灵活性和开放性,改善了系统的性能。 本文还研究了基于i o 服务器组件的o p c 数据服务器结构设计, 并以支持m o d b u sr t u 协议的o p c 服务器为例,探讨了面向不同协 议的o p c 数据服务器的设计方法,并给出了服务器内部具体的实现 过程。 本文还介绍了我们利用c o m d c o m ,o p c 等技术,自主设计和开 发的具有分布式、模块化特点的先进工业监控软件系统。该软件采用 多线程并发任务设计,使用带反馈的非抢占式优先级算法进行任务调 度,缩短了访问设备对象的时间和对事件的响应时间,提高了系统的 实时性。系统采用模块化结构,主要包括设备驱动模块、数据库系统、 图形组态模块、报警模块、报表模块等部分。本文还探讨了采用o p c 、 a e t i v e x 和x m l 技术实现b s 结构下进行i n t e r n e t i n t r a n e t 网络远程 监控的设计思想与实现过程,并对o p cx m l 服务器的内部结构进行 山东大学硕士学位论文 探讨。该软件功能强大,具有很好的开放性、伸缩性和可靠性,已经 在多家工业生产企业的自动化监控系统中得到了成功的应用。 最后,在总结全文的基础上,本文提出了若干今后有待进一步深 入研究和探讨的问题。 关键词:o p c 、c o m d c o m 、过程控制系统、组态软件、s o a p 1 l - 山东大学硕士学位论文 l | g 目! 自! ! ! ! _ ! ! 目! ! s e ! ! ! ! ! ! ! ! ! g ! ! ! 目e _ 目! e _ _ l _ 目_ _ - | e a b s t r a c t w i t ht h ed e v e l o p m e n to fi ti nt h ed o m a i no fa u t o m a t i s m ,s e v e r a l l i m i t a t i o n so fo l dc l o s ec o n t r o ls y s t e m sa r er e v e a l e da sf o i l o w s :d o o r f u n c t i o n ,a p p r o p r i a t i v ei n t e r f a c e ,i n f l e x i b l es t r u c t u r e 。h o w e v e r ,n e w p r o c e s s c o n t r o ls y s t e m sc o m p o s e do fs t a n d a r da n do p e ns o f t w a r e h a r d - w a r ep l a t f o r m ss h o wt h e i rg r e a ta d v a n t a g e s o p ci n t e r f a c e s p e c i f i c a t i o n sg i v e a n o p e n a n d h i g h e f f i c i e n t c o m m u n i c a t i o nm e a n sa n dac o i l s i s t e n tm e t h o dt oa c c e s sd a t a0 ff i e l d d e v i c e sf o ri n d u s t r i a lc o n t r 0 1s o f t w a r e f i r s t l y t h et h e s i s b r i e f l y s t a t e sas e to fo p cs t a n d a r d s ,w h i c h t e c h n o l o g y b a s e do nt h e c o m p o n e n tm o d e ,c o m d c o m ,c o m + , w i n d o w sd n aa n dt h e a p p l i c a t i o n o fd i s t r i b u t e d c o m p o n e n t t e c h n 0 1 0 9 y i nt h ei n d u s t r i a la u t o m a t i o n t h e n i t d is s e r f sb a s i c p r i n c i p l e s ,o p co b j e c t ,i n t e r f a c e a n dc o n t e n to fo p cs e v e ns u b s p e c i f i c a t i o n s i nb r i e f a d v a n t a g e s a n d d i s a d v a n t a g e so fo p ca r e a n a l y z e d a c c o r d i n gt o t h es p e c i a l t yo fo p ct e c h n o l o g y ,w ep u tf o r w a r da n e w d e s i g n o fo p c b a s e dd i s t r i b u t e dc o n t r o l s y s t e m t h i ss y s t e m i n c l u d e sf i e l dd e v i c el a y e r ,p r o t e s sc o n t r o ll a y e ra n di n f o r m a t i o nl a y e r a n d c l o s e l y l i n k sd e v i c e s ,c o n t r o ls y s t e m a n dm i s t o g e t h e r i t is c o m p o s e d o fo p cd a t aa c c es s s e r v e r ,h i s t o r i c a ld a t as e r v e r ,a l a r m s e r v e r ,x m ld as e r v e r ,s u p e r v i s o ra n dw e bb r o w s e r i ti saf l e x i l e d e s i g n a n d m a yc a r r y o u tc o n c e n t r a t e d m a n a g e m e n t o rd i s t r i b u t e d m a n a g e m e n tt oe n h a n c ef l e x i b i l i t yo fs y s t e ma n di m p r o v ec a p a b i l i t yo f s y s t e m t h e d e s i g n o fo p cd a t aa c c e s ss e r v e rb a s e do ni os e r v e r c o m p o n e n ta n dd e s i g nm e t h o d so fo p cs e r v e rf o rd i f f e r e n tp r o t o c o l s a r ea ls os t u d i e di nt h ist h e s is t h ei m p l e m e n tp r o c e d u r eo fa no p c s e r v e rf o rm o d b u sr t ui sg i v e n i n a d d i t i o n ,u s i n gc o m d c o m o p c ,w ei n d e p e n d e n t l y d e s i g n a n d d e v e l o p a d v a n c e d c o n f i g u r a t i o n s o f t w a r e i n t e g r a t e d w i t ho p c i i i 山东大学硕士学位论文 j i i ip l i 曼鼍皇皇詈量e l c l i e n t t h i ss o f t w a r eh a s g o o do p e r a b i l i t y ,d i s t r i b u t i o n a n d m o d u l a r i z a t i o n i t a d a p t s m u l t i - t h r e a d sa n dc o n c u r r e n c yt a s k ss t r u c t u r e a n d n o f i e p r e e m p t i o np r i o r i t ys c h e d u l i n g w i t hf e e d b a c kt 0 s h e r t e nd e v i c eo bj e c ta c c e s st i m ea l l de v e n tr e s p o n s et i m er n d t o i m p r o v e r e a l 一t i m e a b i l i t y i ti n c l u d e s d e v i c ed r i v e m o d u l e , d a t a b a s e s y s t e m ,g r a p h i c sc o n f i g u r a t i o n , a l a r mm o d u l ea n d r e p o r t m o d u l e t h e d e s i g n a n d i m p l e m e n t o f t c l e s u p e r v i s i n g o n i n t e r n e t i n t r a n e ta p p l y i n go p c ,a c t i v e xa n dx m la r ea l s od i s c u s s e d i nt h i st h e s i s m e a n w h i l e w ed i s c u s st h es t r u c t u r eo f0 p cx m ld a t a a c c e s ss e r v e r t h i ss o f t w a r eh a sp o w e r f u lf u n c t i o n ,g o o do p e r a b i l i t y , f l e x i b i l i t y a n d h i g hr e l i a b i l i t y i t h a sb e e n s u c c e s s f u l l ya p p l i e d i n s e v e r a li n d u s t r i a lm o n i t o r i n gp r o j e c t s a tl a s t ,o nt h eb a s i so ft h es u m m a r i z a t i o no ft h er e s e a r c hw o r k , t h ef u r t h e rd e v e l o p m e n ta b o u to p ci sd i s c u s s e d k e y w o r d :p r o c e s s - c o n t r o ls y s t e m ,c o m d c o m ,o p c ,c o n f i g u r a t i o n s o f t w a r e ,s o a p i v - 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究所取得的成果。除文中已经注明引用的 内容外,本论文不包含任何其他个人或集体已经发表或撰写 过的科研成果。对本文的研究做出重要贡献的个人和集体, 均已在文中以明确方式标明。本声明的法律责任由本人承 担。 论文作者签名: 主盎 日期: 迎生:;:1 2 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅:本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:垒l 导师签名:1 墨日 山东大学硕士学位论文 竺! ! ! ! 竺! ! ! ! 鼍! ! ! ! 詈! 詈巴! ! ! ! 詈暑詈苎苎詈! ! 詈! 竺! ! 苎鼍! ! ! ! ! 芒 第一章课题技术背景 随着计算机技术在各个领域的不断深入与发展现代工业生产规 模的不断扩大,工艺过程复杂程度的提高,人们对工业自动化技术的 要求也越来越高。新型的工业自动控制系统正以标准的工业计算机软、 硬件平台构成的集成系统取代传统的封闭式系统。 、 1 9 9 5 年,由艾默生过程管理、微软和i n t e l l u t i o i l 等多家公司牵 头开发了o p c 技术,从而产生了一个在实时系统里高速通信的标准。 这个接口标准已经在世界范围内被广泛采用。 1 1 o p o 标准简介 o p c 全称o l ef o rp r o c e s sc o n t r o l ( 用于过程控制的o l e ) ,是在 微软的合作下,由o p c 基金会组织倡导,全世界范围内自动化领域中 处于领导地位的厂商协作制定的软件接口标准。它是基于微软的o l e ( 现称为a c t iv e x ) 、c o m ( c o m p o n e l 3 to b j e c tm o d e ) 和d c o m ( d is t r i b u t e d c o m p o n e n to b j e c tm o d e ) 技术,由一系列用于过程控制的自动化领域 标准接口、属性以及方法组成。o p c 提供了一种单一、一致的工业标准 接口。它允许软件供应商将更多的精力集中到增加软件的功能上,而 不是开发一系列专有的硬件设备驱动程序。o p c 提供了一个环境,鼓励 设备制造商投资开发他们自己的o p c 服务器,而且同样的服务器能被 支持o p c 客户端的h m i 、s c a d a 、d c s 或其他软件系统所访问。这激励 了设备制造商把他们开发工业网络方面所获得的知识转向o p c 服务器 的开发上,从而保证了设备的性能能够达到最优。 o p c 的目标是开发出一个开放的、灵活的、即插即用的工业标准, 使最终用户对解决方案拥有很大的选择余地,同时大大减少硬件和软 件供应商的开发和维护费用。 o p c 结构采用客户机服务器模式。利用o p c 技术,异构计算环境 中的系统集成变得很简单【2 】。 山东大学硕士学位论文 三烹烹詈詈! ! ! 竺! 竺竺皇! ! ! ! ! 鼍! ! ! 詈! ! 皇詈詈烹鼍! 量! 皇詈詈暑 图卜lo p c 技术的异构计算环境 从图1 1 可以看出,在这种异构网络中,o p c 数据服务器负责对 设备的访问,客户通过标准的接口访问其中的数据。o p c 数据服务器 向下与设备相连,向上通过i n t r a n c t 或i n t e r n c t 与客户端相连。 1 20 p c 技术基础 o p c 规范在短短的几年里发展如此之快,得益于0 p c 技术内涵。它基 于m i c r o s o f t 的o l e c o m 和d c o m 技术,包括了一整套自动化应用中使用的 接口、属性和方法的标准。m ic r o s o f t 是o p c 基金组织的发起成员之一, 它把自己的c o m d c o m 等新技术带给了0 p c 基金组织。这些技术为工业控 制领域里晟重要的数据交换环节提供了技术保证。 1 2 1g o m d o o m 组件对象模型( c o m p o n e n to b j e c tm o d e l ,简称c o m ) ,是一种以组 件为发布单元的对象模型,这种模型使各软件组件可以用一种统一的 方式进行交互。c o m 既提供了组件之间进行交互的规范,也提供了实现 交互的环境。组件对象之间交互的规范不依赖于任何特定的语言,所 以c o m 也可以是用不同语言协作开发的一种标准。组件模型为c o m 对 象提供了活动的空间,c o m 对象以接口的方式提供服务,图1 2 表明了 c o m 组件、c o m 对象和c o m 接口三者之间的关系【4 】。 山东大学硕士学位论文 ! ! ! ! ! ! ! ! 曼! ! ! ! ! 苎! ! ! ! ! 苎! ! ! 皇! ! ! ! ! ! ! ! ! ! ! ! ! ! 竺! ! ! ! ! 曼! ! ! ! ! 竺! ! 曼 c o m 组件 畀畀 图l - 2c o m 组件结构图 一个组件程序可以包含多个c o m 对象,而且每个c o m 对象可以 实现多个接口。当另外的组件或普通程序( 即组件的客户程序) 调用 组件的功能时,它首先创建一个c o m 对象或者通过该对象所实现的 c o m 接口调用它所提供的服务。当所有的服务结束后,如果客户程序 不再需要该c o m 对象,那么应该释放掉对象所占有的资源,包括对象 自身。 c o m 标准包括规范和实现两大部分,规范部分定义了组件和组件 之间通信的机制,这些规范不依赖于任何特定的语言和操作系统,只 要按照该规范,任何语言都可以使用”j 。 c o m 主要是由对象和接口两部分组成。对象是某个类( c l a s s ) 的一 个实例;而类则是一组相关的数据和功能组合在一起的一个定义。使 用对象的应用( 或另一个对象) 称为客户,有时也称为对象的客户。 接口是一组公用功能定义p i ,是一组逻辑上相关的函数集合,其函数称 为接口成员函数。按照习惯,接口名称常以”i ”为前缀,例如 ”i u n k n o w n ”对象通过接口和成员函数为客户提供各种形式的服务。 在国际上有很多先进的工业自动化软件都采用了c o m 技术。 i n t e l l u t i 。n 公司的f i x 软件就是一个典型的例子。f i x 软件是由多个 组件构成的,核心组件是一个实时数据库,并可根据需要装上其它的 功能组件。这样就很容易地、可靠地把别的组件加载进来t 或者更换 己有的组件,使之具有新的功能。 m i c r o s o f t 的分布式c o m ( d c o m ) 扩展了组件对象模型技术 ( c o m ) ,使其能够支持在局域网、广域网甚至i n t e r n e t 上不同计算机 的对象之间的通讯。使用d c o m ,应用程序就可以分布到网络不同的 位置,从而满足客户和系统的需求1 4 j 。 山东大学硕士学位论文 ! ! 竺竺! 竺! ! ! ! 鼍寡烹詈詈! ! ! ! ! ! ! ! ! ! 鼍詈! 曼! 詈詈! 鼍詈鼍詈皇! 詈! ! 詈詈詈基 在现在的操作系统中,各个进程之间是相互屏蔽的。当一个客户进 程需要和另一个进程中的组件通讯时,它不能直接调用该进程,而需 要遵循操作系统对进程间通讯所做的规定。c o m 使得这种通讯能够以 一种完全透明的方式进行:它截取从客户进程而来的调用并将其传送 给另一进程中的组件。 当客户进程和组件位于不同的机器时,d c o m 仅仅只是用网络协 议来代替本地进程之间的通讯。无论是客户还是组件都不会知道连接 它们的线路比以前长了许多。 d c o m 的整体结构是:c o m 运行库向客户和组件提供了面向对象 的服务,并且使用r p c 和安全机制产生符合d e 0 m 线路协议标准的网 络包。 d c o m 使得组件的位置对你来说完全透明,无论它是位于客户的 同一进程中或是在地球的另一端。在任何情况下,客户连接组件和调 用组件的方式都是一样的。d o o m 不仅无需改变源码,而且无需重新 编译程序。一个简单的再配置动作就改变了组件之间相互连接的方式。 d c o m 的位置独立性极大地简化了将应用组件分布化的任务,使其能 够达到最合适的执行效果。 在设计和实现分布式应用系统时,一个普遍的问题就是为开发一 个特定的组件而选择语言以及工具的问题。作为c o m 的扩展,d c o m 具有语言独立性。任何语言都可以用来创建c o m 组件,并且这些组件 可以使用更多的语言和工具,例如j a v a ,v i s u a lc + + ,v i s u a lb a s i c , d e l p h i 和p o w e r b u i l d e r 都能够使用d c o m 组件进行开发。 d c o m 通过给每个组件保持一个索引计数来管理对组件的连接问 题,这些组件有可能是只连接一个客户上。也可能被多个客户所共享。 当一个客户和一个组件建立连接时,d c o m 就增加此组件的索引计数。 同理,当客户释放连接时,d o o m 就减少此组件的索引计数。如果索 引计数为零,组件就可以被释放了。 1 2 2c o m + 技术及w in d o w sd n a c o m + 综合了c o m 、d c o m 和m i c r o s o l tt r a n s a c tio ns e r v e r ( m t s ) 这些技术要素,它把c o m 组件软件提升到应用层而不再是底层 的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应 旦星占! 垫丛查塑鲑笪塞星塑堇壁垒堡堡墨堕:垦些:曼q 凹:皇堡堡墨 4 - 山东大学硕士学位论文 ! ! ! ! ! ! 曼! ! 竺皇鼍! ! ! ! 詈詈! ! ! ! ! 竺! ! ! ! 鼍曼! ! ! ! ! ! 竺! ! ! ! ! 统的结合更加紧密1 5 】。 c o m + 的系统服务包括事务、队列、对象池、内存数据库、安全模型 以及管理特性等结合m t s 的多方面内容【6 1 。通过这些服务,我们可以很 容易开发出多层结构的应用系统。c o m + 以系统服务的形式为应用提供了 许多新特性,客户或者组件程序可以直接利用这些系统服务,避免了底 层的细节处理,减少了开发成本,同时也减小了犯错误的可能性;同时, 有些系统服务包装了较复杂的逻辑甚至是底层的系统资源管理,这简 化了应用层的访问;另外,使用系统服务可以增强应用程序的可靠性。 与c o m 相比,c o m + 与操作系统结合得更为紧密;与m t s 相比较,c o m + 简化了分布式应用的开发。c o m + 已经成为基于微软平台分布式应用的重 要技术基础。c o m + 具有如下几个主要的特性: 夺高性能、可伸缩。c o m + 提供了负载平衡、对象池、可管理、易于配 景等特性较大地提高了分布式应用的性能和伸缩性。 夺松散的客户机服务器连接。c o m + 底层提供了队列组件服务,这使客 户和组件有可能在不同的时间点上协同工作,c o m + 应用无须增加代 码就可以获得这样的特性。 事件通知机制。新的事件机制使事件源和事件接收方实现事件功能 更加灵活,利用系统服务简化了事件模型。避免了c o m 可连接对象机 制的琐碎细节。事务处理功能。继承并发展了m t s 的特性。从c o m 到 m t s 是一个概念上的飞跃,c o m + 则完成并实现了事务处理功能。 夺易于开发。c o m 组件的开发一直是w n d o w s 平台上应用开发的难点。 c o m + 丌发模型大大简化了以前的c o m 组件丌发模式。 c o m + 标志着微软的组件技术达到了一个新的高度。c o m + 与多层应用 架构及w i n d o w s 操作系统平台的结合为企业应用提供了一套完整的解决 方案【5 1 。 w i n d o w sd i s t r i b u t e di n t e r n e ta p p l i c a t i o n sa r c h i t e c t u r e ( w i n d o w s d n a ) 是微软多年积累下来的技术精华集合起来而形成的一个完整的、 多层结构的企业应用总体方案,它定义了十几种不同的m i c r o s o f t 产品和 技术如何协调在一起的整体框架,使w i n d o w s 真正成为企业应用平台。 w n d o w sd n a 的核心是集成w e b 和客户机,服务器计算模型。w i n d o w s d n a 描述了企业级应用如何利用分布式应用程序服务、分布式基础服务 和w i n d o w s 平台的公共界面。以及如何利用其它有用的w e b 技术。 山东大学硕士学位论文 置詈詈! ! ! 鼍鼍詈詈! ! 曼! ! ! 苎竺! ! ! 竺! ! ! ! 曼! ! ! ! 毫! ! ! 鼍鼍! 詈詈詈鼍 1 3 组件技术在工业监控中的应用 计算机技术的不断发展为用户带来了日益复杂的应用程序。现代软 件应用程序复杂,开发耗时,维护困难而且代价高昂,扩展其功能将冒 很大风险。应用程序不能对外开放,程序的数据和功能都不易为其它程 序所共享。 然而遵守c o m 架构的软件可以较好地解决这些问题。基于组件编程 模型的主要目的之一是发挥互操作性。在组件软件的环境中,互操作性 是组件协同工作的种能力。如果工程软件是不自然地强行集成在一 起,那么该应用程序就应该分成多个组件。 微软在c o m 的基础上提出了w i n d o w sd n a 三层软件体系结构,把一 个软件体系分为表示层、商业层和数据访问层i ”。微软与工业领域代表 性公司一直有很好的合作关系,如i n t e l l u t i o n 、w o n d e r w a r e 、 h o n e y w e l l 、g e 、s ie m e n s 等,并积极地将包括分布式组件在内的一系列 微软技术推向工业领域。对于分稚式组件技术,微软结合其d n a 应用体 系,提出了如图卜3 所示的工业自动化行业应用框架i8 1 。可以看出。c o m 分布式组件技术在这个框架中占据核心的位置。 e r p m r pi i o p c - x m l i n t e m e t - n e t h m t j m e s s c a d a a d v o p c b a t c h c o n t r o i l p c b a s e d l i c o n t r o l i o p c ,o l ed b ,o m a c ,x l 牛千 l 儿c 懈l 刮| a c c i lj l l m s d c s n e t w o r ku i s i t i o n 图卜30 p c 工业自动化行业应用框架 如前所述,采用分布式组件技术设计的软件体系都是分布式的。 但是分布对象技术应用起来比较复杂,因为这种软件通常都比较庞大, 涉及到网络、面向对象、并发控制等多项技术,系统开发难度很大。 通过基于组件的软件方法进行开发和集成,分布式系统的开发就不再 困难。目前,国外利用分布对象技术开发的大型应用系统也不是很多, 但发展较快。在技术的应用方面,国内与国外有较大的差距,这种差 距是全面的,包括标准、支撑平台和成功的应用。一般来说,分布式 6 山东大学硕士学位论文 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 詈! ! ! ! ! ! ! ! ! ! 竺! ! ! ! ! ! ! ! ! ! ! 苎! 詈! 竺! i ! ! ! ! ! ! 竺 应用发展的趋势是c s 两层结构、b s 三层结构、分布对象模式。目前 国外基本上已经从b s 三层结构向第三代分布对象模式过度。 山东大学硕士学位论文 ! 鼍詈! 鼍! 鼍苎苎! ! ! ! 皇暑! 苎皇皇鼍詈詈鼍! ! 皇! ! ! ! ! ! 竺竺! ! ! ! ! ! 皇鼍! 署 第二章o p c 标准技术分析 o p c 接口标准关键在于提供了一种开放、高效的通信机制【9 1 ,它 所关心的是现场数据的存取方式而不是实际的数据类型,它给工业监 控软件提供了一种一致的存取现场设备数据的方法。 2 1 o p c 对象与接口 o p c 规范描述了o p c 服务器需要实现的c o m 对象及其接口,它定 义了定制接口( c u s t o mi n t e r f a c e ) 和自动化接口( a u t o m a t i o ni n t e r f a c e ) 。 每种o p c 规范又分定制接口规范和自动化接口规范二部分,以方便开 发者设计和实现o p c 服务器程序或客户程序。 图2 1 自动化接口和定制接口 两种接口分别为不同的编程语言环境提供访问机制。自动化接口 提供了一个自动配置和存取过程数据的接口,它是为基于描述性编程 语言而定义的标准接口,可以为v b 程序、e x c e l 及其他可以使用o l e 自动化服务器接口的应用程序使用。而定制接口描述了0 p c 组件和对 象的接口及其中的方法,适用于期望获得最佳运行性能的客户应用程 序,是专门为c + + 等高级编程语言而制定的标准接口。实际上o p c 设计的目的就是使用标准接口实现网络上任意支持该标准的节点获取 数据,而不需要考虑底层的变化。 在有些情况下,o p c 基金会提供了标准的自动化接口封装器 ( w r a p p e r d 1 1 ) 。以方便自动化接口和定制接口之间的转换,使采用自动化 接1 :3 的客户程序也可以访问只实现了定制接口的服务器l l 。 o p c 规范定义了c o m 接口,规定了服务器程序和客户程序通过接口 交互的标准,但并没有说明具体实现的方法。o p c 服务器供应商必须根 据各自硬件特性实现这些接口的成员函数。不论定制接口还是自动化 接口都可分为必选接口和可选接i - 1 。必选接口包括了客户程序与服务 器进行交互的基本功能,因此必须实现;可选接口则规定了一些额外的 高级功能,可根据需要有选择地实现。客户程序应通过查询接口的方式 山东大学硕士学位论文 皇! ! 竺! ! ! ! ! ! ! ! ! ! ! ! 苎皇! ! ! 墨墨! ! ! ! ! ! 罡! ! ! ! ! 竺苎! ! ! ! ! ! ! ! ! 竺竺 来判断服务器程序是否实现了可选接口的功能。 2 2o p c 标准的组成 o p c d a l o 1 9 9 6 年9 月 0 p c a & e 1 9 9 9 年1 2 月 o p ch d a l 0 2 0 0 1 年1 月 o p cd x l o 2 0 0 1 年1 2 月 p c x m l l 2 0 0 3 年6 月 o p c 发展历程 o p c b a t c h ll o p cs e c u r i t y l 0 l o p c d a 2 1 | 1o p c d a 3 0 1 9 9 9 年1 2 月| l2 0 0 0 年l o b2 0 0 1 年l o 月| | 2 0 0 3 年3 月 图2 2o p c 标准地发展历史 自从1 9 9 5 年o p c 标准化组织成立以来,o p c 基金会已经发布多 个o p c 规范,其中包括:o p cd a t aa c c e s s 数据存取规范,o p cd a t a e x c h a n g e 数据交换规范、o p ch is t o r i c a ld a t aa c c e s s 历史数据存取规 范和o p ca l a r m sa n de v e n t s 报警和事件规范、o p cb a t c h 批处理规范、 o p cs e c u r i t y 安全规范、o p cx m l 数据存取规范。 规范的组成结构如下图所示: o p c o v e r v i e w c u s o p t o m cs e n t c u 。r 舭i t y ;i 。p i c c o m m 产m 渤f o p c x m l d a t a a c c e s s o p cs e c u r i t y a u t o m a t i o n 0 p ca l a n n sa n de v e n t s i n t e f f a c e c u s t o mi n t e r f a c e l o p c d a m a c c e s s i o p ca l a m a sa n de v e n t s o p ch i s t o r i c a l 厂一 c u s t o mi n t e r f a c e 】 a u t o m a t i o ni n t e r f a c e d a t aa c c e s s l o p c b a t c h c u s t o mi n t e r f a c e c u s t o m o p cd a t aa c c e s s l i n t e r f a c e a u t o m a t i o n o p ch i s t o r i c a l i i n t e r f a c e d a t ea c c e s s o p c b a r c h a u t o m a t i o n a u t o m a t i o ni n t e r f a c e i n t e r f a c e 图2 3o p c 标准规范组成结构图 下面,将具体介绍一下这几个规范: 山东大学硕士学位论文 苎! ! ! ! ! ! ! ! 鼍詈皇! ! 竺皇! 烹! ! ! 詈! 量鼍曼鼍詈! ! ! ! ! 竺皇! ! ! 曼! ! o p c 数据存取( d a t a a c c e s s ) 规范定义了o p c 服务器中一组c o m 对 象及其接口,并规定了客户程序对服务器程序进行数据存取时需要遵 循的标准。 在数据存取规范中,一个o p c 的数据存取服务器中包括几类对象: 服务器( o p ts e r v e r ) 、组( o p cg r o u p ) 和项( o v ci t e m ) 1 。 o p c 服务器对象维护有关服务器的信息并作为o p c 组对象的包容 器。o p c 服务器对象主要实现i u n k n o w n 和i o p c s e r v e r 接口,o p c 客户通过o p c 服务器的接口与o p c 对象进行通信,对 数据源进行存取。数据源可以是现场的 i o 设备,也可以是其他应用程序。服 务器内部封装了与i o 控制设备通讯及 操作的具体实现过程。 o p c 组对象维护有关其自身的信 i 生i2 - 4o p cd a 中的对象 息,提供包容o p c 项的机制,并管理o p c 项。它提供了一种客户程序 组织数据的手段。例如,一个组中可以包括一个设备中所有的数据项, 客户程序和数据项之间可以建立基于“订阅”的连接。有两种类型的 组,公共组( p u b l i cg r o u p ) 和局域组( l o c a lg r o u p ) 。公共组可以被多个 客户共享,而局域组只能被一个客户使用。每个组中都可以定义一个 或多个0 p c 项。 o p c 项代表了与服务器中的数据连接。从定制接口( c u s t o m i n t e r f a c e ) 的角度看,o p c 项不能被o p c 客户作为一个对象直接进行操 作。因此,没有为o p c 项定义的外部接口。所有对o p c 项的操作都是 通过包含此项的o p c 组对象进行的。每个项都有数值( v a l u e ) 、品质 ( q u a l i t y ) 和时间戳( t i m es t a m p ) - - - 个属性,值的类型为v a r i a n t ,品质的 类型是s h o r t 。数值代表数据项的值,品质代表数值的可信度,时间戳 代表数据的存取时间。 o p c 的数据传输机制主要分为同步读写和异步读写两种。同步数 据传输是指,客户直接调用o p c 服务器的i o p c s y n c l o 接口的同步读 写函数,在发出数据请求后一直等待,直到数据返回。这种方法虽然 简单可靠。但当o p c 服务器采集现场数据的时间很长时,客户等待的 时间就会很长,这就降低了客户程序的效率。 山东大学硕士学位论文 异步数据传输是指,客户在发出数据请求后,可立即返回进行其 它处理,o p c 服务器在得到数据请求后,访问设备,读写数据后主动 把采集的结果通知客户端。这种传输机制的优点是:可以避免空等待, 提高了客户程序的效率。 o p c 的异步数据传输又分为两种方式:异步读写和订阅。在订阅 方式下,客户提出一次订阅请求,服务器将周期性采集数据,传给客 户,直到客户取消订阅为止【3 】。如果客户程序想一直监视某些变量,则 使用订阅方式较好。在异步读写方式下,客户提出一次请求,服务器 相应进行一次数据读写,然后通知客户,这次操作结束。对于异步读 写操作,服务器只是对要读写的组和项作一下标记,调用后就返回。 当服务器读写完成后,主动把数据通知客户端。该过程需要调用服务 器端i o p c a s y n c l 0 ( ) ,i d a t a o b j e c t o 接口和o p c 客户端的i a d v i s e s i n k ( ) 接口。 o p c 标准规定了s e r v e r 和g r o u p 两种对象应该支持的接1 2 1 。下面 是o p cd a 2 0 3 标准中的接口定义。【”】 i l u n k n o w n i o p c c o r r a n o n i o p c s e n ,e r 【1 0 p c s e r v e a p u b l i c g r o u p s 】 i o p c b r o w s e s e r v e r a d d r e s s s p a c e 【i p e m i s t f i l e 】 i c o n n e e t i o n p o i n t c o n t a i n e r i o p c i t e m m g t l o f c g r o u p s t a t e m g t 【i o f c p u b l i c g r o u p s t a t e m g t l o p c s y n c l 0 i o p c a s y n c l 0 2 i c o n n t i o n p o i n t c o n t a i n e r f i o p c a s y n c l 0 2 o l d 【i d a m o b j e e t o l d 图2 5 标准的o p cs e r v e r 对象和g r o u p 对象 i u n k n o w n :c o m 标准接1 :3 定义,包括a d d r e f ,r e l e a s e 和 q u e r y i n t e r f a c e i o p c c o m m o n :处理错误字符串和本地化语言。 i o p c s e r v e r :创建、获得和删除组,生成组的状态信息和错误信 息。 i c o n n e c t i o n p o i n t c o n t a i n e r :支持连接点,客户可在s e r v e r 关闭时 获得通知。 i o p c br o w e s e r v e r a d d r e s s s p a c e :使客户获得s e r v e r 包含的所有项 山东大学硕士学位论文 竺鼍! ! ! ! ! ! ! 竺苎竺! ! ! 鼍詈! ! 詈! ! ! ! 鼍鼍暑皇苎! 竺竺! 皇! 竺竺竺! ! ! ! 曼苎! ! ! ! 的名字。 o p cg r o u p 对象有七个接口,其中六个是必须的。当客户创建组 时,获得组的接口。由于任何一个接口都可以从同一对象上的其它任 意接口上查询所以客户可以获得七个接口中任意一个并保持接口。 i u n k n o w n :所有c o m 对象都支持的接口 i o p c g r o u p s t a t e m g t :获取并设置组参数,例如名字、刷新频率、 活动状态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品牌塑造中的文化情感表达
- 2025年全科护理主动脉夹层紧急处理答案及解析
- 2025年眼科常见眼病诊断鉴别能力评估答案及解析
- 2025年唐山市市直事业单位招聘277人笔试备考题库及答案详解1套
- 2025年四川专升本模拟测试题及答案
- 2025四川乐山学校招聘编外教师5人笔试备考试题及答案解析
- 2025年工业互联网平台AR交互技术在供应链管理中的应用策略报告
- 2025年老年医学老年常见疾病综合护理评估试卷答案及解析
- 2025年教育质量评估与认证体系在职业教育培训中的应用
- 2025年三级舞美设计师考试真题及答案
- 十二指肠恶性肿瘤护理查房
- 【MOOC】《医学心理学》(北京大学)章节期末中国大学慕课答案
- 《国际跳棋教学》课件
- 办公楼安防系统方案
- 食品进货与供货商档案相对应制度模版(3篇)
- 健康与社会照护第三届全省职业技能大赛健康与社会照护项目技术文件
- 《外科无菌术》课件
- 《幼学琼林》全文原文及注释译文
- 23J916-1 住宅排气道(一)
- Unit 2 Travelling Around Reading and Thinking 课件高中英语人教版(2019)必修第一册
- (高级)航空油料特设维修员(三级)理论考试题库-上(单选题)
评论
0/150
提交评论