(信号与信息处理专业论文)opc技术的实现与应用.pdf_第1页
(信号与信息处理专业论文)opc技术的实现与应用.pdf_第2页
(信号与信息处理专业论文)opc技术的实现与应用.pdf_第3页
(信号与信息处理专业论文)opc技术的实现与应用.pdf_第4页
(信号与信息处理专业论文)opc技术的实现与应用.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(信号与信息处理专业论文)opc技术的实现与应用.pdf.pdf 免费下载

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

文档简介

原创性声明 本人声明:所譬交的学位论文是本人在导师的指导下进行的研究j 作及取得的研究成果。除本文已经 注明引用的内容外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得凼墓直太堂及其 他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示谢意。 学位论文作者躲瑙埠指导教师虢握鱼: 日期:迎翌:! 丝e t期:塑f 芝:! 丝 在学期间研究成果使用承诺书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:内蒙古大学有权将学位论文的全 部内容或部分保留并向国家有关机构、部门送交学位论文的复印件和磁盘,允许编入有关数据库进行检索, 也可以采用影印、缩印或其他复制手段保存、汇编学位论文。为保护学院和导师的知识产权,作者在学期 间取得的研究成果属于内蒙古大学。作者今后使用涉及在学期间主要研究内弈或研究成果,须征得内蒙古 大学就读期间导师的同意;若用于发表论文,版权单位必须署名为内蒙古人学方可投稿或公开发表。 学位论文作者签名:二蝉 e l 期:瑙f q :支,鎏 特教师躲趑翌 日期:丝f 垒:丝 内蒙古人学硕i :学位论文 o p c 技术的实现与应用 摘要 目前,工业自动化系统应用普及,d c s ( d i s t r i b u t e dc o n t r o ls y s t e m ,集散 控制系统) 得到了广泛应用。但是绝大多数工业自动化系统是封闭的系统,缺 乏统一、标准的开放式接口。于是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 基于微软的c o m ( c o m p o n e n to b j e c tm o d e l , 组件对象模型) 与d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对 象模型) 技术,包括一整套的接口、属性和方法标准集,用于过程控制和制造 业自动化系统。 o p c 技术建立了一组符合工业控制要求的接口规范,将现场信号按照统一 的标准无缝连接起来,无须重复开发驱动程序,极大提高了控制系统的互操作 性和适应性,代表了今后过程控制系统通信标准的发展方向。 本文提出了一种基于v c 十+ 的o p c 数据存取服务器的设计,其主要功能是 为o p c 客户端提供数据服务以及从智能设备( i e d ) 获取数据,同时为提高控制系 统的互连和互操作性提供了一种解决方案。文章首先介绍了o p c 规范的主要内 容,然后具体研究了o p c 服务器程序的设计与实现,以及对o p c 服务器的测试。 最后给出了o p c 技术在煤矿生产自动化通风系统中的应用。 关键词:o p c 技术,数据访问规范,a t l ,d c s 应用 t h er e a l i z a t i o na n da p p l i c a t i o no f o p ct e c h n o l o g y a b s t r a c t n o w a d a y s ,a si n d u s t r i a l a u t o m a t i o ns y s t e mp o p u l a r l ya p p l i n g ,d i s t r i b u t e d c o n t r o ls y s t e mh a sb e e nu s e de x t e n s i v e l y b u tm o s to ft h e s ei n d u s t r i a la u t o m a t i o n s y s t e m sa r ec l o s e d ,w h i c ha r es h o r to f t h eu n i f i e da n ds t a n d a r do p e ni n t e r f a c e t h e n t h eo p c ( o l ef o rp r o c e s sc o n t r 0 1 ) t e c h n i q u ec o m e sw i t ht h et i d eo fd e v e l o p m e n t b a s e do nt h em i c r o s o f tc o m ( c o m p o n e n to b j e c tm o d e l ) a n dd c o m ( d i s 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 l ) t e c h n i q u e ,o p cs t a n d a r di n c l u d e sas e r i e so f i n t e r f a c e s , p r o p e r t i e sa n dm e t h o d s ,w h i c hu s e sf o rp r o c e s sc o n t r o la n d m a n u f a c t u r i n gi n d u s t r y a u t o m a t i cs y s t e m t h eo p ct e c h n i q u eh a sb u i l tag r o u po fi n t e r f a c es p e c i f i c a t i o nc o n f o r m i n gt o i n d u s t r i a lc o n t r o ld e m a n d ,a n dl i n k su pt h ef i e l ds i g n a l ss e a m l e s sa c c o r d i n gt ot h e u n i f i e ds t a n d a r d ,r e p e a tt h ed r i v e rd e v e l o p i n gu n n e c e s s a r i l y , m u t u a l l yo p e r a t a b i l i t y a n da d a p t a b i l i t yh a v i n gr a i s e dn a v a rg r e a t l y o p cr e p r e s e n t st h ef u t u r ed e v e l o p m e n t t r e n do fc o m m u n i c a t i o ns t a n d a r d si np r o c e s sc o n t r o ls y s t e m am e t h o df o rt h eo p cd a t a a c c e s ss e r v e rd e s i g nb a s e do nv c + + i sp r o p o s e d , 堕鍪查叁兰堡:! :兰垡笙塞 _ _ _ _ _ _ - - - - _ _ _ _ _ _ - - _ _ _ _ - _ _ _ _ - - i _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ i - _ _ _ _ - - 一一 w h i c hc a np r o v i d et h ed a t a s e r v i c ef o ro p c c l i e n tf r o mt h ei n t e l l i g e n te l e c t r o n i c d e v i c e s ( 1 e d ) a n di m p r o v et h ei n t e r c o n n e c t a b i l i t ya n d t h eo p e r a t a b i l i t yo fs y s t e mi n c o n t r 0 1 t h ep a p e ri n t r o d u c e st h eo p c s t a n d a r da tf i r s t ,a n dt h e ng i v e st h ed e s i g na n d r e a l i z a t i o no fo p cs e r v e ri nv c + + p r o g r a m ,a sw e l la st h et e s to fo p c s e r v e r a t l a s t ,i tp r o v i d e sae x a m p l e o ft h ea p p l i c a t i o no fo p ct e c h n o l o g yi nv e n t i l a t i o no f c o a l m i n ed c s k e y w o r d s :o p ct e c h n i q u e ,d a t aa c c e s ss p e c i f i c a t i o n ,a t l ,d c sa p p l i c a t i o n 内蒙古人学倾i :学位论文 目录 第一章引言o p c 产生背景1 1 1 工控软件的发展l 1 2o p c 的现状与发展2 1 2 1o p c 历史及现状。2 1 2 2o p c 技术的发展2 1 3 论文研究的主要内容及意义3 第二章o p c 规范的内容5 2 1 概述5 2 2o p c 数据存取规范6 2 2 1o p c 数据存取规范详述6 2 2 2o p c 数据存取规范的基础信息一8 2 2 3o p c 服务器对象及其接口n 2 2 4o p c 组对象及其接口1 4 2 2 5 客户端接口l8 2 3o p c 规范适用的范围1 9 2 4 本章小结1 9 第三章o p c 技术的实现2 0 3 1c o m 、o l e 技术概述2 0 3 2a t l 技术一21 3 3o p c 数据存取服务器的设计2 4 3 3 1 建立服务器框架2 5 3 3 2 创建o p c s a v e r 对象和o p c g r o u p 对象2 7 3 3 3o p c s e 埴 v c r 对象的实现3 0 3 3 4o p c g r o u p 对象的实现3 5 3 3 5 实现o p c 服务器的异步通讯4 l 3 3 6o p c 服务器的注册4 4 内蒙古人学硕i :学位论文 3 4o p c 服务器的测试。4 7 3 5 利用d c o m 技术实现远程o p c 服务器5 0 3 5 1d c o m 概述5 0 3 5 2 实现方法5 1 3 6 本章小结5 l 第四章o p c 技术的应用矿井通风系统5 2 4 1 矿井通风系统概述5 2 4 1 1 系统网络拓扑5 2 4 1 2 系统硬件配置。5 3 4 2 力控组态软件的介绍5 4 4 2 1 组态软件定义5 4 4 2 2 组念软件组成5 4 4 2 3 组态软件体系结构5 5 4 2 4 力控的o p c 接口5 6 4 2 5o p c 服务器与实时数据库的连接5 7 4 3 采用o p c 技术开发通风监控系统5 7 4 3 1 服务器端的实现5 9 4 3 2 客户端的实现6 2 4 3 3 组态图形界面6 6 4 3 4 通过网络访问力控o p c s e n v e r o p c c l i e n t 的d c o m 配置7 0 4 4 本章小结7 6 第五章结论与展望7 7 5 1 本论文所做的工作7 7 5 2 展望7 7 参考文献7 8 附录8 0 致谢8 3 攻读学位期间参与的科研项目8 3 内蒙古人学烦i j 学位论文 第一章引言一o p c 产生背景 1 1 工控软件的发展 随着科学技术的进步,工业控制系统的发展经历了从单机系统,到集中分布式系统、集 散d c s 系统、f c s 系统的发展过程,相应的系统控制软件也由专用、单任务、单机发展到可 组态、通用、网络化的阶段,总的发展趋势是向开放性方向发展。现在工业自动化系统的应 用非常普及,但是目前工业自动化系统绝大多数是封闭的系统,缺乏统一的、标准的开放式 接1 2 1 ,存在以下几点缺吲i i j : 1 ) 重复开发。每个软件系统的开发商必须为每个特定的硬件开发一个驱动程序。 2 ) 不同的开发商之间的驱动程序不一致。软件开发商各自从自己的需求出发,采用不同的数 据交换协议开发驱动程序,从而使得各开发商之间的驱动程序不一致,且驱动程序不支持所 有的硬件特性。 3 ) 不支持硬件特征的变化。由于驱动程序是由软件开发者开发,硬件特征的变化会使有的驱 动程序失效,为了适应硬件特征的新变化,软件的开发者必须为硬件开发新的驱动程序。 4 ) 访问冲突。一般来说,由于使用不同的驱动程序,两个软件包不能同时访问同一设备。硬 件开发商试图用开发驱动程序的方法来解决这一问题,但不同的客户采用不同的客户协议, 所以无法实现。 为了解决上述工业控制领域的问题,利用微软公司的o l e c o m ( o b j e c tl i n k i n ga n d e m b e d d i n g c o m p o n e n to b j e c tm o d e l ,对象链接与嵌入组件对象模型) 技术实现工业控制领域 数据交换的标准化,正是o p c ( o l ef o r p r o c e s sc o n t r o l ,用于过程控制的o l e ) 技术的目的。 o p c 技术建立了一组符合工业控制领域要求的接口规范,把现场信号按照统一的标准与 s c a d a ( 监控与数据采集系统) 、h m i ( 人机接口) 等软件无缝的连接起来,同时将硬件与应用 软件有效地分离开。只要硬件开发商提供了带有o p c 接口的服务器,任何支持o p c 接口的 客户程序都可以采用统一方式对不同的硬件厂商的设备进行存取,不用重复开发驱动程序。 这样极大地提高了控制系统的互操作性和适应性。 内蒙古人学硕i :学位论文 1 2o p c 的现状与发展 1 2 1o p c 历史及现状 o p c 是基于m i c r o s o f t 的o l e ( a c t i v e x ) 、c o m & d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c t m o d e l ,分布式c o m ) 、x m l & i n t c m n e t 和n e t 技术的工业标准,定义了一个接口的开发标准, 实现了客户端和服务器之问进行数据交换。目前大多数的仪表及控制软件生产厂商都支持该 标准。 由提供工业制造软件的5 家公司组成的o p c 特别工作组,开发了早期的o p c 标准。早 在1 9 9 5 年,f i s h e r - r o s e m o u n t 、i n t e l l u t i o n 、r o c k w e l ls o f t w a r e 、i n t u i t i v et e c h n o l o g y 以及o p t 0 2 2 就开发了原始的o p c 标准,作为技术顾问微软给予了支持。o p c 基金会( o p cf o u n d a t i o n , o p c f 1 ,1 9 9 6 年9 月2 4 日在美国的达拉斯加举行了第一次理事会,并在同年l o 月7 日美国 芝加哥举行的第一次全体大会上宣告成立。之后为了普及和进一步改善,在1 9 9 6 年8 月完成 的o p c 数据访问标准版本1 0 ,开始了全球范围的活动。现在o p c 基金会的理事会是由 f i s h e r - r o s e m o u n t 、i n t e l l u t i o n 、r o c k w e l ls o f t w a r e 、h o n e y w e l l 、n a t i o n a li n s t r u m e n t 以及欧洲 代表s i e m e n s 和远东代表东芝公司组成。 在日本,于1 9 9 6 年1 0 月1 7 日成立了由1 1 家公司作为发起人的日本o p c 协会( o p c - j ) , 与此同时欧洲的o p c 协会( o p c e ) 也相继成立。在中国,也于2 0 0 1 年1 2 月由5 家公司作为 发起人正式成立了中国的o p c 促进会( o p c c ) 。o p c 基金会从成立之后,会员逐渐增加,在 全球范围内已经有近4 5 0 家公司加入了这个国际标准组织,并且由控制设备厂商和控制软件 供应商提供的o p c 产品也日益增加。目前为止,由o p c 基金会发行的o p c 产品目录上,已 有8 0 0 种以上的o p c 服务器产品和o p c 应用程序。 1 2 2o p c 技术的发展 o p c 规范已经发展成为了一个很广泛的体系,现在有的和正在开发的o p c 标准如表1 1 t 1 2 】 所示: 2 内蒙古人学硕1 :学位论义 表 1 现有的o p c 标准1 2 】 t a b l e1 1e x i s t i n go p cs p e d f i c a t i o n 1 2 l 争二 标准版本内容 d a t aa c c e s s1 0 2 0 3 o数据访问的标准 a l a r ma n de v e n t s1 0 2 0报警和事件的标准 h i s t o r i c a ld a t a a c c e s s1 01 2 0历史数据访问标准 b a t c h 1 0批处理标准 s e c u r i t y 1 0安全性的标准 c o m p l i a n c e 1 0 1 3数据访问标准的测试工具 o p c x m l1 o1 0 1过程数据的x m l 标准 o p cd a t ae x c h a n g e 1 o服务器间数据交换的标准 o p c 作为开放的互操作性的标准,一经出现便得到了广泛的应用。在国外,几乎所有著 名的工业自动化软件都是基于w i n d o w s 平台开发的,都采用或部分采用了o p c 技术。 工业领域代表性的公司有:i n t e l l u t i o n 、h o n e y w e l l 、g e 、w o n d e r w a r e 、s i e m e n s 集成商 s o f t i n g 等。o p c 服务器的产品,占领了国际包括中国在内的巨大的市场份额。 在国内,作为一项工业标准,o p c 标准得到了逐步的推广和应用,特别是近年来,引起 了广泛的关注。不少的高等院校、研究机构和厂商都展开了对o p c 技术的研究与应用。一些 公司如玺玛克集团、中控科技、亚控科技、华富惠通、天地科技( 常州) 等也加入了o p c 基金 会,成为了会员单位。 在实际应用方面,沈阳自动化研究所开发的开放式网络化控制系统s i a c o n s m a r t o p c 就是采用了o p c 技术,同时还开发了o p c 软件开发包以及相应的控件。其他国内的工控软 件公司也充分利用了o p c 技术增强和扩展其软件功能,例如北京亚控公司从组态王5 1 版本 开始就支持o p c 技术。 1 3 论文研究的主要内容及意义 o p c 技术采用了c o m d c o m 技术的客户服务器( c l i e n t s e r v e r ) 模型,使o p c 的通用性 得到了扩展o 这种结构,旨在利用d c o m 技术方便客户程序访问远程的服务器。相应o p c 一 塑鍪查叁堂堡:! :兰竺笙塞一一 应用程序的开发就包括客户程序部分的开发和服务器程序部分的开发。每一个部分都有着它 们自身的重点和难点,本文重点在研究o p c 服务器程序部分的开发,对客户程序部分的开发 就不作深入分析。、+ 数据存取规范讲述了o p c 应用程序是如何自由有效的读写过程控制装置的数据,这是一 个o p c 应用程序必须实现的一个基本功能,所以本论文着重研究o p c 数据存取服务器的开 发过程。 主要的研究内容包括以下几个方面: 1 剖析o p c 数据存取规范,详细介绍了o p c 数据存取的技术特点,并分析了规范对 o p c 应用程序的具体要求。 2 概述o p c 技术的核心基础c o m 、o l e 技术,以及对开发工具a t l 的介绍。 3 本文的重点是完成o p c 服务器程序部分的软件开发,所以详细分析了o p c 对象的总 体结构,并对o p c 数据服务器的开发框架、开发步骤进行了深入的研究,及对o p c 服务器的测试。 4 以矿井通风监控系统为例,介绍o p c 在工业控制领域的实际应用。 5 最后总结了论文的研究内容,指出了论文还需要的进一步工作。 4 内蒙古人学硕i :学位论文 第二章o p c 规范的内容 2 1 概述 o p c 技术规范是由o p c 基金会制定的,它是所有支持o p c 技术的s e r v e r 和c l i e n t 开 发者都要遵循的技术规范。此规范详细地定义了实现s e r v e r 对象和c l i e n t 对象的开发过程 中,开发者要支持的接口及接口中所包含的方法。 在第一章,介绍了o p c 技术包括的几种规范,现在简单讲述一下各个规范。图2 1 【3 j 为 o p c 技术的主要规范一览,这其中最先推出的是数据存取( d a t aa c c e s s ) 规范、报警与事件 ( a l a r ma n de v e n t ) 规范和历史数据存取( h i s t o r i c a ld a t aa c c e s s ) 规范,现在分别作介绍。 图2 1o p c 主要技术规范3 1 f i g 2 1m a i nt e c h n i q u es p e c i f i c a t i o no fo p c 【3 1 内蒙古人学硕i :学位论文 1 数据存取规范 o p c 基金会最初制定的一个工业标准是o p c 数据存取规范,它的重点是对现场设备的在 线数据进行存取。该规范分为定制接口规范和自动化接口规范两个部分,这两种接口完成的 功能类似,本文只介绍定制接口规范的基本对象和接口功能,详细内容见下节。 2 报警与事件规范 o p c 报警与事件规范,指当现场有特定的事件和报警条件发生时,o p c 客户程序可从服 务器程序得到通报的机制。该规范相应的接口,还允许o p c 客户程序确定其发生的事件和条 件,并可以获得接口的当前状态。 报警与事件规范主要支持的服务器有两种类型:一种是简单事件服务器,它可以检测到 报警事件,并通知o p c 客户程序;另一种是复杂事件服务器,除了提供以上的功能外,还可 以对报警事件进行过滤和分类。 从信息交换的角度来看,在不严格的场合下报警和事件可以互换,它们的含义相似,意 义上的区别也并不显著。 3 o p c 历史数据存取规范 o p c 历史数据存取规范,它提供了一种通用的历史数据引擎,可以向对其感兴趣的用户 和客户程序提供额外的数据信息。但是现在大多数历史系统需要专用的接口才能使用,所以 在即插即用环境中,与其它系统没有协作性,从而限制了其应用的范围和功能。 历史数据存取规范将历史信息看成是某种类型的数据,使用统一的标准把不同应用层次 的数据集成起来。根据支持的接l :l 功能的不同,历史数据服务器可以分为多种,其主要的类 型有两个:简单趋势数据服务器和复杂数据压缩与分析服务器。 像安全性( s e c u r i t y ) 规范、批量数据存取( b a t c hd a t a a c c e s s ) 规范,以及其它一些o p c 规范 也都有自己的特性和不同的要求,这里不作介绍。 2 2o p c 数据存取规范 2 2 1o p c 数据存取规范详述 o p c 数据存取规范,是描述由o p c 服务器实现的o p c 对象及相应的接口。规范指出了 一个o p c 客户程序可以连接一个或者多个不同的o p c 服务器程序,而多个不同的o p c 客户 程序也可以连接到一个o p c 服务器程序上。如图2 2 ,这是c o m 中典型的客户服务器【1 0 】模 型。 6 内蒙古人学硕1 :学位论文 图2 2 0 p c 客户与o p c 服务器的关系i l o j f i g 2 2r e l a t i o n s h i pb e t w e e no p c c l i e n ta n do p cs e e 一1 哪 o p c 数据存取服务器主要包括服务器对象、组对象和项对象。o p c 服务器对象负责维护 相关服务器的信息,并作为o p c 组对象的包容器,可以动态地创建或释放组对象;组对象除 了维护自身相关的信息外,要提供包容和逻辑组织o p c 项对象的机制;o p c 项对象则需维护 o p c 服务器中与数据有关的信息,但它并不是实际数据源,仅是指向数据源的连接。 o p c 客户程序是不能通过定制接口直接访问o p c 项对象的,因为o p c 项对象没有引出 接口,故所有对o p c 项对象的访问都要通过o p c 组对象来完成。 组对象又可以分为公有组和私有组( 或局部组) 。公有组用于多个客户程序的共享,而私 有组只用于一个客户程序。对于一个公有组,有一些特定的可选接口来完成特定的功能。在 每一个组对象中,客户可以定义一个或者多个项对象。其关系如图2 3 。 与o p c 项对象相关的信息有值( v a l u e ) 、 v a r i a n t 类型,品质则表征了项的内在属性, 品质( q u a l i t y ) 和时间邮戳( t i m es t a m p ) 。值是 时间邮戳是指项值所对应的时间。 图2 3 组和项的关系 f i g 2 3r e l a t i o n s h i pb e t w e e ng r o u pa n di t e m o p c 数据存取规范( d a t aa c c e s ss p e c i f i c a t i o n ) 主要包含: o p cd a t aa c c e s sc u s t o mi n t e r f a c e ( 定制接1 2 ) s p e c i f i c a t i o n :主要描述了o p c 组件对象的 定制接口及其方法。 o p cd a t aa c c e s sa u t o m a t i o ni n t e r f a c e ( 自动化接1 2 ) s p e c i f i c a t i o n :主要描述了o p c 组件对 象的自动化接口,它方便了v b 、d e l p h i 等汇编语言和其他支持自动化的产品与o p c 服务器 堕茎查叁堂竺! :兰竺丝茎 的连接。 本论文只研究o p c 数据存取规范中的定制接口规范( 参考依据2 0 5 a 版) ,因为定制接口 是o p c 服务器必须实现的部分。自动化接口是可选实现的部分,通过o p c 基金会提供的标 准的自动化接口包,对定制接口包装即可获得,该接口包可被用于任何厂商定义的服务器的 定制接口。如图2 4 ,是它的典型结构。 图2 4 0 p c 服务器与不同的o p c 客户连接 f i g 2 4o p cs e n ,e rc o n n e c t e dt od i f f e r e n to p cc l i e n t s | 1 3 1 o p c 规范只是规定了c o m 接口的名称,及接口向o p c 客户程序提供的行为,但并没有 规定如何去实现它。o p c 体系结构是客户服务器的模式,o p c 服务器组件提供了o p c 对象 的接口并管理这些接口。 一般来讲,由于从物理设备或其它数据库获取数据的速率比较慢,所以要实现一个o p c 服务器,最好是设计成一个本地服务器或远程服务器( 以e x e 程序执行) ,这样可以有效地收 集物理设备或数据库中的数据。 通过提高服务器与物理设备之间的通讯效率,服务器可以实现最优处理不同客户程序的 数据访问请求。对于输入( 读) 数据,服务器可以将从设备得来的数据存入内存,然后异步分 发给不同的客户,或者由客户进行同步收集;对于输出( 写) 数据,由o p c 服务器负责为o p c 客户更新物理设备的数据。 2 2 2o p c 数据存取规范的基础信息 1 对象与接口 o p c 服务器对象提供了与数据源进行通信的方式,它的实现方式决定了可利用的数据源 类型。o p c 客户通过接口与服务器进行连接和通信,并可通过服务器对象动态地创建和操作 组对象,另外还可通过组对象组织要访问的数据。一个组对象可以作为一个单元被激活或者 塑茎查叁兰! 堕:! :兰竺笙竺_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - 。_ - - _ 。- - _ _ _ - - _ 。_ 。1 。1 。1 。 禁止,还会向客户提供订阅( s u b s c r i b e ) 项列表的功能,这样当项列表中项的内容发生改变时, 便通知客户。 客户只能通过接口去访问o p c 对象,它见到的只是接e l ,因此这里说的对象只是一种逻 辑描述,对于所有c o m 对象也是如此。下面图2 5 和图2 6 分别是o p c 数据存取规范2 0 版 本的服务器对象和组对象的接口【钔。( 【】内为可选的实现接e l ,o l d 为版本1 o 需要实现的接口) i o p c c o m m o n i o p c s e r v e r 【i o p c s e r v e r 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 r s i s t f i l e i c o n n e c t i o n p o i n t c o n t d n e r 图2 5 标准o p c 服务器对象8 j f i g 2 5s t a n d a r do p cs e r v e ro b j e c t 【8 l l o p c i t c m m g t i o p c g r o u p s t a t e m g t 【i o p c p u b l i c g r o u p s t a t e m g t 】 i o p c s y n c i o i o p c a s y n c l 0 2 i c o n n e c t i o n p o i n t c o i n t a i n e r i o p c a s y n c l o 】o l d 【i d a t a o b j e c t 】o l d 图2 6 标准o p c 组对象【8 】 f i g 2 6s t a n d a r do p cg r o u po b j e c t t 8 1 。 任何类型的服务器的c o m 接口都包含可选接口和必选接口,必选接口是符合此规范的 服务器必须实现的接口,它是服务器运行的基础,可选接口则用于扩充服务器的功能,可以 根据自己设备的情况选择予以实现。 每个o p c 规范的可选接口被支持时,它包含的所有方法都应该被实现,即使方法只是返 9 内蒙古人学硕,i :学位论义 回e n o t i m p l 。 2 服务器的地址空间和配置 服务器的地址空间配置可以用i p e r s i s t f i l e 接口来管理和存储,此接口只存储服务器方面 的特定信息,对于客户方面的配置信息,例如组对象和项对象的定义,都必须通过独立的客 户程序进行存储。 服务器的地址空间如何配置以及定义并不唯一,也没有指定规范。服务器的地址空间可 以是完全确定的,例如个特定设备的专门接口;也可以是外部o p c 环境配置,例如一个已 经存在的外部d c s 系统的接口。 服务器的地址空间应该稳定,并可以由服务器管理。客户可以随时定义和管理那些由数 据项组成的组。o p c 组的应用,使客户程序便于定义、管理和重建项列表中的项。客户程序 。还可以监控服务器,按照它们的要求来创建、管理和删除这些组对象。 3 应用层次上的服务器和网络节点选择 o p c 数据存取规范可以把客户请求组织进一个o p c 组对象中,但是那样的组只包含可向 一个服务器对象进行数据访问的请求。为了访问数据,客户程序应该指明: o p c 数据存取服务器的名字。 拥有该数据访问服务器的计算机的名字。 厂商确定的o p c 数据项的定义( 在服务器地址空间的确定的数据项名字) 。 4 同步和串行化( s e r i a l i z a t i o n ) 同步是指服务器在单一的交互( t r a i l s a c t i o n ) 中的读写值和属性的能力。例如,大多数的应 用程序都要保证一个特定项的值、品质和时间邮戳是在同一时刻的。 o p c 本身并不能保证所有的同步任务完成,因此在客户程序和面向信号的设备服务器之 间,像一些握手信号和传输标志也是必要的。另外当服务器不能确保能够做好所有的同步工 作时,应该及时给出通知或者其它解决方案。 一般来讲,o p c 可以对多个数据项或者单个数据项进行直接的读写,o p c 服务器应该尽 量保证在同一个读写操作中对数据项和属性的同步性,但是在不同的读写操作中,不要求同 步;多线程的数据项的读写,除了要保证线程安全外,还需要保持数据的同步。 串行化是指客户程序可以控制写顺序的能力。在向同一个设备执行写操作时应该按顺序 写。例如,当服务器暂存输出的数据,并随后执行一个独立的通信管理线程要向物理设备发 送数据时,应注意被保存的数据的发送顺序。在客户程序既可以直接读数据,又可以通过回 调函数来得到更新数据的地方,此时回调函数是否发生应该说明。 l o 内蒙古人学硕i :学位论文 5 公共组对象 建立公共组对象的目的,是向多个客户应用程序提供了一种共享数据配置信息的方式。 典型的情况是,在过程控制系统中,多个客户应用程序可以被设置成使用同一个应用程序或 者工具来监控同一个生产过程。公共组对象在被创建时,只有一个应用程序终端用户对数抒 项来进行定义和配置,可一旦创建了公共组,其它的客户应用程序也可以连接到公共组对象 上进行信息的访问,这种特性就保证了同一个数据项定义的同步性。 2 2 3o p c 服务器对象及其接口 o p c 服务器对象是服务器显露在外面的基本对象,本小节将详细介绍它的对象及接口的 行为。 1 i u n k n o w n 这是所有c o m 对象必须实现的最基本的接口。 2 i o p c c o m m o n 该接口被应用于各种类型的服务器,它们都共享这个接口设计。它具有设置和查询 l o c a l e l d ( 本地语言标识) 的功能,对特定的客户服务器的交互有效,即一个客户的行为不会 影响到其它客户。其方法如下。 s e t l o c a l e l d :为特定的客户服务器的交互设定l o c a l e i d 。 g e t l o c a l e l d :获得当前客户服务器交互的l o c a l e l d 。 q u e r y a v a i l a b l e l o c a l e l d s :获得服务器支持的所有的l o c a l e l d 。 g e t e r r o r s t r i n g :获得当前l o c a l e l d 下的指定错误码的文字描述。 s e t c l i e n t n a m e :允许客户程序向服务器自由注册客户的名字,主要用于调试。 3 i o p c s e r v e r 这是服务器对象必须提供的接口。它是o p c 服务器对象的主接口,可以完成对组对象的 动态创建以及进行管理。 a d d g r o u p :创建一个组对象,并可返回客户请求的接e l 指针,它的参数反映了组对象在 创建时的状态。这是组对象显露给客户程序的唯一途径。 g e t e r r o r s t r i n g :获得当前l o c a l e l d 下的指定错误码的文字描述。 g e t g r o u p b y n a m e :通过组名获取一个已有私有组对象的接1 :3 指针,然后与之建立连接。 它主要可以用于当相应组对象的接口指针都被释放后,能够重新与之建立连接,除了此组对 象已经从内存中删除的情况。 塑鍪吏叁兰! 翌土兰篁堡兰 g e t s t a t u s :返回服务器对象当前的状态信息,如服务器的运行状态,组对象的数目,版 本号,厂商信息,以及当前的时间和上次数据刷新的时间等。客户可以对g e t s t a t u s 方法进行 周期性的调用,从而确定服务器是否连接和可用。 r e m o v e g r o u p :删除不再使用的组对象。当所有组对象的接1 3 都释放后,客户再次调尉一 此函数,则使相应的组对象在内存中彻底删除。但是它不适用于公共组对象。 c r e a t e g r o u p e n u m e r a t o r :创建一个枚举器,用于列举当前服务器对象内的组对象。列举 可以是组对象的名称,也可是指向组对象的i u n k n o w n 接口的指针。枚举器实际也是一个c o m 对象,它实现了相应类型的枚举接1 2 1 ,如i e n u m s t r i n g 与i e n u m u n k n o w n 接1 2 。o p c 服务器 简化了对它的实现,由相应的接口函数来创建它的对象,并由客户程序来释放它。 4 i c o r m e c t i o n p o i n t c o n t a i n e r 这个接口主要提供了相对于i o p c s h u t d o w n 出接口连接点的访问支持。当服务器主动与 客户程序断开连接时,i o p c s h u t d o w n 出接口用于对客户程序进行通知。它的实现与一般连接 点对象的实现相同。o p c2 0 服务器必须支持这个接口。其方法的描述如下。 e n u m c o n n e c t i o n p o i n t s :建立一个枚举器,用于o p c 服务器对象和客户程序之

温馨提示

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

评论

0/150

提交评论