




已阅读5页,还剩71页未读, 继续免费阅读
(检测技术与自动化装置专业论文)基于ethernet控制网络的opc技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文 摘要 随着工控界对工控系统的开放性和标准化的愿望越来越迫切以及企业信息系统集 成的需要,世界上领先的自动化公司和软硬件供应商在微软的技术支持下开发了一套工 业标准0 p c 规范,用于规范软件和硬件接口,提高系统的开放性。 本文深入细致地研究了o p c 接口规范,剖析了以c o m d c o m 为技术基础的o p c 内韶 机制和c 1 i e n t s e r v e r 体系结构组成的交互过程。本文的开发分为两部分:o p c 客户端 的开发设计;o p c 服务器的开发模式的研究和开发实践。o p c 客户端的开发解决了多线 程、o p c 接口实现和多视图显示的技术难题,实现了同时连接多个0 p c 服务器的管理和 数据维护功能。o p c 服务器的开发首先借助于微软的m f c 和a t l 3 o 建立统一开发平台, 然后针对以太网卡开发i od l l ,实现了基于以太网的o p c 服务器。最后对所开发的客 户端和服务器的整体性能进行了测试。结果表明所设计的o p cd a 客户服务器体系结构 符合o p c 规范,能够实现工业现场设备级与过程管理级问的统一通讯功能。并为进一步 的企业信息系统集成提供了很好的途径。 关键词:o p c ,以太网,c 0 m d c 0 m ,客户端服务器,t c p i p 基于e t h e m e t 控制网络的o p c 技术的研究 a b s t r a c t w i mm ed e s i r d b i l i t yo fi n d u s t r yc o n t r o li n t e r e s t st oo p e n n e s sa n ds t a i l d a r d i z a t i o no f i n d u s t r yc o m r o ls y s t e ma n dr e q u i r e m e to fe n t e r p r i s ei n f o 肌a t i o ni n t e g r a t i o nb e c o m i n gm o r c a 1 1 dm o r es t r o n g e r t h el e a d i n gw o r l d w i d ea u t o m a t i o nc o m p a n ya 1 1 dh a r d w a r e & s o f t w 甜e s l l p p l i e r ss u p p o r t e dw i t ht e c l l i l o l o g yb ym i c r o s o f tc r e a t e da ni n d u s 扛i a ls t a n d a r d 旬p c s p e c m c a t i o n t h ep u r p o s eo f0 p c i st os t a n d a r d i z et h ei n t e r f k eo fs o f 岫孤ea i l dh a r d w a r e ,a n d t oi m p r o v et h eo p e n n e s so f s y s t e m 0 p ci n t e r f k es p e c m c a t i o ni s 咖d i e dd e e p l ya n dd 咖i l e d 证“st h e s i s o p ci n n e r m e c h a i l i s mb a s e do nc o m d a ) ma i l di n t e m c t i o no fc l i e n “s e r v e rs v s t e ma r ea n a l v z e d t h e d e v e l o p m e n tc o n s i s t so f 铆op a r t s :也ed e v e l o p m e n ta 1 1 dd e s i g l l o fo p cc 1 i e n t ;n l e d e v e l o p m e ma p p r o a c ha n d “sp r a c d c eo fo p c s e v e r a ld i f f i c u l t i e ss u c ha sm u l t i t i l r e a d p r o g r 卸m i n g ,0 p ci n t e 瞳e sr e a l i z a t i o na n dm u l t i - v i e wd i s p l a y sa r eo v e r c o m e dd 嘶n gt h e o p cc l i e n t sd e v e l o p m e m t h eo p cc l i e n tc a nc o i l n e c tm u l t i0 p cs e r v e ra tt l l es 锄e t i m e ,m a n a g et h e m ,a 1 1 dm a i n t a i nd a t a w i t l l 廿1 eh e l po fm i c m s o f t ,n l ed e v e l o p m e mo fo p c s e r v e ri sf o c u so nb u i l d i n gau n i f o n nd e v e l o p i n gp l a t f o r n lf i r s t t h e ni ,0d l lb a s c de t h e m e t c a r di s d e v e l o p e d t h e o p cs e r v e rb a s e do ne m e m e ti 5 r e a l i z e d f i n a l l y ,m ew h o l e p e r f b n n a n c et e s t so fc 1 i e n ta i i ds e r v e ra r ec 删e do u t t h er e s u l t sp r o v e dt t l a tm eo p cd a c l i e n “s e r 、,e rs y s t e md e v e l o p e dc o 1 0 h nt ot h eo p cs t a n d 盯ds p e c i f i c a t i o n 。i tu n i f i e dm e c o m m l l i l i c a t i o nb e t w e e nt t l ei n d u s t r i a lf i e l d b u sd e v i c e s1 e v e la n dm ep r o c e s sm a n a g e m e n t l e v e l i tp r o v i d e sag o o dw a yf o rf u r t h c ri n f o m a t i o ni n t e g r a t i o n 丽me m e r p r i s em a n a g e m e n t l e v e l k e yw o r d s :o p c ,e t h e m e t ,c o m ,d c o m ,c h e n “s e r v e r ,t c p 胛 i l 硕士学位论文 插图索引 图1 1 生产过程控制信息系统结构 图1 2 利用驱动器的系统连接 图i 3 利用o p c 的控制系统构成 图2 ,1 客户端与c o m 组件服务器调用的基本模型 图2 2c o m 组件、对象和接口之间的关系一 图2 3 接口模型, 图2 4 基于c o m 的客户服务器模型 图2 5d c 0 m 体系结构 图2 6o p c 自动化接口和定制接口 图2 7 采用自动化封装器的0 p c 结构体系 图2 80 p c 数据访问对象的分层结构 图2 9 标准o p c 服务器组对象及其定制接口 图2 1 0 标准o p c 组对象及其定制接口 图2 11o p c 事件服务器对象的关系 图2 1 2o p c 事件服务器对象 图2 一1 3o p c 事件订阅对象 图2 1 4o p c 事件区域浏览器对象一 图2 1 5o p c 历史数据存取服务器对象一 图2 1 6o p c 历史数据存取浏览器对象 图2 一1 70 p c 批处理服务器对象一 图2 1 8 同步数据访问处理一 图2 1 9 异步数据访问处理一 图2 2 0 订阅方式数据采集 图3 一l 客户端程序流程图 图3 2w o r k e r l l l r e a d 线程处理流程 图3 3s e r v e lg r o u p 界面交互属性页 图3 4s e r v e lg r o u p 状态显示属性页 图3 5 连接多个s e r v e r 的客户端 图4 1 进程外组件与客户程序协作的结构图 图4 2o p c 服务器程序总体结构 图4 3t c p i p 协议层与0 s i 参考棋型 图4 4t c p 口协议核心与s o c k e t 、应用程序的关系图 图4 - 5 采用t c p 协议的客户服务器应用程序 图5 1 监控组态系统硬件结构示意框图 图5 2 监控组态系统图形界面系统监控性能测试界面 i i 4 8 9 1 0 1 1 1 3 1 3 1 4 1 4 1 5 1 5 1 7 1 7 1 7 1 8 1 9 1 9 2 0 2 3 2 4 2 6 2 8 3 5 3 5 3 6 3 8 4 4 4 5 5 3 5 4 5 5 6 0 6 1 基于e i l l e m e t 控制网络的o p c 技术的研究 图5 3 监控组态系统通信模块界面框图6 1 图5 4 监控组态系统控制性能测试框图6 3 i v 硕士学位论文 附表索引 表3 一l 客户端实现的接口函数 表5 1 读取0 0 0 0 0 1 寄存器所耗费时间 表5 2 读取十六个寄存器所耗费时间 v 2 9 6 2 6 2 兰州理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的 研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或 集体己经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:专? 1 器量 日期:1 矽锌j 月7 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权兰州理工大学可以将本学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密面。 ( 请在以上相应方框内打“”) 作者签名 导师签 剖密日期:加以年丁月、,日 日期: 形6 年,月驴日 硕士学位论文 第一章绪论 1 1 工业控制网络的发展现状 现代科学技术的进步,特别是微电子、计算机、通信和网络等技术的发展,促使自 动化领域发生了深刻的变化。最初控制系统采用单元组合仪表,后来随着计算机的可靠 性的不断提高,2 0 世纪7 0 年代以h o n e y w e l l 公司的t d c 一2 0 0 0 为代表的集散控制系统 ( d c s ,d i s t r i b u t e dc o n t r o ls y s t 锄) 开始应用于过程控制。d c s 系统具有设备分散、 集中控制、组态灵活方便、控制算法丰富等特点,至今仍然具有强大的生命力。与此同 时,单片机技术也得到了逐步推广和普及,微机化仪表开始越来越多地活跃在控制现场。 由于计算机性能不断提高,价格急剧降低,同时通信和网络技术也日趋成熟,现场 总线在2 0 世纪8 0 年代开始发展起来,逐步形成一个全数字、全分散、全开放的新型控 制系统。现场总线控制系统( f c s ,f i e l dc o n t r 0 1b u s ) 通过标准化的数字通信链路将 现场智能化装置与远程监控计算机连接起来,实现了数据传输与信息共享,提高了控制 系统的可靠性、互操作性和适应性,也降低了整个系统的安装维护费用。当前有多种现 场总线标准共存,特点各异,主要有基金会现场总线( f f ,f o u n d a t i o nf i e l d b u s ) 、 p r o f i b u s 、l o n w o r k s 、d e v i c e n e t 等。 随着以太网特别是高速以太网技术的发展,以太网控制系统也成为工业控制系统的 一个发展方向。曾阻碍以太网进入工控领域的不确定性已随传输速度的提高以及智能交 换技术的应用,逐渐得到解决。同时几乎所有的网络编程语言都支持以太网应用开发, 网卡、集线器、交换器、路由器、等通信部件也有成熟的技术作为保障。这些都必将推 动以太网在工业控制中的应用”1 。 当前,现场控制网络与企业信息网络的集成也成为工控网络的重要课题。越来越多 的企业建立了i n 仃a i l e t 网络该网络对外可接入i i l t e m e t ,与全球信息融为一体,对内则可 实现内部的信息交流与共享。由于控制网络成为企业信息网的底层部分,管理部门以及 相关部门都可以监控到生产的实时状况,从而能更有效地进行决策管理,提高企业的竞 争力【4 】。 1 2 工业以太网技术介绍 1 2 1 工业以太网的发展与研究现状 二十世纪九十年代中期,当现场总线大战正浓时,传统上用于办公室和商业的以太 网开始进入工业控制领域,近年来发展更是迅速。究其原因,一方面是由于工业自动化 系统不断向分散化、智能化的实时控制方向发展,用户日益迫切要求统一通信协议和网 基于e t h e m e t 控制网络的o p c 技术的研究 络标准;另一方面,i n t r a n e t i n t e r n e t 技术的飞速发展要求企业从现场控制层到管理层 实现信息的全面无缝集成并提供一个开放的基础架构,但目前的现场总线根本不能满足 这些要求。 国外对工业以太网的研究始于1 9 9 5 年前后。目前,国外很多自动化控制系统和设 备制造公司都在其控制系统中采用以太网技术实现监控层的数据交换。尽管这些系统在 控制现场底层还不能实现互操作,但通过以太网,控制系统监控层之间、各种控制子系 统之间、以及控制子系统与企业管理信息系统之间的数据交换与共享己经变得非常方 便、快捷。以太网在控制系统监控层的应用消除了企业内部各种自动化系统之间的“信 息化孤岛”现象,基本体现出了这些控制系统的开放性。 为促进以太网在工业领域的应用,国际上成立了工业以太网协会( i n d u s t r i a l e t h e r n e ta s s o c i a t i o n ,i d a ) 和工业自动化开放网络联盟c i a o n a ) 。它们并与美国的a r c a d vis o r yg r o u p ,a m rr e s e a r c hc e n t e r 和g a r t n e rg r o u p 等机构合作,进行工业以太 网关键技术的研究。美国电气和电子工程师协会( i e e e ) 正着手制订现场总线和以太网通 信的新标准。i a o n a 最近与o d v a 及i d a 就共同推进e t h e r n e t 和t c p i p 达成共识。这些 都为以太网进入工业自动化现场打下了基础。 与此同时,各种现场总线标准的支持组织和自动化厂商也意识到了由于众多现场总 线标准共存所导致的问题。它们在适应市场需求、加强与其他现场总线竞争能力的同时, 也在加紧对工业以太网标准的实现。如f f ( f i e l d b u sf o u n d a t i o n ) 就在e t h e r n e t 和 t c p i p 协议的基础上,于2 0 0 0 年3 月公布了其h s e ( h i 曲s p e e de t h e r n e t ,高速以太 网) 的最终技术规范( f s i1 o ) 以替代原来计划的f fh 2 ,形成了基于f fh 1 和h s e 的网络 结构:德国西门子公司于1 9 9 8 年发布了i n d u s t r i a le t h e r n e t 白皮书,并于2 0 0 1 年发 布了i n d u s t r i a le t h e r n e t 规范( 即p r o f i n e t ) ;法国施奈德公司于1 9 9 8 年推出了透明 工厂战略,成为工业以太网的坚决倡导者。 在国家科技部“8 6 3 ”计划的支持下,浙江大学、浙大中控、中科院沈阳自动化研 究所、重庆邮电学院、大连理工大学、清华大学等单位联合成立了以浙大中控技术股份 有限公司总裁金建祥教授为组长的标准起草工作小组,开展了e p a ( e t h e r n e tf o rp l a n t a u t o m a t i o n ) 技术研究,重点是研究以太网技术应用于工业控制现场设备间的关键技术, 通过研究和攻关,取得了以下成果: ( 1 ) 以太网用于现场设备问通信的关键技术获得重大突破。 针对工业现场设备间通信具有实时性强、数据信息短、周期性较强等特点和要求, 经过认真细致的调研和分析,采用以下技术基本解决了以太网应用与现场设备间的通信 的关键技术: 实时通信技术 其中采用以太网交换技术、全双工通信、流量控制等技术,以及确定性数据通信调 度控制策略、简化通信栈软件层次、现场设备层网络微网段化等针对工业过程控制的通 信实时胜措施,解决了以太网通信的实时性。 总线供电技术 硕士学位论文 采用直流电源耦合、电源冗余管理等技术,设计了能实现网络供电或总线供电的以 太网集线器,解决了以太网总线供电问题。 远距离传输技术 采用网络分层、控制区域微网化、网络超小时滞中继以及光纤等技术解决以太网的 远距离传输问题。 网络安全技术 采用控制区域微网段化,各个控制区域通过具有网络隔离和安全过滤的现场控制器 与系统主干相连,实现各控制区域与其它区域之间的逻辑上的网络隔离。 可靠性技术 采用分散结构化设计、e m c 设计、冗余、自诊断等可靠性设计技术等,提高基于以 太网技术的现场设备可靠性,经实验室e m c 测试,设备可靠性符合工业现场控制要求。 ( 2 ) 起草了e p a 国家标准 以工业现场设备间通信为目标,以工业控制工程师( 包括开发和应用) 为使用对象, 基于以太网、无线局域网、蓝牙技术+ t c p i p 协议,起草了“用于工业测量与控制系统 的e p a 系统结构和通信标准”( 草案) ,并通过了由t c l 2 4 组织的技术评审。 ( 3 ) 开发基于以太网的现场总线控制设备及相关软件原型样机,并在化工厂生产装置上 功应用。 针对工业现场控制应用的的特点,通过采用软、硬件抗干扰、e m c 设计措施,开发 了基于以太网技术的现场控制设备,主要包括:基于以太网的现场设备通信模块、变送 器、执行机构、数据采集器、软p l c 等成果”1 。 1 2 2 工业以太网进入工控领域的优势 与现场总线相比,工业以太网在工业控制领域具有以下优势眦7 、8 : 1 开放性好。 基于t c p i p 协议的工业以太网是一种标准的开放式网络,不同厂商的设备很容易 实现互联。这种特性非常适合于解决控制系统中不同厂商设备的兼容和互操作的问题。 几乎所有的编程语言都支持以太网的应用开发,如j a v a ,v i s u a l c + + ,v i s u a lb a s i c 等。 2 数据传输率高。 以太网支持的数据传输速率可达1 0 m p s ,1 0 0 m b p s 甚至1 g b p s ,比目前任何一种现场 总线都快。 3 与远程w 曲技术的结合。 以太网技术与远程w e b 技术结合在一起,可以实现生产过程的远程监控、远程设备 管理、远程软件维护和远程设备诊断。 4 容易实现与信息网络的集成,有利于资源共享。 由于通信协议相同,工业以太网能实现办公自动化网络和工业控制系统的无缝连 接。网络上的用户无论处于什么地方都能使用网络中的共享数据、设备及其他服务。这 种强大的资源共享能力是目前其他任何一种现场总线都无法比拟的。 基于e t l l e m e t 控制网络的o p c 技术的研究 5 支持多种物理介质和拓扑结构。 以太网支持多种传输介质,包括同轴电缆、双绞线、光缆、无线等。用户可以根据 带宽、距离、价格等因素合理选择。以太网支持总线型和星型拓扑结构,可扩展性强, 同时还可采用多种冗余连接方式提高网络性能。 1 3 0 p c 技术概述 1 3 - 1o p c 技术产生的背景 早期的计算机系统,为了实现不同的硬件和软件所构成的计算机之间的数据交换和 通信,必须要花费很多时间去开发独自的通信程序但是正是由于现在有了数据交换和 通信的工业标准,才有可以实现像互连网那样,使不同的计算机相互连接的巨大网络所 以在开发企业的信息系统时,采用符合工业标准的数据库和客户一服务器接口,可以使有 效的精力投入到应用程序本身功能的开发中去 工业生产过程控制系统也存在同样的问题也就是使由不同的供应商提供的机器设 备无须特别的软件开发就可以互相连接在图卜1 所示的过程控制信息系统中,从处理设 备数据的现场设备层,到进行过程处理的过程控制系统层,乃致最上层的生产管理层,建 立和普及一个有效的数据交换工业标准乃是当务之急在这种情况下,利用微软w i n d o w s 视窗中的o l e c o m 技术实现工业过程控制中的数据交换标准化,正是0 p c ( 0 l ef o r p r o c e s sc o n t r 0 1 ) 本来的目的所在“ 图卜l 生产过程控制信息系统结构 1 3 2o p c 技术解决的问题 o p c 诞生之前,硬件的驱动器和与其连接的应用程序之间的接口并没有统一的标准 例如,在f a ( f a c t o r ya u t o m a t i o n ) 领域,连接p l c ( p r o g r a m a b l el o g i cc o n t r o l l e r ) 等控 硕士学位论文 制设备和s c a d a h m i 软件,需要不同的f a 网络系统构成根据调查结果,据说在控制系统 软件开发的所需费用中,各种各样机器的应用程序设计占费用的7 成,而开发机器设备间 的连接接口则占了3 成此外,在p a ( p r o c e s sa u t o m a t i o n ) 领域,当希望把 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 ) 中所有的过程数据传送到生产管理系统时,必须按照 各个供应商的各个机种开发特定的接口( 例如,利用c 语言d l l 连接的d d e 服务器或者利 用f t p 的文本文件传送等) 设计应用程序。例如,在图卜2 所示的由4 种控制设备和与 其连接的3 个应用程序构成系统时,必须花费大量时间为每个应用程序开发4 个设备驱 动程序,3 个应用程序就要开发1 2 种驱动程序。由于系统中共存各种各样的驱动程序, 也使维护运转环境的稳定性和可靠性更加困难。 图卜2 利用驱动器的系统连接 o p c 是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据 交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语 言和开发环境的可以自由组合使用的过程控制软件组件产品。 利用o p c 的系统,是由按照应用程序( 客户程序) 的要求提供数据采集服务的o p c 服务器,使用0 p c 服务器所必须的o p c 接口,以及接受服务的0 p c 应用程序所构成。o p c 服务器是按照各个厂商的硬件所开发的,使之可以吸收各个供应厂商硬件和系统的差 异,从而实现不依存于硬件的系统构成。同时利用一种叫做v a r i a n t 的数据类型,可以 不依存于硬件中固有的数据类型,按照应用程序的要求提供数据格式。 采用o p c 标准后,如图卜3 所示,针对硬件的驱动程序不再由软件开发商开发, 而是由硬件开发商根据硬件的特征提供统一的o p c 接口程序。由于硬件开发商对自己 的硬件特征了如指掌,从而能够最大限度地挖掘硬件的潜力,提高驱动程序的性能。采 用o p c 标准后,由硬件开发商提供统一的o p c 接口程序,从而避免了开发重复性,使 开发费用大大降低。具体来说: 图卜3 利用0 p c 的控制系统构成 首先,将各个硬件设备驱动程序和通讯程序封装成独立的o p c 数据服务器,可独 基于e t h e m e t 控制网络的o p c 技术的研究 立运行或嵌入式运行,这一部分工作可由熟悉该硬件性能的硬件提供方完成,从而能够 最大限度地挖掘硬件的潜力,提高驱动程序的性能。这样,上层应用软件可以不关心硬 件的性能特点。其次,由于硬件驱动和上层应用的相对独立,硬件性能的变动不影响上 层软件的使用,使硬件可在遵循0 p c 数据接口协议的基础上独立升级,软件开发者将 不必因硬件的特性改变或增加而重写驱动程序。同时因为硬件驱动的0 p c 数据服务器 建立在上位机中,所以上层应用与o p c 服务器之间的数据交换是应用程序间交换数据 的关系,上层应用不需要包含各自的设备驱动程序,这可以避免多个设备驱动程序同时 存取可能引起的冲突。此外,硬件驱动程序封装成o p c 服务器后,相对于上层应用来 说,硬件的性能特征和通讯协议是不可见的,使硬件提供方的技术得到了保护。使用o p c 技术可使硬件驱动程序的模块化,开放性,可重用性大为提高。 上层应用作为o p c 技术的客户端,可以不包含任何硬件驱动程序,不关心底层是 什么硬件,硬件有什么特性以及与硬件如何进行通讯交换。只要遵循0 p c 数据接口协 议,就能够从不同的硬件厂商提供的o p c 数据服务器中取得数据,从而实现数据的灵 活配置和多种系统的真正集成。因此,0 p c 可以称为“软件总线”,应用程序只要知道 如何读取0 p c 数据源,从而可以更加容易、通用、简小。设备驱动端( o p cs e r v e r ) 只要知道如何将现场数据转换为0 p c 统一格式的数据。o p c 最重要的目标就是实现灵 活、高效、方便地获取数据,易于掌握和实施,即插即用1 。 1 3 3o p c 技术在国内外发展现状 现在o p c 基金会在全世界已经拥有2 4 0 多个成员,而且还在不断增加。这些成员主要 负责o p c 技术规范的制定和发布,并协调o p c 技术的开发。根据0 p c 基金会最新公布的产 品清单,0 p c 基金会成员已经想全世界推出了4 5 0 种以上的o p c 产品。其中比较著名 f i s h e r r o s e m o u n t 的d e l t a v 系统,e x c e la d d i n 软件,现场总线o p c 服务器;i n t e l l u t i o n 的i f i x ,d y n a m i co p ct o o l k i t ;s i e m e n s 的w i n a c ;r o c k w e l l 白匀r s l i n k 、r s v i e w 、r s s q l 系列等。 目前已经发布的o p c 技术规范版本为:o p cd a t a a c c e s sv e r s i o n3 o ( 2 0 0 3 一0 3 5 ) 、 o p c a l a r m e v e n tv e r s i o n1 1 0 ( 2 0 0 2 1 0 0 2 ) 、o p ch i s t o r i c a l d a t a a c c e s sv e r s i o n 1 2 0 ( 2 0 0 3 1 2 1 0 ) m 1 。 2 0 0 0 年1 2 月1 5 日,o p c 基金会中国市场推进委员会成立该组织是美国0 p c 国际基金 会组织的分支机构,最初由艾默生过程管理、i n t e l l u t i o n 、美国国家仪器和西门子等几 家公司组成,并且对所有的中国公司和用户开放。 2 0 0 1 年7 月1 1 日,o p c 基金会中国市场推进委员会经o p c 基金会批准,成立了0 p c 基金 会北京办事处,其目的是在中国推广0 p c 技术,消除与发达国家的信息差距。为此,该 办事处将发挥桥梁作用,为中国用户和会员开展培训、技术交流和展览会”。 0 p c 技术作为一项工业标准在国内得到了逐步推广和应用,特别是近年来引起了广 泛的关注。不少高等院校、研究机构和制造厂商都展开了对0 p c 技术的研究和应用。一 些公司如北京华控公司也加入了o p c 基金会,成为其成员单位。在应用方面,沈阳自动化 硕士学位论文 研究所在开发新一代分布式控制系统时就采用了o p c 技术,实现了上层应用软件通过 o p c 服务器访问现场设备信息的功能,同时还开发了o p c 软件包和相应控件。不少自动 化仪表制造厂商在提供硬件的同时也提供相应o p c 服务器。一些国内工控软件公司也充 分利用o p c 技术增强和扩展其软件功能,例如北京亚控公司从组态王5 l l 版 本开始支持o p c 技术。虽然在我国有越来越多的厂商推出了采用o p c 技术的产品,但其兼 容性、操作性还有待提高。因此,国内工业自动化领域的科研机构和制造厂商应加强合 作,紧紧把握住最新技术,推动我国自动控制系统及仪器仪表水平的发展n “。 1 4 本文主要研究工作 本论文在深入研究o p c 规范的基础上 客户端软件,o p c 服务器软件的基本框架 内容安排如下: 分别利用v b 、v c 为开发工具,开发出了0 p c 并对该套软件的总体性能进行了测试。总体 第一章介绍了工业控制网络的现状及o p c 技术产生的背景。 第二章详细阐述了o p c 技术规范及它的核心技术c o m d c o m 。 第三章进行0 p c 客户端软件的设计。 第四章进行o p c 服务器的设计。 第五章进行总体性能测试。 茎王量:生晋:垄型璺竺盟2 :三垫奎墼至蚕 第二章c o m d c o m 技术和o p c 规范 2 1c o m 分布式组件技术 c o m ( c o m p o n e n to b j e c tm o d e l ) ,是微软提出并大量使用的分布式组件标准。它不 仅定义了组件之间进行交互的标准,并且也提供了组件程序运行所需的环境,在微软的 w i n d o w s 系列平台中占绝对的领导地位。 c o m 是软件组件互相通讯的一种方式,是基于对象的软件开发模型。它是一种二进 制和网络标准,允许任意两个组件互相通讯,而不管它们是在什么计算机上运行( 只要 计算机是相连的) ,不管各计算机运行的是什么操作系统( 只要该操作系统支持c o m ) ,也 不管该组件是用什么语言编写的。其目的在于让多个软件组件彼此协调工作,即使它们 来自不同厂商、用不同语言编写或是在不同操作系统上运行的。其调用模式如图2 1 所 示。 图2 一l 客户端与c o m 组件服务器调用的基本模型 c o m 定义了二进制互操作标准及结构独立的网络协议,从而支持组件互操作性、软 件进化、异构环境下的分布式计算等特性。c o m 还提供了位置透明性:当编写组件时,其 它组件是进程内d l l 本地e x e 还是位于其它计算机上的组件,对我们而言都无所谓。( 当 然会有性能区别,但是,即使改变了其它组件的位置,我们也不必重新编写什么,这是 关键所在。) c o m 的规范与实现合为一体。c o m 规范主要包括c o m 核心、持久存储、一致 数据传输和智能名字等。微软早期提出的c o m 模型主要是建立在单机系统之上的。随着 需求的进一步发展,微软对c o m 模型进行了扩展,增加了网络访问c o m 的功能,即d c o m 。 目前,微软结合包括事务处理、消息队列在内的多种公共企业级服务提出了c o 卅分布式 组件对象模型。 硕士学位论文 2 1 1c o m 对象 c o m 是面向对象的软件模型,因而对象是它的基木要素之一,类似c + + 中的概念, 对象是某个类( c l a s s ) 的一个实例:而类则是一组相关的数据和功能组合在一起的一个 定义。c o m 对象也包括属性( 也称状态) 和方法( 也称操作) ,对象的状态反映了对象的存 在,也是区别其他对象的要素:而对象所提供的方法就是对象提供给外界的接口,客户 必须提供接口才能获得对象的服务。对于c o m 对象来说,接口是它与外界进行交互的唯 一途径,因此封装特性是c o m 对象的基木特征。 c o m 中最基木的元素是组对象,组件对象之间及组件对象与系统之间通过接口进行 互操作。图2 2 可说明c o m 组件、c o m 对象和c o m 接口之间地关系。c o m 是基于对象的。 图22c o m 组件、对象和接口之司的关系 但是这种对象概念与c + + 的对象不太一样。( 这里的“对象”和“组件”是指同一个东西。 “组件”侧重于应用程序结构,而“对象”则重于应用程序的实现) 首先,c o m 对象被很 好地封装起来。您无法访问对象的内部实现细节:您无法知道对象使用了什么数据结构。 实际上,对象的封装是如此的严密,以至于c o m 对象通常被描绘为盒子。 客户如何来标识c o m 对象呢? 与接口类似,每个对象也用一个1 2 8 位g u i d 来标识, 称为c l s i dc c l a s si d e n t i f i e r ,类标识或类i d ,用c l s i d 表示对象可以保证在全球范 围内的唯一性。只要系统中含有这类c 0 m 对象的信息,并包括c o m 对象所在的模块文件 ( d l l 或e x e 文件) 以及c 0 m 对象在代码中的入口点,客户程序就可以由c l s i d 来创建c o m 对象。全局标识符c u i d 是一个1 2 8 位的随机数,它并不需要专门的机构进行分配和管 理。g u i d 的随机性由两方面的特性保证:一方面是空间,对于网络中的计算机,通常取 网络适配器的地址值,没有网络适配器的机器用其它随机数生成算法产生:另一方面, 同一机器在不同时候产生的标识符总不相同。我们在实际使用过程中不用担心自己使用 的g u i d 会有冲突的危险。 基于e t h e m e t 控制网络的o p c 技术的研究 2 1 2c o m 接口 实现对对象的封装后,就要求具有通讯的功能,这就是c 0 m 接口。访问c 。 i 对象的 唯一途径是通过接口。从技术上讲,接口包含了一组函数的数据结构,通过这组数据结 构,客户代码可以调用组件对象的功能。组件定义了一组成员函数,这组成员函数是露 出来的所有信息,客户程序利用这些函数获得组件对象的服务。 d v t a b l e v t a b l e 接口描述服务器服务 图2 3 接口模型 客户程序用个指向接口数据结构的指针来调用接口成员函数。如图2 3 所示,接 口指针实际上又指向另一指针,这第一个指针指向一组函数,称为接口函数表,接口函 数表中每一项为4 个字节长的函数指针,每个函数指针与对象的具体实现连接起来。通 常,我们把接口函数表称为虚函数表( v i r t u a lf u n c “o nt a b l e ,简称v t a b l e ,指向v t a b l e 的指针为p v t a b l e 。 c o m 定义的每个接口都必须从i u n k n o w n 继承,其原因在于i u n k n o w n 提供了两个非 常重要的特性:生存期控制和接口查询。客户程序只能通过接口与c o m 对象通信,虽然 客户程序可以不管对象的实现细节,但它要控制对象的存在与否。如果客户还要继续对 对象进行操作,则它必须保证对象能一直存在于内存中:如果客户对对象的操作已经完 成,以后它必须及时地把对象释放捧,以提高资源的利用率。i u n k n o w n 引入“引用计数” ( r e f e r e n c ec o u n t i n g ) 方法,可以有效地控制对象的生存周期。另一方面,如果一个c o l l 对象实现了多个接口,在初始时刻,客户程序不太可能得到所有接口的指针,它只会拥 有一个接口指针。如果客户程序需要其他的指针,那么它如何通过这个接口指针获得另 一个接口指针呢? i u n k n 。w n 使用了“接口查询”( q u e r y i n t e r f a c e ) 的方法来完成接口之 间的跳转。 接口由接口定义语言i d l ( 国际标准) 来定义,每个组件模块可以有多个接口。二进 制互操作和多接口使得c o m 应用很容易实现进化。在框架中c 0 m 采用了一种全球唯一标 识符g u i d 技术来标识组件对象和接口。c o m 定义了大量的标识接口及其相关的i i d 。例 硕士学位论文 如,所有接口的母辈i u n k n o w n 的i i d 是“o o o o 0 0 0 0 一0 0 0 0 一0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 ”( 连 字符是书写g u i d 的标准方式) 。使用标准接口可以完成大量c o m 编程工作一其中的大部 分工作就是提供标准接口的实现细节,这样,其它的c o m 客户程序和对象就可以使用您 的列象了。调用接口的方法程序的方式与调用c + + 虚函数的方式相同。 对象标识被存放在系统的注册表内。对象的生成由操作系统提供的函数根据查询注 册表得到的对象标识创建。c o m 通过使用q u e r y i n t e r f a c e 函数获得组件的其它接口。大 多数c o m 对象都保留一个引用计数,也就是说,这就可以知道有多少个该对象的接口指 针正在使用。如果所有对象接口的引用数变成零时,该对象就可以释放。我们不必明确 地释放该对象,只需释放对象的所有接口指针,对象会在合适的时候释放自己。 2 1 3 c o m 库 c o m 技术建立的基础是客户服务器模型。如图2 4 所示。通过这种模型,c o m 实现 了稳定可靠的跨进程、跨网络的通信。c 0 m 对象的创建是通过调用一个缺省的接口来实 现的,即对象的类工厂。类工厂包装了c o m 对象的实际创建过程。在调用类工厂的创建 功能之后,代码不必关心它创建了哪种对象,例如不管该对象是一个进程内服务程序还 是本地服务程序。类工厂管理所有这些差别。c o m 需要实现一个类对象的最重要原因是, 这样c o m 可以具有创建任何种类对象的标准多态方法,而客户程序不必知道创建过程的 确切细节。类对象封装了这些内容,这样客户程序就不必知道。 c 0 m 本身除了规范之外,也有实现的部分,即c o m 库,c o m 库在操作系统的层次上 实现,包括一些系统级代码,通过这些代码实现了对象和客户之间可通过二进制代码进 行交互。主要包括三部分的内容:提供应用程序接口,实现客户朋艮务器端c o m 应用的创 建过程:通过注册表管理c 0 m 对象的标识和服务器属性:提供一种标准的内存管理方法, 使应用程序控制对象内存的分配和管理。 2 4 基于c o m 的客户服务器模型 基于c o m 分布式组件模型的应用框架是由c o m 库结合操作系统服务来实现的,c o m 库通过底层支持所有的组件按照统一的方式进行交互,封装了基础的通讯操作,从而简 基于e t h e m e t 控制网络的o p c 技术的研究 化了分布式应用程序的开发。另一方面,c o m 通过提供大量标准的接口库和使用频繁的 组件实现了普遍的功能,加快了应用软件的开发“”。 2 2d c o m 分布式组件技术 m i c r o s o f t 的d c o m ( d i s t r i b e t e dc o m ) 技术扩展了组件对象模型技术( c o m ) ,使其能 够支持在局域网、广域网甚至i n t e r n e t 上不同计算机的对象之问的通讯,基于d c o m 的 应用程序可以在位置上达到分布性,它为我们处理网络协议的底层的细节问题,继而满 足客户和应用的需求,d c o m 是c 叫的无缝扩展,基于c o m 的所有应用、组件、工具以及 知识都可以转移到标准化的分布式计算领域。对各种各样的需求的巨大市场使得将标准 化的解决方案集成到了一个普通的应用系统中成为可能。任何为分布式应用开发的组件 都可能在将来被复用。围绕组件模式来组织研发过程使得你能够在原有工作的基础上不 断的提高新的系统的功能并减少开发时间,d c o m 从木质上保证了现在涉及的组件在将来 也可以被很好的使用“。 d c o m 是c o m 的进一步扩展。c o m 定义了组件和它们和客户之间互相作用的方式。它 使得组件和客户端无需任何中介就相互联系。客户进程直接调用组件中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老鹰素描考试题及答案
- 广东法学概论自考试题及答案
- 蓝田法院考试题及答案
- 2025年教师招聘之《幼儿教师招聘》基础试题库含答案详解(a卷)
- 考研舞蹈考试题及答案
- 康复知识考试题及答案
- 2025年中国豪华旋转服装架数据监测报告
- 竞聘店长考试题及答案
- 景观招聘考试题及答案
- 连铸工抗压考核试卷及答案
- 2025年中国氢化棕榈油市场深度评估及投资方向研究报告
- 幼儿园酸奶牛奶采购合同
- 《中药提取物生产技术》课件-中药常用的粉碎方法
- 政治学原理(第三版)课件 第1章 政治的性质与核心问题;第2章 政治学:研究方法与学科特点
- 开放北二期 有限空间作业专项方案 22.5.16
- 一年级行为好习惯养成教育课件
- 唐山市2024-2025学年度高三年级摸底演练 英语试卷(含答案)
- 2.1 认识自己 课件-2024-2025学年统编版道德与法治七年级上册
- 湖南省食品安全管理制度
- 城市道路与开放空间低影响开发雨水设施
- 装配式建筑装饰装修技术 课件 模块七 集成卫浴
评论
0/150
提交评论