(机械电子工程专业论文)基于opc技术的远程监控系统的研究.pdf_第1页
(机械电子工程专业论文)基于opc技术的远程监控系统的研究.pdf_第2页
(机械电子工程专业论文)基于opc技术的远程监控系统的研究.pdf_第3页
(机械电子工程专业论文)基于opc技术的远程监控系统的研究.pdf_第4页
(机械电子工程专业论文)基于opc技术的远程监控系统的研究.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(机械电子工程专业论文)基于opc技术的远程监控系统的研究.pdf.pdf 免费下载

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

文档简介

上海大学硕 学位论文 摘要 论文以汽车换档器远程测试系统工程项目为基础,针对当前监控系统 系统存在的开放性、稳定性、复用性和可维护性差的缺陷,对基于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 服务器和根 据o p c 基金会提供的规范应用c o m 技术直接开发o p c 服务器两种o p c 服务器的实现方法,并重点分析了基于c o m 技术直接开发o p c 服务器过 程中的关键技术。 再次,论文研究了o p c 客户程序的设计与实现,分析了o p c 自动化 接口原理和数据访问机制以及使用v i s u a lb a s i c 语言开发o p c 客户程序和 基于w e b 技术采用a s p 开发o p c 客户程序两种o p c 客户程序的实现方法。 最后,论文给出了基于o p c 技术的远程监控系统的应用实例一汽车换 档器远程测试系统,分析了该监控系统的总体架构,以及各个部分的实现, 并通过局域网和l n t e m e t 环境下的远程监控实例,验证了论文提出的基于 o p c 技术的远程监控系统的实现方法。 关键词:o p c ,远程监控系统,o p c 服务器,o p c 客户程序,w e b v 卜海大学硕士学位论文 a b s t r a c t t h ek e yt e c h n o l o g yo fo p cb a s e dr e m o t em o n i t o r i n gs y s t e mh a sb e e n t h r o u g h l yr e s e a r c h e di n t h i sd i s s e r t a t i o n ,b a s e do nt h ep r o j e c to fr e m o t et e s t i n g s y s t e mf o rc a rs h i f t e r , t os o l v et h ee x i s t i n gp r o b l e m so f c u r r e n tm o n i t o r i n gs y s t e m , i n c l u d i n go p e n n e s s ,s t a b i l i t y , r e u s e a b i l i t y , m a i n t a i n a b i l i t y f i r s t ,o p ct e c h n o l o g ya n di t sr e a l i z a t i o nm e c h a n i s ma r ei n t r o d u c e di nt h i s d i s s e r t a t i o n i nm o r ed e t a i l ,i t sb a c k g r o u n d ,r e l a t e dt e c h n o l o g y , o p cs p e c i f i c a t i o n , a d v a n t a g eo f u s i n go p c a n dt h er e a l mw h e r eo p cf i t sa r ep r e s e n t e d s e c o n d ,t h ed e s i g na n dr e a l i z a t i o no fo p cs e r v e r a r ea n a l y z e di n t h i s d i s s t e r t a t i o n t h eo p cs e r v e r so v e r a l ls c h e m ea n dt w om e t h o d st od e v e l o po p c s e r v e ra r ep r e s e n t e d o n eo ft h et w om e t h o d si sd e v e l o p i n go p cs e r v e rb yt h eu s e o fo p cs e r v e rr a p i dd e v e l o p m e n tk i t ,t h eo t h e ri sd e v e l o p i n go p cs e r v e r d i r e c t l yb a s e do nc o mt e c h n o l o g y , t h el a t t e ri sm a i n l ya n a l y z e d t h i r d ,t h ed e s i g na n dr e a l i z a t i o no fo p cc l i e n ta r ei n t r o d u c e d t h et h e o r yo f a u t o m a t i o ni n t e r f a c ea n dt h em e c h a n i s mo fo p cd a t aa c c e s s ,a n dt w om e t h o d st o d e v e l o po p c c l i e n ta r ep r e s e n t e d o n eo ft h et w om e t h o d si su s i n gv i s u a lb a s i ct o d e v e l o po p cc l i e n t ,t h eo t h e ri su s i n ga s p t od e v e l o po p cc l i e n tb a s e do nw e b t e c h n o l o g y f i n a l l y , a l la p p l i c a t i o no fo p cb a s e dr e m o t em o n i t o r i n gt e c h n o l o g y , r e m o t e t e s t i n gs y s t e mf o rc a rs i f t t i e ri si n t r o d u c e d ,a n di t so v e r a l ls c h e m ea n dt h er e a l i z a t i o n o fe a c hp a r ta r ep r e s e n t e d t h ev a l i d i t yo fo p cb a s e dr e m o t em o n i t o r i n gt e c h n o l o g y p r e s e n t e di nt h i s d i s s e r a t i o ni st e s t e db yt h et w or e m o t em o n i t o r i n ge x a m p l e s r e a l i z e di nl a ne n v i r o n m e n ta n di n t e r e c te n v i r o n m e n t k e y w o r d s :o p c ,r e m o t em o n i t o r i n gs y s t e m ,o p cs e r v e r , o p cc l i e n t ,w e b v l 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发 表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 一埤嗍一眦 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即: 学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 酶摊翩硌鼬嘿巡乎 上海大学硕士学位论文基十o p c 技术的远程监拄系统的研究 1 1 课题背景 第一章绪论 随着计算机科学技术、工业控制等新技术的迅速发展,监控系统由早期的集 中式监控向分布式的方向发展,监控系统软件也从早期面向功能的系统,随着面 向对象技术、分布式对象计算、多层次c l i e n t s e r v e r ( 客户端月务器) 和w e b 技术 的成熟,发展为面向具体现场设备为特征的面向对象的监控系统。 1 1 1 监控系统的发展过程 监控系统的发展经历了集中式监控系统、分散式监控系统、分布式监控系统、 开放式监控系统几个阶段【i l 。 ( 1 ) 集中式监控系统 设置一台或两台计算机对整个系统进行集中监视、控制构成集中式监控系 统。由于所有的信息都要送到计算机进行处理,所有的操作、控制命令都由计算 机发出,因而计算机出现故障,将导致全系统的瘫痪。另外,集中式的计算机系 统结构不具有开放性,因为系统维护、升级以及与其它系统联网很困难。随着计 算机的发展,计算机价格的降低,目前这种监控方式已逐渐被淘汰。 ( 2 ) 分散式监控系统 随着微型机技术和通讯技术的发展,特别是局域网络技术的发展,使监控系 统实现负载分散、地域分散、功能分散在技术上成为可能。分散式监控系统是指 以功能的分散为主要特征,设置多套相应的设备,独立完成各自的功能。功能分 散式监控系统并没有解决信息过于集中的问题,某个单功能装置计算机发生故 障,则全站都会受到影响。 ( 3 ) 分布式监控系统1 2 】 分布式监控系统是分散式监控系统的一种方式,它是在克服分散式监控系统 的缺点上提出来的。分布式监控系统是指以控制对象分散为主要特征,按控制对 象为单元设置多套相应的装置,构成当地控制单元,完成对控制对象的数据采集 上海大学硕l - 学位论文 基于o p c 技术的远程监控系统的研究 与处理。其缺点是开放性差,服务器成为整个系统的瓶颈。 ( 4 ) 开放式监控系统 开放式监控系统是近年来发展并得到广泛研究的一种工业控制监控系统。全 新的开放式监控系统包括三个方面: 应用软件的可移植性; 不同系统之间的相互操作性; 用户的可移植性。 开放式监控系统主要特征是采用i n t e m e t 技术、o p c 技术、面向对象技术、 组件技术等技术实现系统与其他信息系统的增值集成,实现控制和管理过程的智 能化。主要特点是全开放性,系统扩展、升级更新非常方便。 1 1 2 监控系统组成结构 如图1 1 ,监控系统功能可以划分为以下四个子系统”。 ! 人机联系子系统l 控制子系统 ! 信急传输子系统 。信息采集命令执行子系统 。 :! : ; l h 一_ ;- - j 一0 r 气+ o ;+ 卜一 !:! : ; !: ! 。 i: 信 黼k 一 姜 i 萎 遥测暴 1 通通 蓁 袭 生 遥信 备 t 呈量兰j + 一 霾 信信 过 机机 逼控 命 程 r 需回一 蓁 遥调巍 - r 行 同 与萁他厂站通讯 设 备 调度端厂站端 图11 监控系统结构图 ( 1 ) 信息采集和命令执行子系统:监控系统厂站端通过信息输入设备将遥信 量、遥测量等采集处理后经信息传输子系统发往调度端,并接收调度端发来的命 上海大学硕士学位论文基于o p c 技术的远程监控系统的研究 令,通过命令输出执行设备,执行遥控、遥调等命令。 ( 2 ) 信息传输子系统:调度端与厂站端通常距离较远,采用通信技术,由通 信机和信道组成的信息子系统实现两端的信息交换。 ( 3 ) 信息采集处理和控制子系统:调度端采集各个厂站的信息,经处理加工 后通过人机联系子系统告知工作人员,并接受工作人员的命令;也可以与上级调 度交换信息,或给厂站下达命令,进行控制和调节。 ( 4 ) 人机联系子系统:监控系统经过人机联系子系统为运行人员提供完整的 系统实时运行状态信息。人机联系的手段有调度模拟屏、屏幕显示器、打印机等, 运行人员可以通过操作键盘对整个系统的运行进行管理,向厂站下达遥控、遥调 命令。 1 1 3 当前监控系统存在的问题及其解决方案 1 1 3 1当前监控系统存在的问题 当前监控系统作为支撑现代工业生产和社会生活的基础设施,得到了广泛的 应用和发展。但由于系统不具备开放性,各个部分的联系过于紧密,使系统过于 复杂,这样使系统的更新、扩展、升级变得非常困难。修改什么地方,怎样修改 往往无从下手。 当前监控系统开发中出现的另一个主要问题是软件的重复开发,软件不能够 重用,资源不能够共享,造成大量人力与物力资源的浪费。传统数据访问方式, 智能设备之间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实 现的。由于软件开发商对驱动程序的要求各不相同,硬件供货商不可能为所有的 软件开发商提供驱动程序,所以这项工作只能由控制系统的软件开发商承担,导 致了计算机控制系统软件开发过程中的一些缺点: ( 1 ) 重复开发。每个软件系统开发商必须为每个特定的硬件开发一个驱动程 序。 ( 2 ) 不同丌发商之间的驱动程序不一致。软件开发商各自从自己的需要出 发,采用不同的数据交换协议开发驱动程序,从而使各开发商之f b j 的驱动程序不 上海大学硕士学位论文基于o p c 技术的远程监控系统的研究 一致,并且驱动程序并不支持所有的硬件特性。 ( 3 ) 不支持硬件特征的变化。由于驱动程序由软件开发者开发,硬件特征的 变化将会使有的驱动程序失效,为适应硬件特征的新变化,软件开发者必须为硬 件开发新的驱动程序。 ( 4 ) 访问冲突。一般来说,两个软件包不能同时访问同一设备,因为它们使 用不同的驱动程序。为解决这一问题,硬件开发商试图以开发驱动程序的方法来 解决这一问题,但由于不同的客户采用不同的客户协议而无法实现。 控制系统软件开发商构造一个完整的控制系统需要大量的驱动程序,如果再 考虑兼容不同硬件厂商的产品,那么驱动程序的数量将更加庞大。传统意义上的 数据读取方式如图1 2 所裂3 1 。在该模式下,增加任何一种设备,必须开发相应 的驱动程序,从而增加控制软件开发者负担,而且即使成功开发出通讯驱动程序, 也不能从本质上解决系统两个部分的互操作问题。 图1 2 传统数据访问方式 1 1 3 2当前监控系统存在的问题的解决方案 当前监控系统存在问题的解决方案就是:给出一个通用接口标准。此标准为 过程控制和工厂自动化提供真正的“即插即用( p l u ga n dp l a y ) ”软件技术,使得 过程控制和工厂自动化的每一系统,每一设备,每一驱动器能够自由的连结和通 信。 在监控系统开放性要求的推动下,o p c ( o l ef o rp r o c e s sc o n t r o l 一用于过程 控制的对象链接与嵌入1 技术应运而生。o p c 是世界上多个自动化公司、软硬件 供应商与微软合作开发的一个工业标准。标准定义了应用m i c r o s o f t 操作系统在 4 t 海人学硕i + 学位论文基于o p t 技术的远程监控系统的研究 基于p c 的客户机之间交换自动化实时数据的方法,为来自不同供应商的软硬件 提供即插即用的连接。当各现场设备、应用软件都具各标准的o p c 接口时,便 可集成来自不同数据源的数据,使运行在不同平台上用不同语言编写的各种应用 软件顺利集成。 采用o p c 标准后,针对硬件的驱动程序不再由软件开发商开发,而是由硬 件开发商根据硬件的特征提供统一的o p c 接口程序。由于硬件开发商对自己的 硬件特征比较了解,从而能够最大限度的挖掘硬件的潜力,全面支持硬件特性, 提高驱动程序的性能。采用o p c 标准后,由硬件开发商提供统一的o p c 接口程 序,从而避免了开发重复性,使开发费用大大降低。 有了o p c 标准,使得系统及设备之间,包括从车间级到m i s ( 管理信息系统) , 完全无缝的,真正开放和方便地进行企业级地通信成为可能。o p c 标准数据访 问方式如图1 3 所示【3 】。在该方式下,增加任何一个支持o p c 技术的设备,都无 需另外开发驱动程序,因为所有硬件设备提供了一个标准统一的o p c 接口,上 层应用程序层和设备层组成节点网络,采用统一的方式读取数据。 1 2 课题研究的意义 图1 3o p c 方式下数据的存取 o p c 技术对监控系统影响和应用是基础性和革命性的,简单地说,o p c 技 术应用于监控系统的优势主要表现在一下几个方面【4 】: 上海大学硕士学位论文基于o p c 技术的远程j l c 控系统的研究 ( 1 ) o p c 解决了设备驱动程序开发中的异构问题。 随着计算机技术的不断发展,用户需求的不断提高,以d c s ( 集散控制系统) 为主体的工业控制系统功能日趋强大,结构日益复杂,规模也越来越大,一套工 业控制系统往往选用了几家甚至十几家不同公司的控制设备或系统集成一个大 的系统,但由于缺乏统一的标准,开发商必须对系统的每一种设备都编写相应的 驱动程序,而且,当硬件设备升级、修改时,驱动程序也必须跟随修改。同时, 一个系统中如果运行不同公司的控制软件,也存在着互冲突的风险。 o p c 标准出现后,由于有了统一的接口标准,硬件厂商只需提供一套符合 o p c 技术的程序,软件开发人员也只需编写一个接口,而用户可以方便地进行 设备的选型和功能的扩充,只要它们提供了o p c 支持。所有的数据交换都通过 o p c 接口进行,不论连接的控制系统或设备是哪个具体厂商提供。 ( 2 ) o p c 解决了现场总线系统中异构网段之间数据交换的问题。 现场总线系统仍然存在多种总线并存的局面,因此系统集成和异构控制网段 之间的数据交换面临许多困难。有了o p c 作为异构网段集成的中间件,只要每 个总线段提供各自的o p c 服务器,任一o p c 客户端软件都可以通过一致的o p c 接口访问这些o p c 服务器,从而获取各个总线段的数据:并可以很好地实现异 构总线段之间的数据交互。而且,当其中某个总线的协议版本做了升级,只需对 相对应总线的程序作升级修改。 f 3 ) o p c 可作为访问专有数据库的中间件。 实际应用中,许多控制软件都采用专有的实时数据库或历史数据库,这些数 据库由控制软件的开发商自主开发。对这类数据库的访问不像访问通用数据库那 么容易,只能通过调用开发商提供的a p i 函数或其它特殊的方式。然而不同开发 商提供的a p i 函数是不一样的,这就带来和硬件驱动程序开发类似的问题:要访 问不同监控软件的专有数据库,必须编写不同的代码,这样显然十分繁琐。采用 o p c 则能有效解决这个问题,只要专有数据库的开发商在提供数据库的同时也 能提供一个访问该数据库的o p c 服务器,那么当用户要访问时只需按照o p c 规 范的要求编写o p c 客户程序而无需了解该专有数据库特定的接口要求。 ( 4 ) o p c 便于集成不同的数据,为控制系统向管理系统升级提供了方便。 匕海大学硕j :学位论文 基于o p c 技术的远程监控系统的研究 当前控制系统的趋势之一就是网络化,控制系统内部采用网络技术,控制系 统与控制系统之间也网络连接,组成更大的系统,而且,整个控制系统与企业的 管理系统也网络连接,控制系统只是整个企业网的一个子网。在实现这样的企业 网络过程中,o p c 也能够发挥重要作用。在企业的信息集成,包括现场设备与 监控系统之间、监控系统内部各组件之间、监控系统与企业管理系统之间、以及 监控系统与i n t e m e t 之间的信息集成,o p c 作为连接件,按一套标准的c o m 对 象、方法和属性,提供了方便的信息流通和交换。无论是管理系统还是控制系统, 无论是p l c ( n 编程控制器) 还是d c s ,或者是f c s ( 现场总线控制系统) ,都可以 通过o p c 快速可靠的彼此交换信息。也就是说,o p c 是整个企业网络的数据接 口规范,o p c 提升了控制系统的功能,增强了网络的功能,提高了企业管理的 水平。 ( 5 ) o p c 使控制软件能够与硬件分别设计、生产和发展,并有利于独立的第 三方软件供应商产生与发展,从而形成新的社会分工,有更多的竞争机制,为社 会提供更多更好的产品。 1 3 国内外研究概况 目前,o p c 技术已经成为工业控制的一种标准,国际上著名的自动化厂商 基本上都是o p c 基金会的成员,o p c 技术也随着计算机技术的发展不断地进行 修改和更新。 1 3 1 国外研究概况 o p c 技术在国外研究得比较多,有2 2 0 家企业是o p c 基金会的成员,其中 北美有8 7 家,日本有4 0 家,欧洲有5 4 家,其它地方有5 家,包括以微软为代 表的众多软件公司,还有g e 等工业领域的大公司。已经发布了4 0 0 多种基于 o p c 的产品,一些产品己经应用于电力、交通、楼宇等行业,促成o p c 成为工 业控制过程国际标准的地位。随着具有代表性的一批国际知名的控制类公司,如 a b b 、a s p e n t e c h 、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 、s i e m e n s 、t o s h i b a 等相继 上海大学顾 :学位论文 基于o p c 技术的远程瞄挎系统的研究 宣布支持o p c 标准。在这种情况下,毫无疑问o p c 将会在控制领域发挥重大作 用,o p c 将会成为大势所趋9 】。 目前国外对o p c 的应用包括: 基于硬件:设备供应商提供o p c 软件包; 基于应用:客户针对设备供应商提供0 p c 软件包的开发; 基于集成:s c a d a 系统,h v l i 等系统集成软件: 基于o p c 开发工具:纯粹o p c 软件包工具供应商。 比较有代表性的o p c 产品有:i n t e l l u t i o n 公司的i f i x 、w o n d e r w a r e 公司 的i n t o u c h 、 u s d a t a 公司的f a c t o r yl i n k 、 i b m 公司的p 1 a n t w o r k s 、美国g e 公司的c i m p l i c i t y 、美国a b 公( r o c k w e l l 自动化) 的r s v i e w 3 2 和德国西门子公 司的w i n c c 等世界著名组态软件,全球有许多家生产厂商都在积极的开发o p c 服务器和客户机。 1 3 2 国内研究概况 相对来说,o p c 技术在国内的研究比较少,而且应用于实际工程中的更少, 国内o p c 基本上处在众多大学及研究所的研究阶段,尚未达到成熟的实际应用, 个别基于o p c 的产品也基本上是实验室产品。但经过近几年o p c 的发展和推广, 国内也开始重视o p c 技术,在国家8 6 3 计划项目生产过程自动化监控系统中, o p c 技术的研究应用是其核心技术之一。国内的沈阳自动化研究所,浙大中控, 华富惠通等对o p c 技术的研究与应用取得了一定的成果。 目前o p c 的研究主要集中在w i n d o w s 平台,主要原因是o p c 的核心技术 为微软开发的c o m d c o m ,但是随着o p c 的发展,基于u n i x 和l i n u x 以及 嵌入式操作系统的o p c 产品也越来越受到广泛重视。o p c 是一项崭新的技术, 发展月新月异。作为一项逐渐成型的过程控制领域软硬件接口的数据通信标准, o p c 正愈来愈受到国内外同行的重视。 e 海大学硕士学位论文基于o p c 技术的远程监控系统的研究 1 4 论文的主要研究内容 o p c 的出现为解决当前监控系统中存在的缺陷提供了一种崭新的解决方法, 利用o p c 技术可以实现来自不同供应商的软硬件即插即用的连接。本文以汽车 换档器远程测试系统工程项目为基础,从创造性、新颖性、实用性的角度出发对 基于o p c 技术的远程监控系统的关键技术进行深入的研究。论文主要研究内容 如下: ( 1 1 深入研究o p c 技术,分析内部实现机制。深入研究o p c 技术的相关技 术,其中重点为o p c 技术的核4 :, - - c o m 技术,分析o p c 规范,o p c 技术的优 点以及应用领域。 ( 2 ) o p c 服务器的设计与实现。在给出o p c 服务器总体设计方案的基础上, 重点分析实现o p c 服务器两种具体实现方法,即利用o p c 服务器快速开发工具 开发o p c 服务器和根据o p c 基金会提供的规范应用c o m 技术直接开发o p c 服务器两种方法。 ( 3 ) o p c 客户程序的设计与实现。在分析o p c 自动化接口原理和数据访问机 制的基础上,深入研究两种o p c 客户程序的具体实现方法即使用v i s u a lb a s i c 语 言开发o p c 客户程序和基于w e b 技术的采用a s p 开发的o p c 客户程序。 ( 4 ) o p c 技术在汽车换档器远程测试系统中的应用。实现基于o p c 技术的远 程监控系统的应用实例一基于o p c 技术的汽车换档器远程监控系统。 9 海大学硕士学位论文基于o p c 技术的远程监控系统的研究 2 1 引言 第二章o p c 技术 o p c ( o l e f o rp r o c e s sc o n t r o l - - 用于过程控制的对象链接与嵌入) 是一个工业 标准,它是许多世界领先的自动化和软、硬件公司与微软公司合作的结晶。这个 标准定义了应用m i c r o s o f t 操作系统在基于p c 的客户机之间交换自动化实时数 据的方法。管理该标准的组织是o p c 基金会。该基金会的会员单位在世界范围 内超过2 2 0 个,包括了世界上几乎全部的控制系统、仪器仪表和过程控制系统的 主要供应商。o p c 基金会的先驱一由f i s h e r - r o s e m o u n t 、r o c k w e l l 软件公司、o p t o 2 2 、i n t e l l u t i o n 和i n t u i t i v et e c h n o l o g y 公司组成的“特别工作组”在经过一年时 间的工作后,开发出一个基本的、可运行的o p c 规范口】。 随着1 9 9 7 年2 月m i c r o s o f t 公司推出w i n d o w s 9 5 支持的d c o m 技术,1 9 9 7 年9 月新成立的o p cf o u n d a t i o n 对o p c 规范进行修改,增加了数据访问等一些 标准,o p c 规范得到了进一步的完善。o p c 是基于m i c r o s o f t 公司的d i s t r i b u t e d i n t e m e ta p p l i c a t i o n ( d i a ) 构架和c o m p o n e n to b j e c tm o d e l ( c o m ) 技术的,根据易 于扩展性而设计的。o p c 规范定义了一个工业标准接口,这个标准使得c o m 技 术适用于过程控制和制造自动化等应用领域。o p c 以o l e c o m 机制作为应用 程序的通讯标准,o l e c o m 是一种客户i l l 务器模式,具有语言无关性、代码重 用性、易于集成性等优点。o p c 规范了接口函数,不管现场设备以何种形式存 在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全 从低层的开发中脱离出来。 2 2o p c 技术背景 在传统系统中,s c a d a ( j 丞方监控系统) 、m m i ( 人机接口) 等应用程序是通过 驱动程序与现场设备通讯的,但是,这种方式下同一设备为适应不同应用程序可 能需要多种驱动程序,不同的驱动程序之间存在这不一致性,驱动程序对硬件存 在着极大的依赖性。 0 海大学硕 j 学位论文基于o p c 技术的远程监控系统的研究 当前d d e ( d y n a m i cd a t ae x c h a n g e ) 是应用程序之问交换数据的主要方式。驱 动程序一般都是d l l ( 动态链接库) ,可以实现驱动程序之间和s c a d a 间联系的 直接通讯。无论内部结构如何,软件销售商正花费大量的精力开发驱动程序。大 大提高了s c a d a 软件包的总成本,并且占用那些原来可以增强系统性能的资 源。而且,d l l 不允许多个应用程序同时对同一设备的访问。 另外,在现今的工业自动化中,我们需要一套整合的信息系统,由底层的设 备采集信息( f i e l dm a n a g e m e n t ) ,中层的控制系统进行程序的控制( p r o c e s s m a n a g e m e n t ) ,再由最上层的整合软件将这些信息整合起来以供企业决策,如图 2 1 所示【4 1 。o p c 不仅为工厂网络中的设备,而且也为控制室中的数据库之间大 量的数据源通讯提供了一种标准的通讯机制。 图2 1 过程信息控制结构图 o p c 为硬件制造商与软件开发商提供了一条桥梁,透过硬件厂商提供的 o p cs e r v e r 接口,软件开发者不必考虑不同硬件间的差异,便可自硬件端取得 所需的信息,所以软件开发者仅需专注于程序本身的控制流程的运作。此外,由 于c o m d c o m 隐藏了网络的细节透过o p c 可以很容易地达成远程控制的 。卜海大学硕士学位论文摹于o p c 技术的远程监控系统的研究 理想。为了有效的完成这些任务,企业需要访问工厂底层的数据,同时需要把这 些数据集成到自己的商业软件系统中。企业必须能够利用框架工具( s a c d a 、软 件包、数据库等1 集成一个系统以达到他们的要求,这种系统的关键是开放性和 数据访问的有效性,而与数据类型无关。o p c 正是在这种要求之下应运而生的。 2 3o p c 相关技术 2 3 1c o m 技术 c o m 技术是o p c 技术的核心技术6 1 。c o m 是m i c r o s o f t 提出的组件标准, 它不仅定义了组件程序之间进行交互的标准,并且也提供了组件程序运行的环 境。在c o m 标准中,一个组件程序也被称为一个模块,它可以是一个动态链接 库( 缩写为d l l ) ,被称为进程内组件( i n p r o c e s sc o m p o n e n t ) ;也可以是一个可执 行程序( 即e x e 程序) ,被称为进程外组件( o u t p r o c e s sc o m p o n e n t ) 。一个组件程序 可以包含一个或者多个组件对象,因为c o m 是以对象为基本单元的模型,所以 在程序与程序之间进行通讯时,通讯的双方应该是组件对象,也叫做c o m 对象, 而组件程序( 或者称为c o m 程序) 是提供c o m 对象的代码载体。 2 3 1 1c o m 特性 在c o m 构架下,可以开发出各种各样的功能专一的组件,然后将它们按照 需要组合起来,构成复杂的应用系统,c o m 技术的特性如下: ( 1 ) 面向对象 c o m 不仅仅提供了组件之间的标准接口,它还引入了面向对象的思想。在 c o m 标准中,对象是一个非常活跃的元素,通常称为c o m 对象。组件模块为 c o m 对象提供了活动的控件,c o m 对象以接口的方式提供服务,这种接口称之 为c o m 接口。图2 2 可说明c o m 组件、c o m 对象和c o m 接口的关系【6 】。在 w i n d o w s 平台上,一个c o m 组件或者是一个d l l 文件,或者是一个e x e 文件。 一个组件可包含多个c o m 对象,并且每个c o m 对象可以实现多个接口。 1 2 上海大学硕士学位论文 基于o p c 技术的远程髓控系统的研究 图2 2c o m 组件、c o m 对象和c o m 接口的关系 ( 2 ) 客户服务器模型 c o m 对象和客户之间的相互作用是建立在客户服务器模型基础之上的,客 户,服务器模型的一个最主要的特点是稳定性好,而稳定性正是c o m 模型的目 标,尤其是跨进程的程序通讯,稳定性更会带来性能上的可靠性。另外,c o m 不仅仅是一种简单的客户服务器模型,有时客户也可以反过来提供服务,或者 服务方本身也需要其他对象的一些功能,在这种情况下,一个对象可能既是服务 器也可能是客户。例如c o m 中的包容模型和聚合模型。 ( 3 ) 语言无关性 c o m 规范的定义不依赖于特定的语言,因此,编写组件对象所使用的语言 与编写程序所用的语言可以不同。c o m 标准与面向对象的编程语言不同,它所 采用的是一种二进制代码的标准,而不是源码级的标准。c o m 对象把对象封装 起来,并提供一致的接口,使得它可以被各种不同的语言所使用。虽然c o m 规 范的定义与语言无关,但与c o m 规范最贴近并且最能够反映c o m 特性的还是 c 或者c + + 语言。 ( 4 ) 接口不变性 接口是组件客户程序和组件对象之间的桥梁,接口如果经常发生变化,则客 户程序和组件程序也要跟着变化,这对应用系统的开发非常不利,也不符合组件 化程序设计的思想。因此,接口应该保持不变,只要客户程序和组件程序都按照 既定的接口设计进行开发,则可以保证在两者独立开发结束后,它们的协作运行 能力达到预期效果。当然,接口不变性就要求在定义组件对象的接口时,要充分 考虑组件对象所提供功能的一般性特征以使接口描述更为通用。 ( 5 ) 继承性( 扩展性) l 海大学硕l 学位论文基于o p c 技术的远程监控系统的研究 c o m 接口具有不变性,但不变性并不意味着接口不再发展,随着应用系统 和组件程序的发展,接口也需要发展。类似于c + + 中类的继承性,接口也可以继 承发展,但接口继承与类继承不同。首先,类继承不仅是说明继承,也是实现继 承,即派生类可以继承基类的函数实现,而接口继承只是说明继承,即派生的接 口只继承了基类接口的成员函数说明,而没有继承基类接口的实现,因为接口定 义不包括函数实现部分。其次,类继承允许多重继承,一个派生类可以有多个基 类,但接口继承只允许单继承,不允许多重继承。 根据c o m 规范,所有的接口都必须从1 u n k n o w n 接口派生,可以是直接派 生,也可以是间接派生。但事实上,大多数接口直接派生于i u n k n o w n 接口,而 并没有使用自定义接口之间的继承特性,c o m 并不提倡接口继承,除非在发展 接口时,无论从功能上还是从语义上都应该采用接口继承,才会使用接口的继承 特性。 ( 6 ) 进程透明性 c o m 提供的服务组件在实现时有两种模型:进程内对象和进程外对象。但 这种区别对于客户程序来说是透明的,因此客户程序在使用组件对象时可以不管 这种区别的存在,只要遵照c o m 规范即可。实现进程透明的关键在于c o m 库, c o m 库负责组件程序的定位,管理组件对象的创建和对象与客户之间的通讯。 ( 7 ) 可重用性 可重用性是任何对象模型实现的目标,尤其对于大型的软件系统,可重用性 非常重要。对于c o m 对象的客户程序来说,它只是通过接口使用对象提供的服 务,它并不知道对象的内部实现过程,因此,组件对象的重用性可建立在组件对 象的行为方式上,而不是具体的实现上,这是建立重用的关键。c o m 用两种机 制实现对象的重用:包容与聚合【6 】。当客户调用由对象2 提供的服务时,包容模 型中,如图2 3 所示,由对象l 调用对象2 的服务,再把结果转给客户,所以客 户间接地调用对象2 的服务;在聚合模型中,如图2 4 所示,虽然客户并不知道 对象2 的存在,但它调用对象2 的服务是直接进行的。 4 e 海大学硕士学位论文基于o p c 技术的远程监挎系统的研究 c o m 对象1 悃 + c o m 对象1 咽 图2 3c o m 包容模型图2 4c o m 聚合模型 ( 8 1 多态性一运行过程中的多态性 多态性是面向对象系统的重要特性,c o m 对象也具有多态性,其多态性通 过c o m 接口体现。多态性使得客户程序可以用统一的方法处理不同的对象,甚 至是不同类型的对象,只要它们实现了同样的接口。如果几个不同的c o m 对象 实现了同一个接口,则客户程序可以用同样的代码调用这些c o m 对象。 c o m 规范允许一个对象实现多个接口,因此,c o m 对象的多态性可以在每 个接口上得到体现。正是由于c o m 的多态性我们才可以用c o m 规范建立插件 系统,应用程序可以用统一的方法处理每一个插件。 2 3 1 2c o m 对象与接口 一、c o m 对象 c o m 是面向对象的软件模型,对象是它的基本要素之一,在c o m 模型中, 对象本身对客户来说是不可见的,客户请求服务是通过接口来进行的。c o m 对 象也包括属性和方法,c o m 对象提供的方法就是对象提供给外界的接口,客户 必须通过接口才能获得服务,对于c o m 对象来说,接口是它与外界进行交互的 唯一途径。 c o m 对象与c + + 对象的比较: 封装特性 两者都有封装特性,但其形式不同。c o m 对象的数据成员被封装在组件模 块中,外界不能访问:而c + + 对象的封装只是语义上的封装,对于对象用户来说 是可见的。 可重用性 可重用性是面向对象系统的重要特性,因此也是c o m 对象和c + 十对象共有 卜海大学硕士学位论文基于o p c 技术的远程监控系统的研究 特性,只是两者的表现形式不同。c o m 对象的可重用性表现在c o m 对象的包 容和聚合,一个对象可以完全使用另一个对象的所有功能;而c + + 对象的可重用 性表现在c + + 的继承性,派生类完全可以集成父类的属性和方法。 多态性 多态性也是c + + 对象的重要特性,正是c + + 的多态性,才体现了c + + 语言 描述事物的高度抽象的特性。c + + 对象的多态性通过其虚函数得以实现:c o m 对象也具有多态性,但这种多态性通过c o m 接口实现。c o m 规范允许一个对 象实现多个接口,因此,c o m 对象的多态性可以在每个接口上得以实现。 二、c o m 接口 接口是包含了一组函数的数据结构,通过这组数据结构,客户代码可以调用 组件对象的功能。接口定义了一组成员函数,这组成员函数是组件对象暴露出来 的所有信息,客户程序利用这些函数获得组件对象的服务。这些函数规定实现接 口的对象和用户使用这些对象所遵从的协议,包括:接口名、函数名、参数名及 其类型。在这样的协议下,对象完全可以实现为接口所定义的全部函数。 c o m 本身预定义了一套通用接口,用来建立基于客户服务器结构的c o m 应用。在这些接口中,最基本的是i u n k n o w n 和i c l a s s f a c t o r y 。1 u n k n o w n 接口是 所有c o m 对象都必需的,其中的q u e r y i n t e r f a c e 方法使客户能够访问对象的标 识符,并且能够区分不同的接口。类厂组件的唯一的功能是创建其它组件,更精 确地讲,某个特定的类厂将创建给定某个特定的c l s i d 相应的组件,一个类厂 对象实现了i c l a s s f a e t o r y 接口。对象客户使用指针来引用接口实例时,不论对象 是被实例化还是要查询这个对象,都可以获取它们。接口指针指向函数指针的数 组,也即虚函数表( v t a b l e ) 。被v t a b l e 的成员所指向的函数称为接口方法或接口成 员函数【”。 图2 5 是一个接口结构的表示。一个组件对象的客户实际得到的是组件对象 的某一接口指针,该指针为指向对象p v t a b l e 的指针,p v t a b l e 为指向虚函数表 ( v t a b l e ) ,而v t a b l e 指针又指向v t a b l e 的实例, v t a b l e 中的每个函数指针均指向可 执行的函数。 t 海大学硕l 学位论文基于o p c 技术的远程监控系统的研究 p v t a b l e v t a b l e i 接口指针r _ 1 指针r _ + 指针函数1 指针函数2 对象实现 指针函数3 图2 5 接口结构 对象通过一种称为接口协议的机制来使用接口。每个接口均有一个全局的、 唯一的接口标识( l i d ) ,通过i i d 能在运行时识别接口。i i d 允许潜在客户通过调 用i u n k n o w n :q u e r y i n t e r f a e e 来动态查询对象的功能。 2 3 1 3c o m 库 c o m 本身除了定义了组件程序和客户程序交互的规范之外,也提供了c o m 的实现的部分即c o m 库。c o m 库充当了组件程序和客户程序之间的桥梁,尤 其是在组件对象的创建过程中,以及在对象管理、内存管理和一些标准化操作等 方面起着重要的作用。c o m 库包括以下内容【6 】: ( 1 ) 提供了少量的a p i 函数实现客户和服务器端c o m 应用的创建过程。在 客户端,主要是一些创建函数;在服务器端,提供一些对象的访问支持。 ( 2 ) c o m 通过注册表查找本地服务器即e x e 程序,记忆程序名和c l s i d 的 转换等。 ( 3 ) 提供了一种标准的内存控制方法,控制进程中内存的分配。 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论