欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)OPC DA客户端的研究.doc

    • 资源ID:3976813       资源大小:2.40MB        全文页数:117页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)OPC DA客户端的研究.doc

    摘 要OPC全称是OLE for Process Control,即过程控制中的对象链接嵌入技术。OPC技术是基于Microsoft的COM/DCOM(组件对象模型/分布式组件对象模型)技术所要求的功能,制定的一个开放和互用式的工控行业的软件接口标准,在当今过程控制领域,是一种非常流行的数据交换技术,是实现控制系统现场设备级与过程管理级信息交互、实现控制系统开放性的中间件技术。OPC技术采用Client/Server模式,规定了OPC Client与OPC Server之间遵循标准的接口。OPC服务端一般由控制设备的生产厂商,将硬件设备驱动程序和通信程序封装成独立的OPC服务器,向OPC客户端实时地提供数据。OPC客户端由使用设备的客户自己开发,可以不包含任何通讯接口程序,不必关心底层的硬件设备特性,也不必考虑软硬件如何通讯,只要遵循OPC规范,就能够从OPC服务器中获取数据,从而实现数据的灵活配置和多种系统的真正集成。由于OPC服务端与客户端之间的接口是标准的,因此可以开发出通用的OPC客户端,使不同的应用访问同一台设备或使同一个应用访问不同的设备。论文首先介绍了OPC技术产生的背景,以及它的主要特点与发展状况,深入剖析了其核心COM/DCOM技术。然后重点分析了OPC数据访问规范及OPC客户端与服务器的通信机制,介绍了如何用VC+开发客户端程序。关键词:OPC;COM;客户端;数据访问规范Abstract OPC is the generic OLE for Process Control,literally translated as the Object Linking and Embedding technology in process control.OPC specification is an open and interoperable software interface standards in the field of process control,based on the functions required by Microsoft's COM(Component Object Model)and DCOM(Distributed Component Object Model)technology.Today,in the field of processcontrol,it is a very popular data exchange technology and the middleware technologythat realizes information exchange between open system field equipment in controlsystem and process management level,and lets the control system to be an open system.OPC specification uses Client/Server mode,and defines the standard interface between OPC Client between OPC Server.In the OPC Server end,the control equipment manufacturers package the hardware device drivers and the communication program to be an independent OPC server providing real-time data to OPC Client.The OPC Client developed by customers who use the equipment is able to obtain data from the OPC server as long as following the OPC data interface protocol,also it may include no communication interface program,does not have to care about the hardware characteristics of the bottom,has no need to consider how to communicate between hardware and software.Thus it realizes the integration of flexible configuration of a variety of data and multi-system.Because the OPC Server and Client interface is the standard,it can develop a universal OPC Client that different applications with a visit to the same equipment or applications with a visit to different devices.  First,the paper introduces the background of OPC technology as well as its main characteristics and development,analyzes its core technology of COM/DCOM.Then,the paper studies the OPC Data Access specification and the communication mechanism between OPC client and server,introduces how to develop client program using theVisual C+. Key Words:OPC;COM; Client;Data Accesss Pecification目 录摘要······································································IAbstract ·································································II1绪论·····································································11.1课题的背景及意义·······················································11.2 OPC技术的研究现状与应用领域···········································31.2.1 OPC技术的研究现状···················································31.2.2 OPC技术的应用领域···················································71.3本论文的主要工作·······················································82 OPC技术的基础COM················································92.1 COM概述······························································92.2 COM对象······························································92.3 COM接口·····························································102.3.1接口的定义和标识·····················································102.3.2接口描述语言IDL·····················································112.3.3 COM接口特性························································112.3.4 IUnknown接口·······················································122.4 COM结构·····························································122.4.1客户/服务器模型······················································132.4.2 COM库·····························································142.5 COM的实现···························································142.5.1进程内组件和进程外组件···············································142.5.2 COM对象的管理·····················································152.5.3类厂·································································162.6 COM扩展·····························································162.6.1可连接对象···························································162.6.2分布式COM(DCOM)··················································172.6.3自动化对象··························································182.7本章小结······························································193 OPC数据访问规范的研究·················································203.1 OPC规范简介··························································203.2 OPC数据访问规范简介··················································203.3 OPC数据访问对象与接口················································223.3.1 OPC服务器对象及其接口··············································233.3.2 OPC组对象及其接口··················································243.3.3 OPC客户端接口······················································283.4本章小结······························································284 OPC客户端测试工具MatrikonOPC模拟服务器·························294.1 OPC ToolBox简介·······················································294.2 MatrikonOPC模拟服务器简介·············································204.3建立OPC工具箱对象和OPC服务器之间的关联······························304.3.1 OPC工具箱对象和OPC服务器之间的关系································304.3.2配置DCOM··························································314.4获取实时数据··························································354.4.1启动OPC Tools························································354.4.2创建的步骤···························································354.4.3 趋势图的创建························································374.5本章小结······························································385 OPC客户端软件的开发···················································395.1客户端开发方法研究····················································395.2客户端开发的准备工作··················································405.3客户端程序实现························································415.3.1客户/服务器交互流程··················································415.3.2客户端的详细设计·····················································425.4客户端软件的测试······················································535.5本章小结······························································586结论与展望······························································606.1本论文所做的工作······················································606.2展望··································································60参考文献·································································61致谢·····································································62附录A:英文文献········································63附录B:中文翻译·······································70附录C:程序············································751绪论1.1课题的背景及意义随着计算机、微电子、通信和网络技术的发展,工业控制领域也发生着深刻的变化,新的过程控制信息体系逐步形成,由低层到上层依次为现场智能控制层,工业过程管理层和经营决策层。工业控制过程越来越复杂,同时信息全方位共享的需求愈加强烈。然而,工业界所广泛采用的传统的DCS(分散控制系统)、FCS(现场总线控制系统)等系统由于采用自定义的专用网络和协议,没有统一的接口标准,难以实现与上层应用软件的信息交互以及各厂家的系统或仪表间的直接互连、互操作,控制网络中形成了一些“信息孤岛”。传统的过程控制系统存在着两类数据交换问题:第一是计算机如何从现场设备采集数据;第二是其他应用程序如何与它们进行实时数据通讯。对于这两类问题一个广泛使用的解决方案就是分别为不同的数据源(包括现场设备及软件数据库)开发不同的驱动程序,然后,在各个应用程序中对不同的驱动程序分别开发不同的接口程序。由于设备多样性和驱动程序之间的不兼容性,这种解决方案有如下缺点:(1)对客户应用程序开发方而言,采用过多的接口不利于系统开发、维护和扩展,特别是当使用中硬件的升级、变更和增加可能引起驱动程序的变化时,就要更改大量与该硬件相关的接口程序,因此这类系统的可靠性、稳定性及扩展性较差。(2)对硬件开发商而言,由于每一个应用软件有各自的驱动程序,同样的硬件要为不同的客户应用程序开发不同的硬件驱动程序,当多个应用软件读取同一数据源,经常发生冲突;设备厂商虽然提供驱动程序,但往往与用户开发的应用软件协议不一致,这时应用程序开发者就必须花大量的精力重新开发各设备的驱动接口(硬件供货商不可能为所有的软件开发商提供驱动程序,因此这项工作有时主要只能由控制系统的软件开发商承担)。从而使开发时间和费用大大增加,限制了用户对软件和设备的自由选择。如何使软、硬件开发商专注于系统功能的开发,而不被复杂的数据接口问题所困扰是急待解决的问题。在这种背景下,OPC技术应运而生。OPC(OLE for Process Control),意为用于过程控制的对象链接嵌入(Object Linking and Embedding,OLE)技术。OPC技术是OPC基金会组织制定的工业控制软件互操作性规范,也是微软为了把WINDOWS应用于控制系统和许多世界领先的自动化软、硬件公司共同推出的一项技术。它以微软的COM/DCOM(组件模型和分布式组件模型)技术为基础,为工业控制软件定义了一套标准的对象、接口和属性,通过这些对象接口,应用软件之间能够无缝地集成在一起,实现了应用程序之间数据交换方式的标准化,极大地提高了自动化系统,现场设备系统,商业办公系统之间的互操作性。OPC接口既可以用于应用程序的最低级,即通过该接口将现场实时数据采集到DCS或SCADA中来;又可用于应用程序的中级环节,即通过该接口将数据从DCS或SCADA系统采集到上位机应用程序中来;还可将OPC应用于网络计算机来采集数据,设计一个OPC服务器,允许客户应用程序从该服务器或网上运行OPC服务器的其它节点计算机上采集数据。总之,OPC应用不局限于应用程序与现场设备的接口,应该认为它是一种Windows应用程序相互交换数据的通用规范。提出OPC技术最初是为了简化传统的I/O驱动开发方式。OPC规范采用客户/服务器(CLIENT/SERVER)模式,规定了OPC客户与OPC服务器之间遵循标准的接口。首先,将各个硬件设备驱动程序和通讯程序封装成独立的OPC数据服务器,可独立运行或嵌入式运行,这样,上层应用软件可以不关心硬件的性能特点;其次,由于硬件驱动和上层应用的相对独立,使硬件可在遵循OPC数据接口协议的基础上独立升级,软件开发者将不必因硬件的特性改变或增加而重写驱动程序。同时因为硬件驱动的OPC数据服务器建立在上位机中,所以上层应用与OPC服务器之间的数据交换是应用程序间交换数据的关系,上层应用不需要包含各自的设备驱动程序,这可以避免多个设备驱动程序同时存取可能引起的冲突。图1.1比较了采用OPC技术前后的数据访问方式,从中可以看到OPC技术的优势。在前一种情况下,对于一个X种应用程序,Y种设备的系统,总共需要开发X*Y个驱动程序,而采用了OPC技术以后,只需要开发X+Y个OPC接口即可。图1.1应用OPC技术前后比较现在OPC技术的发展已经超出了原来取代驱动程序开发的初衷,OPC能够直接连接现场的PLC、工业网络、数据采集和Windows CE等设备,通过快速有效的方式从现场获得实时数据。而按照OPC规范设计的各种监测、控制、管理等应用系统,既可以通过OPC获取现场的实时数据,也可以通过OPC彼此交换信息。因此OPC为企业内部的信息通信提供了一个开发平台,采用OPC规范设计企业控制系统具有如下优点:(1)OPC规范定义了一套标准的接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,任何应用只要能够支持OPC接口就可以即插即用。(2)OPC规范在硬件供应商和软件开发商之间建立一套完整的“规则”。只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商就无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的实质和操作过程,使不同生产商的客户/服务器之间达到无缝互操作,不再为接口之间的兼容性烦恼。(3)OPC比传统的数据传输方式效率要高很多。分别对基于本地的OPC应用程序和基于DCOM的分布式应用程序进行测试,结果表明,无论是在本地还是两台计算机之间,5000个过程变量的变化值,能在1秒内在OPC服务器和客户机之间传送。对于只有500个过程变量的情况,只需100毫秒时间。因而,OPC被认为非常适合于在很短的更新速率内采集大量的动态过程变量的应用场合。(4)OPC规范支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。(5)采用OPC规范,便于系统的组态化,将控制系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。(6)OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置以及使得系统的应用范围更广。1.2 OPC技术的研究现状与应用领域1.2.1 OPC技术的研究现状为了推广和发展OPC技术,1995年由五家国际上具有代表性的几个工业制造自动化软件领域的控制类公司Intellution,Fisher-Rosemount,Intuitive Technology,Opto22,Rockwell Software等及它们的技术顾问(微软)公司共同发起成立了OPC标准化组织OPC Task Force,并将其起草的有关OPC标准的几项规定发布到其Web站点上,向来自用户和制造商的260余个OPC评论单位征询意见,根据收集到的反馈意见,OPC Task Force对标准草案进行了修改,最后经微软公司的OLE专家进行认证,颁布了一个基本的OPC技术规范。1996年在芝加哥举行的ISA/96会议上成立了OPC基金会(OPC Foundation)接替OPC Task Force的工作,以吸收更多的会员单位参加,使其真正成为一项为各方所接受的、开放的标准。基金会是独立的、非营利性的国际组织,其宗旨是在向会员提供范围广泛、形式多样的利益的同时,宣传和推广OPC的技术规范,使用户了解其易于实现和开放的特点,及其便于灵活、高效、方便地获取数据的功能。目前,OPC基金会的会员单位在全世界范围内超过220个,包括了世界上几乎全部的控制系统、仪器仪表和过程控制系统的主要供应商。图1.2 OPC国际基金会在全球分支机构目前,几乎所有的国外知名品牌硬件均支持OPC的连接方式,出现了一大批OPC服务器和应用方案的提供者:(1)加拿大MatrikonOPC工控软件公司(2010年5月13日,被美国Honeywell公司收购)MatrikonOPC是世界上最大的OPC开发商和供应商,其产品涵盖了OPC服务器、客户端、应用程序和OPC工具等。它拥有500多种不同的OPC相关软件,为全世界范围内超过30000家客户提供产品和服务,包括10余万次现场安装和测试。此外,它还是OPC基金会的主要成员之一和全球范围内最大的OPC培训机构。MatrikonOPC拥有非常强大的OPC工具集合,用来测试、模拟、浏览和改变数据的OPC工具一应俱全: MatrikonOPC A&E Explorer、MatrikonOPC HDA Explorer、MatrikonOPC Explorer、MatrikonOPC Simulation Server、MatrikonOPC Analyzer、MatrikonOPC Sniffer和MatrikonOPC Trender。MatrikonOPC的OPC服务器按行业可分为:1)PLC类OPC服务器:MatrikonOPC Server for Siemens S7 PLCs、MatrikonOPC Server for Allen Bradley PLC和MatrikonOPC Server for OMRON等;2)楼宇自动化类服务器:MatrikonOPC Server for BACnet和MatrikonOPC Server for LonWorks等;3)远程SCADA类OPC服务器:MatrikonOPC Telemetry SCADA OPC Server Suite等;4)DCS类OPC服务器:MatrikonOPC Server for Foxboro、MatrikonOPC Server for ABB GCOM和MatrikonOPC Server for Honeywell TPS (TDC3000) 等;5)历史数据类OPC服务器:MatrikonOPC Server for Aspentech Sectim、MatrikonOPC Server for Oracle和MatrikonOPC Server for Microsoft Access等。(2)德国Siemens公司Siemens公司的SINMATIC NET开发系统就提供一套完整的OPC服务器,提供SINMATIC NET工业通讯网络的访问。(3)美国Wonderware公司DAServers是Wonderware公司构建在ArchestrA技术上的新一代的I/O Servers服务器,其设计目的是根据SuiteLink、DDE和OPC协议,在现场设备和客户应用程序间提供同时的连通性。DAS ToolKit是专用来开发各种类型DAServer的新一代开发工具包,功能非常强大。(4)美国WinTech公司WTOPCsvr.dll是由WinTech公司使用Visual C+6.0开发的OPC服务器开发工具,开发者只需调用开发工具中的API函数就可以方便的开发自己的OPC服务器,不需要开发者对COM有很深入的了解,提高OPC服务器开发效率。5)美国FactorySoft公司。FactorySoft OPC Server Toolkit是由FactorySoft公司制作的OPC服务器开发工具。开发工具极大的简化了OPC 服务器的开发过程,使得开发者不用去实现OPC规范的每个细节,而集中精力到数据的访问和提交上。2001年底,由五家中国公司发起成立了OPC中国基金会。OPC中国基金会的宗旨是在中国推广OPC,以消除中国与其它发达国家的信息差距。 目前,OPC中国基金会会员包括西门子(中国)有限公司、罗克韦尔自动化(中国)有限公司、施耐德电气集团、美国国家仪器(NI)有限公司、艾默生网络能源有限公司 、GE 智能平台、MatrikonOPC、浙江中控信息技术有限公司、北京亚控科技发展有限公司、北京华控技术有限责任公司、北京华富惠通技术有限公司、北京中瑞泰科技有限公司、广州中浩控制技术有限公司和中国工控网等。图1.3 OPC中国基金会的会员企业目前,国内已经开发出OPC服务器的研究机构有:(1)中国科学院沈阳自动化研究所它是目前国内唯一能够提供全部自主知识产权的OPC服务器/客户开发工具的厂商,所开发的FF H1 OPC服务器MicroCyber.FFServer.1符合OPC基金会制订的OPC DA 2.0规范标准,提供了访问现场数据的标准接口;所提供的SmartOPC开发工具能够高效快速的开发各种硬件产品的OPC服务器,并且已经广泛的应用到了各种工业控制行业中。 (2)北京亚控科技有限公司KingOPCServer是该公司推出的国内首屈一指的通用OPC服务器。它继承了亚控科技超过10年的驱动开发成果,实现了通讯和OPC技术的完美结合。(3)北京华富惠通技术有限公司在开发出对外部设备OPC数据访问服务器的基础上,推出了OPC数据访问服务器快速开发工具包Huafu OPC ToolKit。通过它用户可以以最快的速度开发出OPC数据访问服务器,并使之通过OPC网站提供的兼容性测试。(4)北京图灵开物技术有限公司在开发出对外部设备OPC数据访问服务器的基础上,推出了OPC数据访问服务器快速开发工具包TuringControl OPC Server ToolKit。在此基础上,推出了OPC客户端快速开发工具包TuringControl OPC Client ToolKit。对于开发人员说,使用此工具包,可以快速开发符合OPC规范的应用程序,该程序支持OPC客户端数据访问,可以访问其它OPC服务器并从之取得过程数据,而无须把注意力转移到OLE/COM等复杂的技术上面来。1.2.2 OPC技术的应用领域由于OPC技术的采用,使得可以以更简单的系统结构、更长的寿命、更低的价格解决工业控制成为可能。同时现场设备与系统的连接也更加简单、灵活、方便。因此OPC技术在我国的工业控制领域得到了广泛的应用:1.数据采集技术在数据采集软件中OPC技术得到了广泛应用。现在众多硬件厂商提供的产品均带有标准的OPC接口,OPC实现了应用程序和工业控制设备之间高效、灵活的数据读写,可以编制符合OPC标准的客户端应用软件完成数据的采集任务。2.历史数据访问OPC提供了读取存储在过程数据存档文件、数据库或远程终端设备中的历史数据以及对其操作、编辑的方法。3.报警和事件处理OPC提供了OPC服务器发生异常时,以及OPC服务器设定事件到来时向OPC客户发送通知的一种机制,通过使用OPC技术,能够更好的捕捉控制过程中的各种报警和事件并给予相应的处理。4.数据冗余技术工控软件开发中,冗余技术是一项最为重要的技术,它是系统长期稳定工作的保障。OPC技术的使用可以更加方便的实现软件冗余,而且具有较好的开放性和可互操作性。(5)远程数据访问。借助Microsoft的DCOM(分散式组件对象模型)技术,OPC实现了高性能的远程数据访问能力,从而使得工业控制软件之间的数据交换更加方便。OPC技术作为一门新技术正逐渐为各大厂商所青睐,同时这也促进了OPC技术的进一步完善。随着OPC技术的推广和应用,现场信息可以更方便地在各种计算机平台上被更多的应用程序所共享,必将极大地促进现场总线的发展以及企业现场控制层和生产过程管理层、经营决策层的集成。1.3 本论文的主要工作(1)介绍了基于OPC技术传输数据与传统方式的对比,分析了采用OPC技术的诸多优点及OPC技术在国内、外的研究现状和发展趋势。(2)系统全面地阐述了OPC技术的核心COM/DCOM技术。(3)剖析了OPC数据存取规范,详细介绍了OPC数据存取的技术特点,支持的对象与接口的功能等,并分析了规范对OPC应用程序的具体要求。(4)采用OPC 技术,开发了基于微软Visual C+的OPC客户端程序,以实现对OPC服务器的数据的读取。最后对客户端与MatrikonOPC模拟服务器(MatrikonOPC Simulation Server)进行通信测试,证明了此OPC 客户端满足设计要求。2 OPC技术的基础COMOPC技术是基于微软的COM/DCOM(组件对象模型/分布式组件对象模型)技术而建立起来的一项技术,首先需要对COM/DCOM技术有较深入的理解和认识,而DCOM是COM的扩展,因此只有熟练掌握了COM的基本概念和特性,才能开发出OPC客户端程序。2.1 COM概述COM(Component Object Model,组件对象模型)是由Microsoft提出的组件标准,是OLE、ActiveX、DCOM技术的基础,它主要是为了实现软件复用和互操作,并且为基于Windows的程序提供了统一的、可扩充的、面向对象的通讯协议。COM不仅定义了组件程序之间进行交互的标准,并且也提供了组件程序运行所需的环境。该模型的定义实现了语言无关、厂商无关、位置透明以及减少版本问题,从而使得来自不同厂商、不同语言编写和运行在不同平台上的COM对象能够彼此协调地运行,共同实现某一任务。在COM标准中,一个组件程序也被称为一个模块,它可以是一个动态链接库(DLL),被称为进程内组件(in-process component);也可以是一个可执行程序(EXE),被称作进程外组件(out-process component)。一个组件程序可以包含一个或多个组件对象,因为COM是以对象为基本单元的模型,所以在程序与程序之间进行通信时,通信的双方应该是组件对象(或COM对象),而组件程序(或COM程序)无论是DLL程序还是EXE程序都是提供COM对象的代码载体。2.2 COM对象COM提供的是面向对象的组件模型,COM组件提供给客户的是以对象形式封装起来的实体。客户程序与COM组件程序进行交互的实体是COM对象,它并不关心组件模块的名称和位置(位置透明性),但必须知道自己在与哪个COM对象交互。类似于C+语言中类(Class)的概念,COM对象也包含属性(也称状态)和方法(也称操作),对象的属性反映了对象的存在,也是区别于其它对象的要素;而对象所提供的方法就是对象提供给外界的接口,客户必须通过接口才能获得对象的服务。对于COM对象来说,接口是它与外界进行交互的唯一途径,因此,封装特性是COM对象的基本特征。COM对象不同于C+等面向对象语言中对象的概念,COM对象是建立在二进制可执行代码级的基础上,而C+等语言中的对象是建立在源代码级基础上的,因此COM对象是语言无关的,可以用不同的编程语言来开发组件对象。COM对象具

    注意事项

    本文(毕业设计(论文)OPC DA客户端的研究.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开