




已阅读5页,还剩62页未读, 继续免费阅读
(机械电子工程专业论文)opc服务器的开发及其在修磨机监控软件中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 当前自动化工业的不断发展,要求监控软件必须具有良好的开放性,能够灵 活地集成不同厂家生产的遵循不同通信协议的现场设备。采用o p c ( o l ef o r p r o c e s sc o n t r 0 1 ) 标准设计监控软件,以标准规定的统一接口通过服务器存取现场 数据,这样,当现场设备发生变化或系统中加入新设备时,由于服务器所提供的 接口的一致性,监控软件不作更改( 或仅需要重新组态) 即可继续使用,大大减 小了软件维护的工作量:另一方面,监控软件的升级不依赖于服务器可独立进行。 本文深入研究了当今工业控制领域的新技术o p c ,根据o p c 数据存取规范 a t aa c e s s ) ,应用组件软件的思想以及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 d c o m p o n e n t o b j e c t m o d e l ,分布式组件对象模型) 技术, 采用客户服务器的结构模式,开发完成了o p c j l r 务器程序,并将其应用于基于p l c 的修磨机监控软件中,有效得提高了监控系统的互操作性和开放性。本文采用v c + + n e t 作为开发工具,利用m f c ( m i c r o s o f tf o u n d a t i o n c l a s s e s ,微软基础类库) 工 具进行c o m 组件的设计。本文完成了o p c 服务器和客户程序的设计,运用面向对 象的设计模式对整个o p c 服务器程序进行了开发,详细介绍7 0 p c j j 务器设计的整 体结构和具体的开发过程和关键步骤,包括o p cs e r v e r 、o p cg r o u p 对象各标 准接口的开发实现及o p c 数据项的封装等,同时结合修磨机工作需要以d l l 形式将 底层设备三菱f x 2 n 系y o p l c 的通讯口驱动程序做了封装,使之成为适合三菱f x 2 n 系y l j p l c 应用的o p c 服务器。本文还介绍了修磨机监控软件的设计。 本文用几种类型的o p c 客户端程序,包括自己开发的o p c 客户端程序,对所设 计开发的o p c j 匣务器程序的功能进行了各个方面的测试,测试表明o p c j i 务器的数 据访问具有通用性,同时也表明使用o p c 技术方案的可行性。最后结合实际应用, 将o p c 技术应用于修磨机的监控软件当中,实现t p c 与三菱f x 2 n 系y l j p l c 间的通 信。修磨机监控软件的设计,将会大大提高生产效率,同时也将在一定程度上改 善工人的工作环境。 关键词: o p cc o m ( 组件对象模型)监控软件修磨机 第 1 页 a b s t r a c t w i t ht h ed e v e l o p m e n to fa u t o m a t i o ni n d u s t r y ,t h em o n i t o r i n gs o f t w a r em u s tb e o p e na n d a b l et oi n t e g r a t et h ef i e l dd e v i c e sf l e x i b l y ,w h i c hp r o d u c e db yd i f f e r e n tf a c t o r y a n dw i t hd i f f e r e n tc o m m u n i c a t i o np r o t o c o l s b e c a u s eo ft h ec o i n c i d e n ti n t e r f a c e s s u p p l i e db yt h eo p cs e r v e r ,t h em o n i t o r i n gs o f t w a r ed e s i g n e db yt h eo p c ( o l ef o r p r o c e s sc o n t r 0 1 ) t e c h n i c a l s p e c i f i c a t i o n n e e dn o te x c h a n g eo ro n l yn e e dl i t t l e c o n f i g u r a t e dw h e ns o m ec h a n g eh a p p e n si nt h ef i e l dd e v i c e so rs o m en e wd e v i c e sa r e a d d e dt ot h es y s t e m t h ew o r k l o a dt ov i n d i c a t et h em o n i t o r i n gs o f t w a r ei sr e d u c e d g r e a t l y ,a n dt h es o f t w a r ec a nb eu p g r a d e ds e p a r a t e l yi n d e p e n d e n to ft h eo p cs e r v e ro n t h eo t h e rh a n d t h i sa r t i c l eg i v e sad e e ps t u d ya b o u tt h en e wt e c h n o l o g y 一- o p ci nt h ei n d u s t y c o n t r o lf i e l dn o w d a y s b a s e do nt h eo p cd a t aa c c e s ss t a n d a r d ,t h ei d e ao fc o m p o n e n t , t h ec 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 ) t e c h n i q u ea n dt h ec l i e n t s e r v e ra r c h i t e c t u r eh a v eb e e nu s e dt od e v e l o pt h eo p cs e r v e r p r o g r a mu s e di nam o n i t o r i n gs o f t w a r ef o rg r i n d i n gm a c h i n eb a s e do np l c ,s ot h e c o n t r o ls y s t e m s a b i l i t yo fc o m m u t a t i v eo p e r a t i o na n do p e nh a sb e e ni m p r o v e d e f f e c t i v e l y i nt h i sp a p e r ,t h ev c + + n e th a sb e e nu s e da st h et o o lo fd e v e l o p m e n t c o mc o m p o n e n ti sd e s i g n e db ym f c ( m i c r o s o f ff o u n d a t i o nc l a s s e s ) ,t h eo b j e c t o r i e n t e dd e s i g np a t t e m sh a v eb e e nu s e dt ob u i l dt h ep r o g r a m eo fo p cs e r v e ra n dc l i e n t t h i sa r t i c l eg i v e sad e t a i l e di n t r o d u c t i o na b o u tt h eo p cs e r v e r sw h o l ef r a m e w o r ka n d t h ed e v e l o p m e n tp r o c e s s ,i n c l u d i n gt h es t a n d a r di n t e r f a c e s sr e a l i z a t i o ni nt h eo p c l o g i co b j e c t ,e n c a p s u l a t i o no ft h eo p ci t e m s a tt h es a m et i m e ,c o m b i n ew i t ht h en e e d o ft h eg r i n d i n gm a c h i n e ,t h ep l c sd r i v ep r o g r a m eh a sb e e ne n c a p s u l a t db yt h ef o r m a t o fd l lt om a k et h es e r v e rb e c o m ef x 2 n 一4 8 m p l c so p cs e r v e r t h i sp a p e ra l s o i n t r o d u c e st h ed e s i g no f m o n i t o r i n gs o f t w a r ef o rg r i n d i n gm a c h i n e w i t hm a n yo p cc l i n e tp r o g r a m e si n c l u d i n gt h eo n ed e s i g n e db yt h ea u t h o r ,l o t so f t e s t sh a v eb e e nm a d et ot e s t i n gt h ef u n c t i o n so ft h eo p c s e r v e r t h e s et e s t ss h o wt h e g e n e r a l i t yo f t h ed a t aa c c e s sf r o mt h eo p c s e r v e r ,a n ds h o wt h ef e a s i b i l i t yo f t h es c h e m e 第1 i 页 山东大学硕士学位论文 u s i n go p ct e c h n i c a ls p e c i f i c a t i o n a tl a s t ,f o rt h es a k eo ft h ea p p l i c a t i o ni nr e a l i t y ,t h e c o m m u n i c a t i o nb e t w e e np ca n dp l cs u c c e e d sw i t ht h eo p ct e c h n o l o g y ,a n dh a sb e e n u s e di nt h em o n i t o r i n gs o f t w a r ef o rg r i n d i n gm a c h i n e t h ed e s i g no fm o n i t o r i n g s o f t w a r ef o rg r i n d i n gm a c h i n ew i l li m p r o v et h ep r o d u c t i o ne f f i c i e n c yg r e a t l ya n d m e l i o r a t ew o r k e r s w o r ke n v i r o n m e n ti nac e r t a i ne x t e n t k e yw o r d s :o p c ,c o m ,m o n i t o r i n gs o f t w a r e ,g r i n d i n gm a c h i n e 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任伺 其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:弹 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保 留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本 学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:师签名:啦日期: 坦笠竺2 9 山东大学硕士学位论文 第1 章绪论 伴随计算机技术与控制技术的不断发展,分布式控制系统( d i s t r i b u t e dc o n t r o l s y s t e m ) 正以其集中管理、分散控制等优点越来越多地被应用于过程控制工业领 域“1 。为了实现整个过程控制系统的正常运转,有许多问题需要解决,其中最重要 的就是通信兼容问题。而解决这一问题的关键在于能否在过程控制系统中提供一 个开放的有效的通信结构,而不仅仅是保证数据类型的一致。o p c ( o l ef o rp r o c e s s c o n t r 0 1 ) 是微软公司的对象连接和嵌入技术在过程控制方面的应用,为工业自动化 软件面向对象的开发提供了一项统一的标准。1 。 1 1 学术背景 随着个人计算机的普及和“开放式系统”概念的推广,基于p c 机的监控系统 进入市场,而作为监控系统重要部分的监控软件也得到了很快的发展。国内外很 多公司都投入到监控软件的开发中,其中美国的w o n d e r w a r e 公司就于8 0 年代末推 出了商品化的监控软件i n t o u c h ,此后监控软件得到了蓬勃的发展。现阶段,由于 硬件设备的成本降低,各种测控设备的种类得到了极大的丰富,这些都推动了监 控技术的发展,我们可以选用众多厂家的测控仪表来组建监控系统,然而这同时 也为监控软件的开发带来了新的问题,因为测控仪表的丰富使得监控软件需要管 理众多不同厂家的设备,而各种仪器、仪表、p l c 和单片机等都提供了与计算机通 讯的通信协议,但是在计算机控制系统的发展过程中,由于缺乏统一的工业标准, 在生产现场,大量控制器和现场数字设备来自不同的制造商,遵从不同的通讯标准 只能组成各自的控制系统,与特定的应用软件通讯。由于不同厂商提供的协议互不 相同,即使同一厂家的不同设备与计算机之间的通信协议也有可能不同。此外, 在计算机系统中,不同的编程语言对驱动程序的接口要求也不同。所以当多个应 用程序在从数据源( 数据库或现场设备) 读取数据的时候,由于软件和硬件的不 一致性,对不同的硬件设备都要有不同的驱动程序,如图卜1 中a 图所示。这样就 产生了以下几个新的问题: 第1 页 山东大学硕士学位论文 应用程序开发商和计算机硬件厂家需要为不同的设备编写大量的i o 驱动程序,同样的设备需要针对不同的应用软件分别编写驱动程序才能 被各个应用软件使用。这样导致软件可复用程度低,重复开发严重。 不同厂商以及不同的设备的驱动程序的接口不一致,应用程序需要为不 同的设备驱动程序开发相应的接口,这样导致了应用程序随新设备类型 的加入而结构急剧复杂化,不便于软件功能的扩展和程序的维护。 不同硬件设备有着各不相同的驱动程序,有多少硬件设备就要有多少对 应的驱动程序,从而使得整个系统中包含着数量众多的通信模块。 由于不同的应用程序一般都有自己独立的驱动程序,因此,在过去的控 制系统中,不同的应用程序不能同时访问同一硬件设备,使得用户对现 场设备的选择上受到了很大的制约,同时也给现场管理层的实现带来了 许多困难。 a ) 传统的数据访问方式 b ) 0 p c 标准下的数据访问方式 图卜1 两种数据访问方式的对比( 每条线代表1 个驱动程序) 为突破这一控制系统软件开发中的瓶颈问题,需要一项为业界所公认的数据 交换标准来规范驱动程序的开发。在这样的背景下,就产生t o p c 。o p c ( o l ef o r p r o c e s sc o n t r 0 1 ) 是微软公司的对象连接和嵌入技术在过程控制方面的应用,它是由 全世界范围内自动化领域中处于领导地位的硬件和软件开发商,在m i c r o s o f t 的合 作下协作制定的,并且已经得到了越来越多客户和硬、软件制造商的认可。今天, o p c 已经成为工业控制和生产自动化领域中使用的硬件和软件的接口标准它为 工业自动化软件面向对象的开发提供了一项统一的标准。 o p c 是一项建立在c o m 。“”技术基础上的公开的技术规范,其作为这方面的 标准已迈出了坚实的一步。采用这项标准后,针对硬件的驱动程序不再由软件开 发商开发,而是由硬件开发商根据硬件的特征提供统一的o p c 接口程序,从而能 够最大限度地挖掘硬件的潜力,提高驱动程序的性能,避免了开发重复性,使开 第2 页 ) ) ) ) 1 2 3 4 n 心 山东大学硕士学位论文 发费用大大降低。o p c 将代表今后一段时间内过程控制系统通信标准的发展方向。 因为o p c 的软件体系结构为客户n 务器型,所以任何带有o p c 接口的客户应用程 序都可以与个或多个硬件供应商的o p c 服务器相连接。如图卜l 中b 图所示。 从图卜1 中可以看到:在o p c 诞生之前要实现对设备的监控,软件开发商需要 编写大量的驱动程序来连接这些设备。硬件开发商对硬件的细微改动都会导致驱 动程序以及接口的变更,从而导致应用程序的重写。不同设备或者同样设备的不 同模块的驱动程序接口各异,软件开发商不能采用统一的方式对各种设备进行访 问以优化操作。o p c 通过c o m 接口的方式,为解决上述问题提供了一种有效的方 法。o p c 将硬件供应商与软件开发商之间的关系确定为o p c j 眼务器程序与o p c 客户 程序之间的关系。硬件供应商与软件开发商之间的责任与关系就以o p c 接口的形 式标准化了。只要遵守o p c 接口的约束,双方的数据交换就是透明的,硬件供应 商无需考虑应用程序的多种要求和协议,软件开发商也无需了解硬件的底层信息。 因为o p c 规范以o l e c o m 技术为基础,所以使用o p c 技术规范来设计监控软 件,极大地促进了监控软件的开放性,具有如下突出优势”1 : ( 1 ) 采用这项标准后,针对硬件的驱动程序不再由软件开发商开发,而是由 硬件开发商根据硬件的特征提供统一的o p c 接口程序。由于硬件开发商 对自己的硬件特征了如指掌,从而能够最大限度地挖掘硬件的潜力,提 高驱动程序的性能。硬件厂商只需要为硬件编写一套驱动程序就可以满 足不同用户的需求。从而避免了重复开发,有利于软件复用以及系统集 成。 ( 2 ) 软件开发商仅仅需要编写一种接口就可以访问不同厂商的设备。软件开 发商不需要为不同的设备开发大量的驱动程序。由于接口单一,因而应 用程序的结构更加简洁,便于扩展和维护。 ( 3 ) 采用o p c 规范设计监控系统,便于系统的组态亿,将系统复杂性大大简 化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于 系统的升级与维护。 ( 4 ) o p c 按照面向对象的原则,将一个应用程序( o p c n 务器) 作为一个对 象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个 方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱 离出来。 第3 页 山东大学硕士学位论文 ( 5 ) o p c 实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便 于系统硬件配置以及使得系统的应用范围更广。 ( 6 ) o p c 规范了接口函数,不管现场设备以何种形式存在,客户都以统一的 方式去访问,从而真正实现系统的开放性。 ( 7 ) o p c 扩展了设备的概念。只要符合o p c 接口的约束,o p c 客户程序都可 以与服务器程序之间进行数据交换。现场硬件设备、数据库或者其他远 程的o p c 服务器都可以认为是o p c 概念下的设备,都可以在o p c 接口的 约束下与客户程序协调地工作。 1 2 国内外发展概况 o p c 是o p c 基金会组织倡导和制定的一个非赢利性的技术规范。o p c 基金会 ( o p c f o u n d a t i o n ) 成立于1 9 9 6 年8 月,它是由一些世界上占领先地位的自动化系 统、硬件和软件公司( 包括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 e t e c h n o l o g y 等) 与微软( m i c r o s o f t ) 紧密合作而建立的。其目标是制定一套针对控 制对象和设备的公共接口标准,它可以响应o p c 客户机请求并传输o p c 服务器的数 据。通过这种方式,繁杂的驱动程序可以消除,同时也加速了数据的传输。这个 标准定义了应用m i c r o s o f t 操作系统在基于p c 的客户机之间交换自动化实时数据的 方法。管理这个标准的国际组织是o p c 基金会。 今天o p c 基金会会员已近3 0 0 家,遍布全球。包括世界上所有主要的自动化控 制系统、仪器仪表及过程控制系统的公司。o p c 基金会在全球设有三个分支机构, b p o p c ( 欧洲) 基金会、o p c ( 中国) 基金会、o p c ( 日本) 基金会。o p c ( 中国) 基金会目 i o p c 基金会北京办事处,成立于2 0 0 0 年1 2 月,是o p c 国际基金会的第三个 海外组织。目前促进会1 由s i m c n s 、n i 、f i s h e r r o s e m o t m t 及i n t e l l u t i o n l 四家公司的负 责人组成。目前,o p c 基金会已经发布了几个规范:数据存取( d a t a a c e s s ) 规范、 报警与事件( a l a r m sa n de v e n t s ) 规范、历史数据存取( h i s t o r i c a la c e s s ) 规范、o p c 安全( s e c u r i t y ) 规范、o p c 批处理( b a t c h ) 规范、o p c - x m l 规范和o p c 数据交换规范 f d a t ae x c h a n g e ) 等“1 。每一种标准规范都包括两套接口:定制接口和自动化接口, o p c 客户机上的应用程序通过这些接口与o p c 服务器通信。 目前国内外有很多公司都在从事基于o p c 技术的监控软件开发工作,比如 第4 页 山东犬学硕士学位论文 i n t e l l u t i o n 、威达、研华等。o p c 技术国外研究得较多,主要集中在美国、欧洲, 其中一些产品已经应用于电力、交通、楼宇等行业。相对来说,国内o p c 方面的 研究比较少,在国内的发展总体来说还处于起步阶段,而且应用于实际工程中的 更少。尤其o p c 服务器的程序开发是一大难点,但经过近几年o p c 技术的发展和 推广,国内也开始重视o p c 技术的研发和应用。目前,国内o p c 技术研究开发比 较好的有沈阳自动化研究所的s m a r t o p c 软件开发包,拓林o p c 等等。利用他们 开发的o p c 软件包,可以直接调用d l l 封装的接口函数,从而达到快速开发o p c 服务器的目的。他们为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 产品也将越来越受到广泛重视。1 。 1 3 课题来源 本课题来源于生产的实际需要,国内许多钢铁企业,所生产的钢铁产品,例 如圆钢棒料等,表面很容易被氧化,形成一层氧化膜,即俗称的铁锈,不仅不美 观,在一定程度上也降低了产品的质量和与国外产品的竞争能力,同时,还很容易 掩盖产品的质量缺陷,如断纹、裂缝等,给产品质量检测造成了困难。为解决上 述困扰。设计开发了一套钢厂适用的修磨机,能完成对圆钢棒料的自动打磨,去 除棒料表面的氧化膜。修磨机的结构示意图如图卜2 所示。 图1 - 2 修磨机机械部分的结构示意图 在自动修磨机的设计开发过程中,作者完成了电气控制部分的设计、安装和 第5 页 山东大学硕士学位论文 调试,其中监控软件部分采用了当今的新技术0 p c ,来完成p c 和三菱f x 2 n 系 列p l c 之间的通讯。通过修磨机监控软件,工作人员可以向现场的测控设备下达控 制命令,从而实现通过上位机对修磨机的运转进行有效控制。此外,工作人员还 可以通过监控软件对现场设备进行参数调节( 包括棒料传送速度,砂轮进刀切削 速度等) 。监控软件的设计大大改善了工作环境,一定程度上提高了生产效率, 同时又为整个系统及工作人员的安全提供了有力保障,避免了经济损失和人员伤 亡。本课题的重点在于应用o p c 数据存取规范,设计开发针对三菱f x 2 n 系y u p l c 的o p c n 务器程序,使锝当底层设备发生变化时,监控软件无须更改,便可以完成 监控功能,顺利实现和底层设备的及时通讯,进一步提高监控软件的开放性。 1 4 本文作者的主要研究内容 本课题的主要任务就是应用o p c 数据存取规范,设计出针对三菱f x 2 n 系列 p l c 的o e c h 日务器程序,并在此基础上进行修磨机监控软件的设计与开发。由于设 计中需要用到c o m 、o p c 等比较先进的软件技术与思想,因此需要进行很多探索 性的工作。本文的主要工作有以下几点: ( 1 ) 分析与理解o p c 技术规范。包括o p c 的基本程序结构、o p c 的逻辑对象 模型、o p c 标准中的数据访问方式以及o p c 的各个标准接口。 ( 2 ) 设计o p c 服务器程序。具体包括o p cs e r v e r 、o p cg r o u p 对象备标 准接口的开发实现及o p c 数据项的封装,底层设备( 三菱f x 2 n 系列 p l c ) 驱动程序的开发。 ( 3 ) 用几种不同的客户端程序对o p c 服务器程序的功能进行测试,来验证所 开发的o p c n 务器程序的可用性。 ( 4 ) 设计和开发修磨机监控软件,应用o p c 技术实现p c 年n p l c 之间的通讯。 第6 页 山东大学硕士学位论文 第2 章o p c 简介 没有规矩,不成方圆。事物之间必须有一个标准,才能相互交流。o p c 标准的 制定为工控领域带来了变革。刁i 仅是用户,连同硬件制造商和软件开发商都可从中 得到巨大的利益,更是促进了监控软件的开放性。 2 1o p c 的软件结构 o p c 是以微软的o l e c o m 机制作为应用程序的通讯标准,而o l e c o m 是一 种客户服务器结构模式,具有语言无关系、代码重用性、易于集成等优点,所以 o p c 同样采用的是客户服务器结构,如图2 一i 所示。应用程序为客户端 ( o p c c l i e n t ) ,驱动程序部分为服务器端( o p c g e e r ) 。o p c 规范了接口函数, 不管现场设各以何种形式存在,客户程序都以统一的o p c 标准接口对服务器上的 数据进行访问与控制。每个o p c c l i e n t 应用程序都可以连接若干个o p c s e r v e r ,每 一个o p c s e r v e r 也可以为若干个客户程序提供数据。不同的客户程序以及不同的服 务器程序只要合乎o p c 标准,都可挂接在一起协同工作,从而形成一种软件总线 结构。同时,也保证了软件对客户的透明性,使得用户完全从底层的开发中脱离 结构。同时,也保证了软件对客户的透明性,使得用户完全从底层的开发中脱离 出来。 图2 io p c 客户服务器结构 第7 页 山东大学硕士学位论文 2 2o p c 的逻辑对象模型 o p c 的逻辑对象模型大体上分三个层次:o p cs e r v e r 对象( 即o p c 服务器对象) o p cg r o u p 对象( b p o p c 组对象) ,o p ci t e m ( 目 j o p c 数据项) ,它们依次呈包含 关系“”“1 ,具体表示如图2 2 所示。其q h o p cs e r v e r n o p cg r o u p 是c o m 对象,它 们都提供了一组标准的c o m 接口,客户端通过这些接口可以跟服务器通信。 s e r v e r 服务器 g r o u p ( 组)g r o o p ( 组) i i t e m ( 项)i t e m ( 项) i t e m ( 项)i t e m ( 项) 图2 - - 2o p c 的逻辑对象模型 数据访问接口标准在最高层定义to p c h 务器对象( s e r v e ro b j e c t ) ,个服 务器对象提供了对一组数据源的访问或通讯。服务器对象提供接口使客户创建组 对象( g r o u po b j e c t ) 。0 p c 服务器对象必须有c l s i d ,c l s i d ( c l a s s i d e n t i f i e r ) 是对象的类标识符,它是用g u i d ( g l o b a l l yu n i q u ei d e n t i f i e r ) 表示的。客户通过 该c l s i d 包j 建o p cs e r v e r 对象,进而与服务器程序进行连接。o p cs e r v e r 对象包含 了服务器的基本信息,同时也是组对象( o p cg r o u p ) 的容器。 o p cg r o u p 对象用以管理项对象。o p c 组对象分为两类:私有对象和公共对象, 每个组对象都有一个属于自己的对象名,属于同一个客户的私有对象之间的名字 必须是唯一的,公共组对象之间的名字也必须是唯一的。客户可以改变一个私有 对象的名字,但是不能改变公共组对象的名字。组对象的名字区分大小写,只要 客户以不同的名字连接一个公共对象,则私有组对象可以与公共组对象有相同的 名字。组对象允许客户规定某些操作在数据缓冲区或现场设备上完成,但实际的 实现由各个服务器提供商决定,一般只是希望对数据缓冲区数据的操作是快速的, 而对现场设备数据的操作是可以较慢的,但要求更加准确。组对象和其管理的项 对象都有一个激活标志,组对象和项对象的激活标志的状态是相互独立的,组对 第8 页 山东大学硕士学位论文 象状态的改变并不影响项对象的状态。另外客户还要规定每一个组对象的数据刷 新速率。这个刷新速率决定了检测两个异常数据之间的时间,如果异常产生,就 刷新缓冲区,服务器应该尽量保持数据的刷新。而且,这个刷新速率也会影响通 报机制的最大速率。每一个组对象有一个客户端句柄,这个客户端句柄使客户可 以标识每个组对象拥有的数据包。o p cg r o u p 对象由0 p cs e r v e r 对象创建的,因而 不需要c l s i d 。 o p c 组提供了一种客户组织数据的方法。例如,组可能以一种特殊的操作员 显示或报告显示数据项,能够读写数据,基于连接的异常也能在客户和组内的数 据项之间创建,并且能够根据需要被激活或者不激活。组对象必须维护自己的结 构信息,同时负责管理项对象的创建和操作等,也提供了对聚合的支持。 o p cn e m 即0 p c 数据项,存储具体数据项的定义、数据值、状态值等信息o p c i t e m 并不是真正的物理数据源,它只代表和物理数据源的连接,可以简单地认为是 数据的地址。o p ci t e m 包含于o p cg m u p 中,是客户端对服务器进行数据读写的最 小单位。每个o p ci t e m 都有一个标识符,该标识符不是用于标识该o p ci t e m 自身 的,它表示该o p ci t e m 是对服务器地址空间中的地址为该标识符的项的映射。两 个不同的o p ci t e m 可以具有相同的标识符,表示它们映射了地址空间的同一个项。 服务器地址空间的项与这里所说的o p cg r o u p q b 的o p ci t e m 概念是不同的。服务器 地址空间中的项是由服务器配置与管理的,它表示了服务器中的资源,o p ci t e m 是由客户通过o p c 接口配置和管理的,o p ci t e m 是对服务器地址空间的项的映射。 客户无权操作服务器地址空间,但是它可以根据服务器的地址空间信息确定需要 访问那些项,然后在o p cc r o u p 通过o p ci t e m 建立对服务器地址空间中的项的映 射。 3o p c 访问实时数据的方式 o p ci t e m 用于表示客户想要访问的项,其本身不是服务器地址空间内的实时 数据,而仅仅是对实时数据的映射。o p c 的逻辑对象模型正是通过用o p ci t e m 对 实时数据项进行映射的方式来访问服务器地址空间中的项的“”,”1 。客户访问服务 器数据的基本过程可以分为以下几个步骤“,具体如图2 3 所示: ( 1 ) 首先通过o p c 的浏览接口对服务器地址空间进行浏览,确定需要访问的 第9 页 山东大学硕士学位论文 项。 向服务器请求并获取该项的有效标识符( f i d ) 。 客户端定义o p ci t e m 的类型,并且由服务器核对其类型的合法性。 服务器针对合法的o p ci t e m 类型,在相应的o p cg r o u p 中添j j n o p ci t e m 对象,该o p ci t e m 将通过f i d 与服务器地址空间的项建立映射关系。同 时服务器将为新添加的o p ci t e m 分配一个服务器旬柄返回给客户。该句 柄将作为服务器端鉴月s i j o p ci t e m 的合法标识。 客户通过o p ci t e m 读写接口,对相应句柄的o p ci t e m 进行读写操作,从 而间接地对服务器地址空间的实际项进行读写。 图2 3o p c 逻辑对象模型访问数据的流程 ) 佰 山东大学硕士学位论文 2 4o p c 的接口方式 接口,简单地说就是提供给客户应用程序的功能的使用方法。o p c 标准规范 通常包括两套接口方案,l i c u s t o m ( 定制) 接口平1 a u t o m a t i o n ( 自动化) 接口“。 规范详细说明了这些c o m 接口,但并没有提供接口的实现细节。两种接口的区别 有:c u s t o m 接口效率高,通过该接口,客户能够发挥o p c 报务器的最佳性能,采 用c + + 语言的客户一般采用c u s t o m 接口方案;自动化接口使得解释性的语言和宏 语言访问o p c , 眼务器成为可能,采用v b 等编程语言编写的客户程序般使用自动 化接口。自动化接口使得解释性语言和宏语言编写的客户应用程序变得简单,但 是自动化客户程序运行时需要进行类型检查,从而牺牲了程序的运行效率。c u s t o m 接口是o p c 客户必须实现的,而自动化接口是否实现则取决于o p c 服务器开发者的 意愿。 如果两种接口都要实现。无疑编程的工作量是巨大的,幸运的是o p c 基金会 对仅仅实现了c u s t o m 接口的o p c 服务器提供了一种称为包装( w r a p p e r ) 的技术, 使得仅支持a u t o m a t i o n 接口的客户程序( 例如v b 编写的客户程序) 可以通过包装 器对该仅支持c u s t o m 接口的服务器程序进行访问,访问方式如图2 4 所示。 l i 孙c + + 应i 1 倒 0 p c 服务器 ( 进程内, 匿 本地, 远程句柄) 图2 4o p c 的接口类型 第1 1 页 山东大学硕士学位论文 2 5 本章小结 本章主要介绍了o p c 的软件结构,即客户服务器结构;重点介绍了o p c 的客 户逻辑对象模型的结构组成以及它们之间的关系,详细说明了它们各自的具体功 能;介绍了o p c 技术访问实时数据的方式,即0 p c 的工作机理;最后介绍了0 p c 规范的两种接口,b 1 c u s t o m ( 定制) 接口和a u t o m a t i o n ( 自动化) 接口,阐述了两 种接口的特点与区别。 第1 2 页 山东大学硕士学位论文 第3 章设计基础 虽然o p c 规范提供了一个开放的标准,但是要开发一个o p c 服务器却并不是 一件容易的事情,它需要大量的预备知识做后盾。首先必须熬悉微软的o l e c o m 技术,其次还要了解过程控制的要求,处理好设计过程中的几个重要问题。 3 1 组件化程序设计的优势 随着计算机硬件和软件的发展,计算机应用的功能愈来愈强大,实现也愈来 愈灵活。然而人们在实现这些软件对也遇到了很多的问题:现代软件应用既大又 复杂,而且开发周期长,维护困难而且维护成本高,难以扩展其他功能;同时应 用是单一集成的。集成了很多功能,而大多数功能无法单独升级或替换。 面对这些问题,最好的方法就是按照组件化程序( c o m ) 设计思想,将单独 的、庞大而复杂的应用程序分成多个模块,但这里每一个模块不再是简单的代码 集,而是一个自给自足的组件,这些组件可以运行在同一台计算机上,也可以运 行在网络中。 c o m ( c o m p o n e n to b j e c tm o d e l ,组件对象模型) 是m i c r o s o f t 仓t 建的一种二进 制和网络标准,它允许任意两个组件之间相互通信,而不管它们是在什么计算机 上运行( 只要计算机是相连的) ,不管各计算机运行的是什么操作系统( 只要该 操作系统支持c o m ) ,也不管该组件是用什么语言编写的啪1 。 组件化程序设计的思想是将复杂的应用程序设计成一些小的、功能单一的组 件模块,组件之间可以跨进程、跨机器、跨语言甚至跨操作平台进行通信。要实 现这样的应用软件,组件程序之间必须要遵循严格的规范,软件系统才能正常运 行。c o m 正是微软提出的为解决组件之间进行通信的标准。 使用c o m 开发软件产品具有许多优点。”,下面列出了几个优点和竞争优势: ( 1 ) 组件易替换在庞大复杂的企业级应用程序中,如果使用组件技术将程 序分成一个个组件模块,在进行程序修改或版本升级时,就可以只修改 或替换相关的组件,而不影响其他众多的程序组件。 ( 2 ) 适应业务需求更改软件的业务需求通常像流水一样不确定,开发期间 第1 3 页 山东大学硕士学位论文 和软件配置以后,新的需求会不断涌现。在组件软件中,可以将业务规 则放在少数几个组件中。当业务规则发生改变时,只需修改组件或重建 并发布新组件即可。更新是局部的,程序中出错的机会也就限制在这个 局部,使得程序的调试和测试更为方便。 ( 3 ) 可实现二进制代码重用组件之间可以在二进制级别上进行集成和重 用,这样一来只需一次编写代码而多处应用。例如,可以建立个处理 所有字符串的组件,整个应用程序都可以使用这个字符串组件处理组 件。以后如果要对这个应用程序进行纠正和修改,也不必改变这个组件 程序,大大减少了软件开发的工作量。 ( 4 ) 有助于并行开发一个大应用系统由许多组件组成,这些组件的实现可 以并列进行。但是,将软件应用组件化并不是一件容易的事情,尤其对 于复杂的应用,要把应用分成一些独立的组件,而且这种切分还要尽可 能符合系统的应用逻辑和业务要求,这是一门新的组件化程序设计方 法,它不同于传统的结构化程序设计方法,也不同于面向对象程序设计 方法。可以说,组件化程序设计位于这二者之上,它更注重于应用系统 的全局,要求从应用系统全方位来进行考察;在具体到某个组件或模块 的设计时,仍然需要结构化程序设计和面向对象程序设计作为基础,当 然,后者会给组件软件带来更多的好处。 3 2c o m 特性 c o m 规范的定义是不依赖于任何特定的编程语言的,即语言无关系,所以只 要能够生成符合c o m 规范的可执行代码的编程语言都可以开发c o m 应用程序。 客户在使用c o m 对象时可以忽略c o m 组件的进程模型,而采用c o m 规范所定 义的标准使用统一的方式去使用c o m 对象提供的服务。 3 2 1c o m 对象和接口 在c o m 规范中,对象与接口是最核心的部分。c o m 对象是一个c o m 规范 中非常活跃的元素,c o m 对象被很好的封装起来,客户访问c o m 对象的唯一途 第1 4 页 山东大学硕士学位论文 径是通过c o m 接口,c o m 接口是c o m 规范中最关键的元素。c o m 有一个核心 接口:i u n k n o w n 接口,每个c o m 组件都必须实现这个接1 3 ,而且其他所有接口 都必须均从i u n k n o w n 接口派生。 c o m 是面向对象的软件模型,因而对象是它的基本要素之一。类似于c + + 概 念,对象是某个类的一个实例,而类则是一组相关的数据和功能组合在起的一 个定义。使用对象的应用( 或另一个对象) 为客户,有时也称为对象的用户。 在c o m 规范中,对象本身对于客户来说是不可见的,客户请求服务通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽中考考试题目及答案
- 糖皮质激素雾化吸入疗法在儿科应用考核试题及答案
- 露天矿山三级安全教育试题(附答案)
- 解析卷-在职硕士综合训练试题
- 2025年教育信息化基础设施建设与教育资源优化配置报告
- 押题宝典期货从业资格之《期货法律法规》考试题库含答案详解(综合题)
- 2025至2030年中国扫地机器人电商行业市场评估分析及投资发展盈利预测报告
- 2025至2030年中国金枪鱼行业市场运营现状及投资规划研究建议报告
- 股权转让合同示范
- 教育普及合作协议
- 无人机实训室建设方案
- TGSC 006-2024 二氧化碳陆地封存工程选址指南
- 销售目标达成计划
- 食材验收标准培训课件
- 畜禽养殖知识讲座
- 高速公路收费员培训课件
- 暴发性心肌炎的护理查房
- 大格子作文纸模板
- 房屋建筑构造课件(上)
- 团员组织关系转接介绍信(样表)
- 地质勘探安全系统规程(AQ2004-2005)
评论
0/150
提交评论