




已阅读5页,还剩62页未读, 继续免费阅读
(模式识别与智能系统专业论文)opc数据存取服务器研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古大学硕士学位论文 o p c 数据存取服务器的研究与设计 摘要 随着计算机技术的不断发展,应用于工业控制领域的软件与硬件设备的种 类也越来越丰富,系统集成变得越来越复杂与困难。所以,无论是对于客户还 是开发者而言,一套统一、通用的标准是非常必要的。 o p c ( o b j e c tl i n k i n ga n de m b e d d i n gf o rp r o c e s sc o n t r 0 1 ) 就是这样一种通用的 工业标准。o p c 是微软公司的对象链接和嵌入技术在过程控制方面的应用,为 工业自动化软件面向对象的开发提供了一项统一的标准。它是为解决应用软件 与各种设备驱动程序之间的通讯而提出的,它把硬件厂商和应用软件开发者分 离开来,大大提高了双方的工作效率。o p c 减少了系统集成过程中的重复工作, 代表了今后过程控制系统通信标准的发展方向。 本文首先介绍了o p c 技术产生的背景,以及o p c 数据存取规范的详细内容, 然后对o p c 技术的基础c o m d c o m 技术进行了比较系统的分析。接着介绍了 如何用a t l 设计o p c 服务器程序和在设计过程中遇到的问题的解决方法,这是 本论文的核心。最后介绍了对o p c 服务器程序的测试。本论文不仅实现了o p c 服务器的基本功能,使其符合o p c 规范,还设计了服务器的地址空间,实现了 服务器的地址空间浏览可选功能。 关键词:o p c 技术,c o m ,a t l ,数据访问规范 内蒙古人学硕i :学位论义 t h er e s e a r c ha n dd e s i g no f o p cd a t aa c c e s ss e r v e r w i t ht h ed e v e l o p i n go fc o m p u t e rt e c h n o l o g y , m o r ea n dm o r es o f t w a r e sa n d h a r d w a r e sa r eu s e di ni n d u s t r yc o n t r o lf i e l da n ds y s t e mi n t e g r a t i o nb e c o m e sh a r d e r t h a nb e f o r e s oi ti sv e r yn e c e s s a r yt ou s eu n i f o r ms t a n d a r df o rc o m m u n i c a t i o nf o r b o t hu s e ra n dv e n d e r o p ci ss u c has t a n d a r dt h a tw en e e d o p cm e a n so l e ( o b j e c tl i n k i n ga n d e m b e d d i n g ) f o r p r o c e s sc o n t r o l ,a n di t p r o v i d e s au n i f o r ms t a n d a r dt o o b j e c t - o r i e n t e dd e v e l o p m e n t so fi n d u s t r i a la u t o m a t i o n s o f t w a r e o p cw a sp u t f o r w a r di n s o l v i n g c o m m u n i c a t i o nb e t w e e na p p l i c a t i o ns o f t w a r ea n dd r i v e r so f v a r i o u sd e v i c e s i tm a k e st h ew o r km o r ee f f i c i e n t b ys e p a r a t i n gt h et w op a r t s c o n s e q u e n t l y , t h er e p e a t e dd e v e l o p m e n t sa r er e d u c e di nt h ei n t e g r a t e ds y s t e m o p c r e p r e s e n t st h e f u t u r ed e v e l o p m e n tt r e n do fc o m m u n i c a t i o ns t a n d a r d s i n p r o c e s s c o n t r o ls y s t e m f i r s tt h eb a c k g r o u n do ft h eo p ca n dd e t a i l so fo p cd a t aa c c e s ss p e c i f i c a t i o n w a si n t r o d u c e di n t h i s p a p e r s y s t e m a t i ca n a l y s i sw a sa l s od o n et oc o m d c o m 内蒙古大学硕士学位论文 t e c h n i q u ew h i c hi st h ef o u n d a t i o no fo p ct e c h n i q u e t h e na u t h o ri n t r o d u c e dh o wt o u s ea = r lt od e s i g nt h eo p cs e r v e ra sw e l la st h em e t h o dw h i c hs o l v e dp r o b l e m e n c o u n t e r e di nt h ep r o c e s so fd e s i g n t h i si st h ec o r eo ft h i sp a p e r f i n a l l y , t h et e s to f t h eo p cs e r v e rw a se x p l a i n e di nt h e p a p e l i tn o to n l y i m p l e m e n t e dt h e b a s e f u n c t i o n so ft h eo p cs e r v e rt h a tc o n f o r m e dt ot h eo p cs p e c i f i c a t i o n ,b u ta l s o i m p l e m e n t e do p t i o n a lf u n c t i o n o fa d d r e s s s p a c eb r o w s eb yd e s i g n i n gt h e o p c a d d r e s ss p a c e k e y w o r d s :o p ct e c h n i q u e ,c o r n ,a t l ,d a t aa c c e s ss p e c i f i c a t i o n 原创性声明 本人声明:所呈交的学位论文是本人在导师的指导下进行的研究工作及取得的研究成 果。除本文已经注明引用的内容外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得凼鏊直太堂及其他教育机构的学位或证书而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:煎! 监 日 期:塑181 兰二i 在学期间研究成果使用承诺书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:内蒙古大学有权 将学位论文的全部内容或部分保留并向国家有关机构、部门送交学位论文的复印件和磁盘, 允许编入有关数据库进行检索,也可以采用影印、缩印或其他复制手段保存、汇编学位论文。 为保护学院和导师的知识产权,作者在学期间取得的研究成果属于内蒙古大学。作者今后 使用涉及在学期间主要研究内容或研究成果,须征得内蒙古大学就读期间导师的同意;若用 于发表论文,版权单位必须署名为内蒙古大学方可投稿或公开发表。 学位论文作者签名: 日 期: 内蒙古大学硕士学位论文 第一章引言 1 1 研究背景 随着科学技术特别是计算机技术的进步,工业控制系统的发展经历了单机监督控制系统 ( s t a n d a l o n ec o n t r o ls y s t e m ) 、集中控制系统( c e n t r a l i z e dc o m p u t e rc o n t r o l ,c c s ) 、分散控制系 统( 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 ) 和现场总线控制系统( f i e l d b u sc o n t r o ls y s t e m ,f c s ) 等阶 段,相应的系统控制软件也由专用、单任务、单机发展到可组态、通用、网络化的阶段。 传统的工业控制系统软件推动了社会生产的发展,但传统工业控制系统中的硬件的驱动 器和与其连接的应用程序之间的接口并没有统一的标准,使得传统控制系统有很多缺陷【8 1 。 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 rp 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 接口的 客户程序均可采用统一的方式对不同硬件厂商的设备进行存取,无须重复开发驱动程序。这 内蒙古大学硕士学位论文 样大大提高了控制系统的互操作性和适应性。 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 e m e t 和n e t 技术的工业标准,定义了一个接1 2 1 开发标准, 实现在客户机和服务器之间进行数据交换。目前大多数仪表及控制软件生产厂商支持该标准。 1 2 2o p c 的历史 早期的o p c 标准是由提供工业制造软件的5 家公司组成的o p c 特别工作组所开发的。 f i s h e r - r o s e m e 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 e t e c h n o l o g y 以及o p t 0 2 2 早在1 9 9 5 年就 开发原始的o p c 标准,微软同时作为技术顾问给予了支持。o p c 基金会( o p cf o u n d a t i o n , o p c n ,是在1 9 9 6 年9 月2 4 日在美国的达拉斯加举行的第一次理事会,并在同1 0 月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 e n t ,h o n e y w e l l ,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 ,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 i 家公司作为发起人,于1 9 9 6 年1 0 月1 7 日成立了日本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 产品也日益增加,目前为止已有8 0 0 种以上的o p c 服务器产品和o p c 应用程序出现在由o p c 基金会发行的o p c 产品目录上。 1 2 3o p c 的现状和发展 o p c 规范已经发展成了一个很广泛的体系,现有的和正在开发的o p c 标准如表1 1 t 9 】所 不: 2 内蒙古大学硕士学位论文 表1 1 现有的o p c 标斛9 i t a b l e1 1e x s i t i n go p cs p e c i f i c a t i o n 9 1 标准版本内容 d a t aa c c e s s1 02 o3 0 数据访问的标准 a i a r ma n de v e n t s1 02 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 h1 0 批处理标准 s e c u r i t y 1 o 安全性的标准 c o m p l i a n c e 1 0 1 3数据访问标准的测试工具 o p cx m l1 01 0 1过程数据的x m l 标准 o p cd a t ae x c h a n g e1 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 ,w o n d e r w a r e ,h o n e y w e l l ,g e ,s i e m e n s 集成商s o i l 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 技术的客户服务器r ( c l i e n t s e r v e r ) 模型,使o p c 的通用性得 到扩展。这种结构旨在利用d c o m 技术方便客户程序访问远程服务器。相应的o p c 应用程 3 内蒙古大学硕士学位论文 序的开发就有了客户程序部分和服务器程序部分的开发。每一部分都有着它们自身的重点和 难点,本文旨在研究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 d c o m 技术。 3 本文的重点是完成o p c 服务器程序的软件开发,所以详细分析o p c 对象总体结构, 并对o p c 数据服务器的开发框架,开发步骤进行深入的研究。 4 o p c d a 服务器的注册测试。 5 最后总结论文研究内容,指出论文还需要的进一步工作。 4 内蒙古大学硕士学位论文 第二章o p c 数据存取规范的研究 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 数据存取规范( d a t a a 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 m ( 定制) i n t e r f a c es 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 n ( 自动化) i n t e r f a c es 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 1 ,可看到其典型结构【1 0 1 。 图2 i o p c 服务器与不同的o p c 客户连接 f i g 2 1o p cs e r v 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 2 1o p c 数据存取规范基础 圜 i 数据库l 2 1 1o p c 规范介绍 在引言部分,只引入了o p c 技术的规范的概念,现在简单讲述一下各个规范。图2 2 1 3 1 5 内蒙古人学坝i 学位论文 为o p c 技术主要规范一览,其中最先推出的是数据存取( d a t a a c c e s s ) 规范,报警与事件( a l a r m a n de v e n t ) 规范和历史数据存取( h i s t o r i c a ld a t a a c c e s s ) 规范,现分别介绍。 1 数据存取规范 o p c 数据存取规范是o p c 基金会最初制定的一个工业标准,其重点是对现场设备的在线 数据进行存取。该规范分为定制接口规范和自动化接口规范二部分,两种接口完成的功能类 似,本论文只介绍定制接口规范的基本对象和接口功能,其内容见下节。 2 报警与事件规范 o p c 报警与事件规范提供了当现场特定的事件和报警条件发生时o p c 客户程序可从服 务器程序得到通报的机制。其规范相应的接口还允许o p c 客户程序确定其发生的事件和条 件,并可获得接口的当前状态。 图2 2 0 p c 主要技术规范 f i g 2 2t h em 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 从信息交换的角度来看,报警和事件在不严格的场合下可以互换,它们的含义很相似, 意义上的区别并不显著。 报警与事件规范主要支持两种类型的服务器:一种是简单事件服务器,它可以检测报警 6 内蒙古大学硕士学位论文 事件并通知o p c 客户程序;另一种是复杂事件服务器,它除了提供以上功能外,还可对报警 和事件进行分类和过滤。 3 o p c 历史数据存取规范 o p c 历史数据存取规范提供一种通用的历史数据引擎,可以向感兴趣的用户和客户程序 提供额外的数据信息。由于目前大多数历史系统需要专用的接口才能使用,因此在即插即用 环境中,它们与其它系统没有协作性,限制了其应用的范围和功能。 o p c 历史数据存取规范将历史信息看成某种类型的数据,用统一的标准把不同应用层次 的数据集成起来。根据支持接口功能的不同,历史数据服务器可分为多种,其主要类型如下: 简单趋势数据服务器和复杂数据压缩和分析服务器。 像批量数据存取( b a t c hd a t a a c c e s s ) 规范,安全性( s e c u r i t y ) 规范,以及其它的一些o p c 规 范也都有着自己的特性和不同的要求。 2 1 2 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 ,这是c o m 中典型的客户服务器模型。 图2 3 0 p c 客户与o p c 服务器的关系 f i g 2 3r e l a t i o n s h i pb e t w e e no p cc l i e n ta n do p cs e r v e r 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 组对象来完成的。 组对象可分为公有组和私有组( 或局部组) 。公有组用于多个客户程序的共享,私有组只 7 塑茎直奎堂! 堡主堂竺笙茎 用于一个客户程序。对于一个公有组有一些特定的可选接口完成特定的功能。每一个组对象 中,客户可以定义一个或多个项对象。其关系如图2 4 。 与o p c 项相关的信息有值( v a l u e ) ,品质( o u a l i t y ) 并- i 时间邮戳( t i m es t a m p ) 。值是v a r i a n t 类型,品质表征了项的内在属性,时间邮戳指明了项值所对应的时间。 图2 4 组和项的关系 f i g 2 4r 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 规范只规定了c o m 接口的名称和接口向o p c 客户程序提供的行为,但没有规定如 何去实现它。o p c 体系结构是客户h i 务器模式,o p c 服务器组件提供o p c 对象接口并管理 这些接口。 要实现一个o p c 服务器,从物理设备或其它数据库获取数据的速率一般来讲比较慢,所 以o p c 服务器最好设计成一个本地服务器或远程服务器( 以e x e 程序执行) ,这样可有效收集 物理设备或数据库中的数据。 服务器应能最优处理不同客户程序的数据访问请求,这可通过提高服务器与物理设备之 间的通讯效率来实现。对于输入( 读) 数据,服务器可将从设备得来的数据存入内存,然后异 步分发给不同客户或由客户进行同步收集:对于输出( 写) 数据,由o p c 服务器为o p c 客户更 新物理设备的数据。 2 1 3o p c 数据存取规范的基础信息 1 对象与接口一览 o p c 服务器对象提供了与数据源进行通信的方式,可利用的数据源类型由其实现方式决 定。o p c 客户通过接口与服务器连接和通信,并可通过服务器对象动态创建和操作组对象, 另外还可通过组对象对要访问的数据进行组织。一个组对象可作为个单元被激活或禁止, 还向客户提供了订阅( s u b s c r i b e ) 项列表的功能,这样当项列表中项的内容改变时,便通知客户。 客户只能通过接口访问o p c 对象,它所见到的只是接口,因此这里所说的对象只是一种 逻辑描述,对于所有的c o m 对象也是这样的。图2 5 和图2 6 分别是o p c 数据存取规范版 8 内蒙古大学硕士学位论文 本2 0 服务器对象和组对象的接口总观。( 【】内的为可选实现接口,o l d 为版本1 0 需要实现的 接口) i u n k n o w n i o p c c o m m o n 1 0 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 a i n e t 图2 5 标准o p c 服务器对象 f i g 2 5s t a n d a r do p c s e r v e ro b j e c t i u n k n o w i i i o p c i t e 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 l 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 组对象 f i g 2 6s t a n d a r do p cg r o u po b j e c t 任何类型的服务器的c o m 接口都有可选接口和必选接口之分,必选接口是符合此规范 服务器必须实现的接口,它是服务器运行的基础,可选接口用于扩充服务器的功能,可以根 据自己设备的情况选择实现。 每个o p c 规范当可选接口被支持时,它所含的所有方法都应被实现,即使方法只是返回 e n o t i m p l 。 2 服务器的地址空间和配置 服务器地址空间配置可以用i p e r s i s t f i l e 接1 3 管理和存储,此接口只存储服务器方的特定 o 堕鍪直奎兰堡主兰垡丝奎 信息,对于客户方的配置信息,如组对象和项对象的定义,必须通过独立的客户程序进行存 储。 服务器地址空间如何配置和定义并不唯一,规范也没有指定,服务器地址空间可以是完 全确定的例如一个特定设备的专门接口,也可以由外部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 n s a c t i o n ) d f l 读写值和属性的能力。例如,大多数应用 程序要保证一个特定项的值、品质和时间邮戳是同一时刻的。 o p c 本身不能保证所有的同步任务完成,所以在客户程序和面向信号的设备服务器之间 像其它的握手信号和传输标志也是必要的。还有当服务器不能确保做好所有的同步工作时, 应该给出通知或其它解决方案。 o p c 可以对多个数据项或单个的数据项进行直接的读写,一般来讲,o p c 服务器应尽量 保证在同一个读写操作中对数据项和属性的同步性,在不同的读写操作中,不要求同步;多 线程的数据项的读写除了保证线程安全外还要保持数据同步。 串行化指的是客户程序控制写顺序的能力。向同一个设备执行写操作时应按顺序写。例 如:当服务器暂存输出数据并随后执行一个独立的通信管理线程向物理设备发送数据时,要注 意被保存的数据的发送顺序。在客户既能直接读数据又可通过回调函数得到更新数据的地方, 当回调函数发生或不发生时应该说明。 5 公共组对象 建立公共组对象的目的是向多客户应用程序提供一种共享数据配置信息的方式。典型情 况是,在过程控制系统中多客户应用程序可被设置成用同一个应用程序或工具监控同一个生 1 0 内蒙古大学硕士学位论文 产过程。公共组对象被创建时,只有一个应用程序终端用户对数据项进行定义和配置,一旦 创建了公共组,其它客户应用程序就可连接到公共组对象上进行信息访问,这种特性保证了 同一数据项定义的的同步性。 2 2o 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 l d 。 g e t l o c a l e l d :得到当前客户j j 艮务器交互的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 :创建一个组对象,并返回客户请求的接口指针,其参数反映了组对象创建时 的状态。这是组对象暴露给客户程序的唯一途径。 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 :通过组名获得一个已有私有组对象的接口指针,从而与之建立连接。 它主要用于当相应组对象的接l z l 指针都被释放后重新与之建立连接( 当然如果此组对象已从 内存中删除除外) 。 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 删除不再使用的组对象。当所有的组对象接口都释放后客户再调用此函 内蒙古大学硕上学位论文 数,使相应组对象在内存中彻底删除。但它不能用于公共组对象。 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 对 象,它实现了相应类型枚举接口,如i e n u m s t r i n g 和i e n u m u n k n o w n 接口,o p c 服务器对它 的实现进行了简化,由相应接口函数来创建它的对象,由客户程序来释放它。 4 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 服务器对象的此接口主要提供了相对于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 c 2 0 服务器必须支持此接口。它的实现与一般连接点对象的实现相同。其每个方法的描述如下。 e n u m c o n n e c t i o n p o i n t s 建立一个o p c 服务器对象和客户程序之间所有支持的连接点的 枚举器,此时一般只有一个i o p c s h u t d o w n 出接口,当然如果需要,服务器开发者可以定义 自己的回调函数。 f i n d c o n n e c t i o n p o i n t :查找o p c 服务器对象和客户程序之间的特定的连接点,一般为对 应i o p c s h u t d o w n 出接口的连接点。 5 i o p c i t e m p r o p e r t i e s 此接口用于浏览与i t e m i d ( 用于标识一个特定的项) 相关的属性,也可读取这些属性当前 的值。 q u e r y a v a i l a b l e p r o p e r t i e s :可返回与特定i t e m i d 相关的属性i d ( 用于标识属性) 列表及其 描述。此列表对于特定的i t e m i d 是“相对”稳定的,它会受相应系统配置改变的影响。 g e t i t e m p r 叩e n i e s :可返回与特定i t e m i d 相关的属性的当前值。 l o o k u p l t e m l d s :可返回与特定1 t e m i d 相关的属性i d 对应的i t e m i d s 列表,即此方法 的目的是看哪些属性i d 可以成为o p c 项,可以通过o p c 组对象添加到o p c 项列表中。服 务器应允许多数或所有项对象的属性被转换成特定i t e m l d 。 6 i o p c s e r v e r p u b l i c g r o u p s ( 可选) 公共组对象为客户和服务器提供了共享数据的一种机制,可被多个客户程序访问,它可 由服务器或客户程序创建。当由客户程序创建时,首先创建私有组对象,然后通过 m o v e t o p u b l i c 转换成公共组对象。 一个客户程序可通过c r e a t e g r o u p e n u m e r a t o r 枚举可用的公共组对象,然后用 g e t p u b l i c g r o u p b y n a m e 连接到公共组对象,再通过i e n u m o p c i t e m a t t r i b u t e s 检查组对象的内 容,最后通过使用各种i o p c i t e m m g t 函数分配客户句柄和数据类型。 1 2 内蒙古大学硕士学位论文 当客户与公共组对象建立连接后,表现与私有组对象类似,客户可激活和禁止组对象和 项对象,可为组对象和项对象设置客户句柄,可为组对象和项对象设置要求的数据类型。所 有这些操作只对特定客户有影响,不会影响到其它客户,但客户不能在公共组对象中添加和 移除项对象。 g e t p u b l i c g r o u p b y n a m e 通过公共组对象的名字获取指向组对象的指针,从而连接到公 共组对象。 r e m o v e p u b l i c g r o u p :删除一个公共组对象。 7 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 ( 可选) 此接口为o p c 客户提供了一个有效访问o p c 服务器数据的方式,能够为用户提供相应 的i t e m i d 列表。服务器数据的地址空间可以以平面( f l a t ) 结构或分层( h i e r a r c h i c a l ) 结构来实现, 此接口使客户从厂商定义的i t e m i d 的语法中分离出来。 服务器对象含有客户使用此接口进行数据浏览的当前状态信息( 如地址空间当前位置) , 因一个客户对应一个服务器对象实例,也就只有一个状态信息的复制,所以客户不能够通过 q u e r y i n t e r f a c e 方法再创建一个独立的浏览器对象。如果必须创建,客户需要创建第二个o p c 服务器对象。 平面结构空间呈现给客户的是平面结构,分层结构空间呈现给客户的或是平面结构或是 分层结构。分层结构空间很像文件系统,目录是地址空间的支节点或路径,文件代表了叶节 点或项对象。 其每个接口函数的功能如下。 q u e r y o r g a n i z a t i o n :判断o p c 服务器数据地址空间类型,或是平面结构或是分层结构。 c h a n g e b r o w s e p o s i t i o n :改变当前浏览位置,可进入分层地址空间当前节点的上层、下层 或根节点。 b r o w s e o p c i t e m l d s :返回当前结点下符合条件的所有i t e m l d 值列表,支节点、叶节点 或所有节点,而且浏览的数据项可以被厂商定义的过滤字符串或数据类型或访问权限过滤。 g e t l t e m l d :可将输入的支或叶节点短字符串装配( a s s e m b l e ) 成一个完全符合规格的 i t e m i d ,从而可通过a d d i t e m 方法为组对象添加项对象。 b r o w s e a c c e s s p a t h s :用来浏览相对于一个特定i t e m i d 可用的访问路径。客户用此函数 识别特定i t e m l d 的可能访问路径,它的作用只是增加数据项的搜索速度,而i t e m i d 是标识 数据项的唯一标识。 8 i p e r s i s t f i l e ( 可选) 内蒙古大学硕士学位论文 这是一个标准i p e r s i s t f i l e 接口的实现。此可选接口允许客户装载和存储o p c 服务器的配 置,但不能存储任何客户定义的信息。例如,组对象和项对象的定义。 i s d i r t y :判断服务器配置是否被客户改变。如果服务器配置需要存储,此函数应在客户 与服务器的连接切断前调用。 l o a d :引导服务器从特定文件处装载服务器配置数据,一次装载将影响所有的访问此服 务器的o p c 客户。大多数情况装载错误将导致服务器的配置无效。 s a v e :存储当前o p c 服务器配置。 s a v e c o m p l e t e d :用于改变配置文件的状态,一般在文件存储完毕后调用,表明此文件可 以再次写入新的内容。在o p c 服务器中此函数可只返回en o t i m p l 。 g e t c u r f i l e :引导服务器返回与当前装载配置相关的文件名称。 2 3o p c 组对象及其接口 o p c 组对象提供的接口在图2 6 中已有大致了解,本节就组对象及其接口的功能进行简 单介绍。 2 3 1o p c 组对象的一般属性 o p c 组对象有某些一般的属性和行为,可影响接口和方法的操作。 1 组名 每一个组对象都拥有一个组名,私有组对象和公有组对象的名字都是唯一的。客户可改 变私有组对象的名字,但不可改变公有组对象的名字。组对象的名字区分大小写。 2 内存( c a c h e d ) 数据 组对象的许多接1 2 1 方法允许客户明确说明其操作的数据源,内存( c a c h e ) 或设备 ( d e v i c e ) 。数据源不同,方法的行为也不同,其实现细节由开发者决定。 多数情况下服务器访问内存要快于访问设备,但内存数据受组对象和项对象激活状态的 影响,而设备数据不受此激
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁都钢质防火窗施工方案
- 架空建筑垃圾分类方案设计
- 中式建筑排版配色方案设计
- 在全县干部大会的主持词
- 地下室顶板渗漏处理方案
- 双层宴席厅建筑方案设计
- 2025年经济师初级考试 经济基础知识核心考点模拟试卷
- 贵州省茶产业发展现状研究
- 其他收入分享协议的注意事项
- 2025年北京市纪委市监委所属事业单位招聘8人笔试备考题库参考答案详解
- 人工智能算力中心项目技术方案
- 2025-2026学年北师大版(2024)小学数学三年级上册《综合实践:校园里的八个方向》教学设计
- GB/T 46238-2025淡水水下搜救机器人通用技术条件
- 快递分拣人力承包协议书
- 医疗损害责任界定-洞察及研究
- 创造性思维训练题库及答案
- 2025版施工合同主体变更与工程竣工结算协议
- 浙江省G12名校协作体2025学年第一学期9月高三上学期开学联考生物试卷
- 人民防空防护设备管理办法
- 2025年海南省社区工作者招聘考试笔试试题(含答案)
- 选矿技术基础知识培训课件
评论
0/150
提交评论