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

    冷轧清洗线控制系统设计——用C++和OPC设计二级控制系统.doc

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

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

    冷轧清洗线控制系统设计——用C++和OPC设计二级控制系统.doc

    冷轧清洗线控制系统设计 用C+和OPC设计二级控制系统摘 要传统工控系统的驱动和与其连接的应用程序之间的接口没有统一的标准,为了实现不同的硬件和软件所构成的计算机之间的数据交换和传输,必须开发各自的通讯程序。 这样一来, 导致了开发成本高、重复性劳动、驱动程序不一致和存在访问冲突等问题 , 很难适应当今工控系统的开放性要求。OPC(OLE for Process Control,用于过程控制的 OLE)技术的出现提供了解决方法。OPC使不同供应厂商的设备和应用程序之间可以相互间数据交换,把硬件供应商和软件开发商分离开来,在设备和数据库等数据源和客户之间架起一座桥梁。 OPC是过程控制工业中的新兴标准,基于Microsoft的COM/DCOM技术,它包括一整套用于过程控制自动化接口和方法的标准集。本文介绍了OPC技术产生的背景,以及它的主要特点与发展状况,并剖析了其核心COM/DCOM技术。然后重点介绍了 OPC数据访问规范及访问方法,OPC服务器对象和客户端对象接口及OPC客户端与服务器的通信。最后介绍OPC技术在冷轧清洗线中的应用,OPC服务器与现场设备和客户端的连接。关键词:OPC,组件对象模型,客户端Cold Rolling Cleaning Line Control System DesignDesign Second Level Control System with C+ and OPCAbstractThere is no universal standard between the driver of traditional industry control system and application program. In order to realize the data exchange and the transmission among the computers with different hardware and software, people must develop respective communication program. As the matter stands, there exist many problems including the high development cost, the duplicated work, inconsistent driver program and visit conflict and so on .It is very difficult to meet the open needs of current the industry control system. OPC (OLE for Process Control, used in process control OLE) techniques appearance provide the solution. OPC makes the different supply merchant of equipment and the application program exchange data mutually and separate the hardware supplier from the software developer, which puts up a bridge between customers and data resource such as equipment and database etc.OPC is an emerging standard in the process control industry, based on Microsoft COM and DCOM technology. It includes the whole standard collection with interface and method used in the process control automation. This paper introduces the background of OPC technology, as well as its main characteristic and the development condition, and analyzes its core COM and DCOM technology. Then it introduces the OPC data access standard and access method with emphasis, the interface and the communication between OPC server object and client object. In the end, it introduces the application of OPC technology in the cold rolling cleaning line,the connection in the cold rolling cleaning line between OPC server and the field device and that between OPC server and the client side.Keywords: OPC, COM, client side 目 录摘 要IAbstractII1 绪 论11.1 研究背景11.2 OPC的基础知识11.2.1 OPC产生的背景11.2.2 OPC的历史31.2.3 OPC的现状和发展42 OPC技术的基础COM技术62.1 COM技术简介62.1.1 COM概念62.1.2 COM对象62.2 COM接口IUnknown 接口62.3 COM扩展分布式 COM(DCOM)73 OPC技术介绍83.1基于COM技术的OPC83.2 OPC数据访问规范93.3 OPC 数据访问服务器的对象93.4 OPC数据访问方法113.5 OPC服务器对象及其组对象接口133.5.1 OPC服务器接口133.5.2 OPC组对象接口153.6 OPC客户端及其接口183.6.1 OPC 客户端概述183.6.2 OPC 客户端的数据来源183.6.3 OPC客户端接口184 OPC技术在冷轧清洗线中的应用204.1工程背景及工艺204.1.1 工程背景204.1.2 工程工艺204.2 OPC服务器与现场设备的连接214.3 OPC服务器与客户端的连接224.4 OPC服务器客户端程序的主线程26总 结28致 谢29参考文献30附 录A (OPCthe standard for real time communication)31附 录B (OPC实时通信标准)35附 录C38附 录D47附 录E55冷轧清洗线控制系统设计 用C+和OPC设计二级控制系统1 绪 论1.1 研究背景现在,工业自动化系统的应用已经非常普及,DCS(Distributed Control System,集散控制系统)得到了广泛应用,现场总线技术正在逐步完善、成熟起来。但是目前工业自动化系统绝大多数是封闭的系统,缺乏统一、标准的开放式接口。不同厂家的产品如果要集成在一起,必须为它们开发专用的接口。随着工业自动化系统功能要求越来越复杂,完全用一个厂家的产品来构成整个系统是很困难的。不同厂家的产品之间接口的复杂性限制了用户的选择,不能根据系统的要求选择最佳的系统集成方案。同时,软件在自动化领域内使用的重要性与日俱增。无论项目是否涉及到操作、可视化、数据存档或控制,向纯粹的、基于 PC的软件解决方案的发展趋势是不可阻挡的。这些软件解决方案不再是开发单个的模块,而是由专用的软件组件组成。采用可重复使用的软件组件以及利用这些软件组件所具有的柔性构成整个系统,成为发展的必然趋势,因而通信接口不兼容的问题急需解决。OPC(OLE for Process Control,用于过程控制的OLE)技术的出现提供了解决方法。当现场设备、应用软件都具备标准的OPC接口时,便可集成来自不同数据源的数据,使运行在不用平台上、用不同语言编写的各种应用软件顺利集成。1.2 OPC的基础知识1.2.1 OPC产生的背景传统的SCADA(监控与数据采集系统)开发中出现的一个主要问题是软件的重复开发,软件不能够重用,资源不能共享,造成大量人力与物力资源的浪费。随着计算机软件的发展,这种情况有所改观,高级语言中库函数的采用,实现了一定程度上资源的共享,尤其是面向对象的方法的应用,使得我们可以利用面向对象的继承等方法大量重用源代码。但这些重用只是对源代码级的重用而不是对可执行文件级的重用,对每一类库都要重新编译,所以并没有真正实现资源共享,并且对某个模块中某个类库的修改将“触一发而动全身”,引起所有引用该类库的模块的修改,因此非常难以实现某个模块的升级。同时,为一种语言开发的类库以及函数库都不能够为其他语言所用,也大大限制了软件的重用。一般实时监控系统为分布式的结构,实现了人机接口、通信、数据处理等功能在网络上的分布,同时将一个系统划分为各个子系统,降低了系统的复杂程度,改善了系统性能,便于整个系统的开发,减少了开发周期与维护费用。但由于系统各个计算机的通信协议依赖于某个厂家,没有形成统一的标准,不同厂家之间的软件与硬件的集成难于实现。因此也没有真正实现不同厂家的软件共享。从更广泛的意义上看,新的过程控制信息体系的各层都有着各自的要求,他们都要求信息的一致性。现场控制层:智能现场设备的出现,可以提供过去不能提供的大量丰富的有关此现场设备的信息。所有这些信息必须以一致的方式提供给客户应用程序。过程管理层:DCS(集散控制系统)和SCADA必须以统一的方式为操作员和工程师等决策者提供数据。经营决策层:对生产过程信息的综合,有助于企业最优生产,节省财政开支。而向客户应用程序以统一的方式提供信息,可最小化企业在信息综合上的精力。为了有效地完成信息集成,关键是制订一种集中于数据访问而不是数据类型的开放的、有效的通信标准。定义OPC的目的就是为应用程序访问工厂前台提供共同的方法,允许兼容的应用程序无缝的访问生产环境中的数据。在传统的控制系统中,智能设备之间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实现的。任何一种HMI(Human Machine Interface,人机接口)等上位监控软件或其它应用软件(如趋势图软件、数据报表与分析等)在使用某种硬件设备时都需要开发专用的驱动程序,如图1.1所示1。图1.1 传统控制系统结构为了解决上述问题,硬件制造商们一直试图开发出一种可以被任何客户使用的超级“I/O驱动”程序。但是由于客户协议的不一致,这项工作至今没有取得成功,OPC和现场总线标准的制定正好为上述问题的解决开辟了新的道路。采用OPC标准后,针对硬件的驱动程序不再由软件开发商开发,而是由硬件开发商根据硬件的特征提供统一的OPC接口程序。由于硬件开发商对自己的硬件特征了如指掌,从而能够最大限度地挖掘硬件的潜力,提高驱动程序的性能。基于OPC标准的数据访问方式如图1.2所示。采用OPC标准后,由硬件开发商提供统一的OPC接口程序,从而避免了开发重复性,使开发费用大大降低。OPC 规范采用客户/服务器模型,其实质是在硬件供应商和软件供应商之间建立一套“游戏规则”,只要遵循这套规则,数据交互对两者来说都是透明的。硬件供应商无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的实质和操作过程。这样可以灵活而有效地在应用和过程控制设备之间读写数据。 图1.2 采用OPC后控制系统结构1.2.2 OPC的历史OPC (OLE for Process Control用于过程控制的 OLE)是一个工业标准,它是许多世界领先的自动化和软、硬件公司与微软公司合作的结晶。这个标准定义了应用Microsoft操作系统在基于 PC 的客户机之间交换自动化实时数据的方法。管理该标准的组织是OPC基金会。该基金会的会员单位在世界范围内超过220个,包括了世界上几乎全部的控制系统、仪器仪表和过程控制系统的主要供应商。OPC基金会的先驱(由 Fisher-Rosemount、Rockwell 软件公司、Opto 22、Intellution和IntuitiveTechnology公司组成的“特别工作组”)在经过一年工作后,开发出一个基本的、可运行的OPC规范。随着1997年2月Microsoft公司推出Windows95支持的DCOM技术,1997年9月新成立的OPC Foundation对OPC规范进行修改,增加了数据访问等一些标准,OPC 规范得到了进一步的完善。OPC是基于Microsoft公司的DistributedinterNetApplication(DNA)构架和 Component Object Model(COM)技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从底层的开发中脱离出来2。OPC技术是OPC基金会组织制定的工业控制软件互操作性规范,也是微软为了把WINDOWS应用于控制系统和控制界共同推出的一项技术。它以微软的COM/DCOM(组件对象模型和分布式组件对象模型)技术为基础,为工业控制软件定义了一套标准的对象、接口和属性,通过这些对象接口,应用软件之间能够无缝地集成在一起,实现了应用程序之间数据交换方式的标准化,极大的提高了自动化系统,现场设备系统,商业办公系统之间的互操作性。OPC接口既可以用于应用程序的最低级,即通过该接口将现场实时数据采集到DCS或SCADA中来,又可用于应用程序的中级环节,即通过该接口将数据从DCS或SCADA系统采集到上位机应用程序中来,还可将OPC应用于网络计算机来采集数据,设计一个OPC服务器,允许客户应用程序从该服务器或网上运行OPC服务器的其它节点计算机上采集数据。总之,OPC应用不应该局限于应用程序与现场设备的接口,应该认为它是一种Windows应用程序相互交换数据的通用规范。1.2.3 OPC的现状和发展OPC技术的发展,源于OPC基金会及其300多家公司成员的共同努力。世界领先的工业自动化软硬件厂商,作为OPC基金会的成员,为OPC技术的发展做出着重要的贡献。目前现存的和正在开发的OPC标准如表1.1所示。表1.1 OPC标准标准最新版本内容OPC Data AccessOPC Alarms & Events3.001.10数据访问标准报警和事件标准OPC Batch2.00批处理标准OPC Data Exchange1.00服务器间数据交换标准OPC Historical Data Access1.20历史数据访问标准OPC SecurityOPC XML-DA1.001.01安全性标准XML数据访问标准OPC Commands1.00命令标准OPC Complex Data1.00复杂数据访问标准 2 OPC技术的基础COM技术2.1 COM技术简介2.1.1 COM概念COM(Component Object Model,组件对象模型)是由Microsoft提出的组件标准,是OLE、ActiveX、DCOM技术的基础,它不仅定义了组件程序之间进行交互的标准,并且也提供了组件程序运行所需的环境。该模型的定义是为了实现语言无关、厂商无关、位置透明以及减少版本问题,从而使得来自不同厂商的、不同语言编写和运行在不同平台上的COM对象能够彼此协调地运行,共同实现某一任务3。2.1.2 COM对象COM提供的是面向对象的组件模型,COM组件提供给客户的是以对象形式封装起来的实体。客户程序与COM组件程序进行交互的实体是COM对象,它并不关心组件模块的名称和位置(位置透明性),但必须知道自己在与哪个COM对象交互。类似于C+语言中类(Class)的概念,COM对象也包含属性(也称状态)和方法(也称操作),对象的状态反映了对象的存在,也是区别于其它对象的要素;而对象所提供的方法就是对象提供给外界的接口,客户必须通过接口才能获得对象的服务。对于COM对象来说,接口是它与外界进行交互的唯一途径,因此,封装特性是COM对象的基本特征。COM对象不同于像C+等面向对象语言中对象的概念,COM对象是建立在二进制可执行代码级的基础上,而C+等语言中的对象是建立在源代码级基础上的,因此COM对象是语言无关的,这一特性使用不同编程语言开发组件对象进行成为可能。COM对象也具有可重用性,它表现在COM对象的包容和聚合,一个对象可以完全使用另一个对象的所有功能。并且COM对象的重用是动态的,即被包容或被聚合对象的版本更新或功能增强后,包容或聚合对象根本不需要重新编译或者重新设置。2.2 COM接口IUnknown 接口COM定义的每一个接口都必须从IUnknown继承过来,其原因在于IUnknown接口提供了两个非常重要的特性:生存期控制和接口查询。客户程序只能通过接口与COM 对象进行通信,虽然客户程序可以不管对象内部的实现细节,但它要控制对象的存在与否。如果客户还要继续对对象进行操作,则它必须保证对象能一直存在于内存中;如果客户对对象的操作已经完成,以后也不再需要该对象了则它必须及时地把对象释放掉,以提高资源的利用率。IUnknown 引入了“引用计数”方法,可以有效地控制对象的生存周期。IUnknown包含了三个成员函数:QueryInterface、AddRef、Release。函数 QueryInterface用于供客户端查询对象是否支持某个特定的接口,函数AddRef 和 Release用于完成对象的生存期控制。2.3 COM扩展分布式COM(DCOM)DCOM是COM的扩展,它可以支持不同计算机上组件对象与客户程序之间或者组件对象之间的相互通信,这些计算机可以在局域网内也可以在广域网上,甚至通过Internet进行连接。对于客户程序而言,组件程序所处的位置是透明的,我们不必编写任何处理远程调用的代码,因此,DCOM 也是 COM 的无缝扩展。由于COM是一项应用广泛、成熟的组件技术,所以我们可以充分利用基于COM的应用、组件、开发工具以及知识,并把它们转移到分布式计算的应用领域中来。因为DCOM已经为我们处理了底层网络协议的所有细节,所以我们可把重点放在应用的业务逻辑上,而不必再为底层处理费时费力。典型的分布式应用系统是,在各个服务器上运行一些DCOM组件对象,客户程序调用这些组件对象,由它们完成实际的功能操作,比如访问数据库或进行一些复杂的数据处理,客户程序只负责接受用户的输入并把服务器的响应结果反馈给用户。3 OPC技术介绍3.1基于COM技术的OPCOPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来4。微软公司为了提供商业应用程序和特定用途的软件包间的相互连接性,开发了所谓的组件对象模型(Component Object Model, COM)技术。COM是一种软件组件间相互数据交换的有效方法。COM技术具有以下特长5:1、所谓COM并不是一种计算机语言,而是于运行的机器(只要互相连接),机器的操作系统(只要支持COM),以及软件开发的语言无关,任意的两个软件组件之间都可以相互通信的二进制和网络的标准。2、COM客户程序和COM服务器可以用完全不同的语言开发。这样使利用C+,Visual Basic,以及Excel中作为宏使用的应用程序的Visual Basic等不同语言所开发的程序可以相互连接。3、作为COM技术扩展的分布式COM(Distributed Component Object Model, 分布式COM)技术,更可以使COM组件分布在不同的计算机上,并通过网络互相连接并互相交换数据。所以对于COM客户程序来说,同样像连接本地计算机上的COM服务器一样,去连接远程计算机上的COM服务器,当然通信的速度不太一样,但是重要的是不必对服务器程序进行修正就可以在网络上自由构成(图3.1)。COM技术的出现使简单地实现控制设备和控制管理系统之间的数据交换提供了技术基础。但是如果不提供一个工业标准化的COM接口,各个控制设备厂家开发的COM组件之间的相互连接仍然是不可能的。这样的工业标准的提供,乃是OPC的目的所在。总而言之,OPC是作为工业标准定义的特殊的COM接口。OPC是以提供移植容易并具有可以满足大多数设备厂家要求的灵活性和高水平的机能性为目标而开发的,对于制造厂商和用户来说,分别可以从OPC得到以下的实惠:1、设备开发者:可以使设备驱动器开发的单一化成为可能。2、应用程序软件开发者:可以使用通用的开发工具。不必开发特别的接口,使得 图3.1 利用COM和分布式COM达成的组件间的互相连接设备接口的开发更为简单易行。3、用户:可以选用各种各样的商业软件包,使得系统构成的成本大为降低。同时可以更加容易地实现由不同供应厂商提供的设备所混合构成的工业控制系统。随着基于OPC标准的控制组件的推广和普及,不仅使控制系统的增设和组件的置换更加简单,而且使过程数据的访问也变得容易。3.2 OPC数据访问规范OPC规范定义了两套接口标准,包括自动化标准(Automation Interface Standard)和自定义接口标准(Custom Interface Standard)。自动化接口是为了向VB之类的脚本语言编写的客户程序提供服务,而自定义接口适用于C和C+应用程序,它比自动化接口更高效,功能更强大(图3.2)6。OPC数据访问规范描述了由OPC服务器实现的OPC /COM 对象及相应接口。规范指出一个OPC客户程序可以连接到一个或多个由不同厂家提供的OPC服务器程序,而多个OPC客户程序也可以连接到一个OPC服务器程序上,服务器所要访问的设备、数据源、数据名及服务器程序如何进行数据的访问由厂商提供的代码决定。其OPC客户与OPC服务器的关系见图3.3,这是COM中典型的客户/服务器模型。3.3 OPC数据访问服务器的对象OPC数据访问服务器在COM基础上建立了符合OPC规范的COM接口和对象7。图3.2 OPC服务器与不同类型的OPC客户连接图3.3 OPC客户与OPC服务器的关系OPC逻辑对象模型包括三类对象:OPC服务器对象、OPC组对象、OPC项对象,每类对象都包括一系列接口。OPC 组对象包含在OPC服务器对象中,并由客户端定义和维护,每个服务器可以包含多个组对象。OPC组对象可以增加或删除OPC项对象,OPC项对象包含在OPC组对象中,一个组对象可以包含多个项对象,同样由客户端定义和维护。OPC客户端与OPC服务器连接并通过接口与OPC服务器通信,OPC服务器对象向OPC客户端提供创建和操作 OPC 组对象的功能。这些组允许OPC客户对它们要访问的数据进行组织。一组可以作为一个单元被激活或失活。一组也可以提供一种方法允许客户“订阅(Subscription)”项目列表,以便在数据项变化时它能得到通知。每个数据项对象包含一个ID标识(即用字符串表示的数据位号)、一个数值、一个质量值(表示数据的可信度)、一个时间标签(表示最新数据变动时间)。对数据项可进行读写操作并可根据需要使其激活或失活。数据项不能被OPC客户作为对象进行操作,所有对OPC数据项的操作都是通过组对象来进行的。OPC 数据访问服务器所定义的三个对象中只有两个标准的COM 对象,即 OPC Server和OPC Group对象。OPC Server对象是客户端与服务器交互的首要对象。客户端访问OPC Server 对象的接口函数组织管理OPC Group对象。OPC Group对象用于组织管理服务器内部的实时数据信息。在OPC规范中,使用项对象描述实时数据。项对象是非COM对象,也是客户端不可见的对象。OPC Server对象功能主要表现为:创建和管理OPC Group对象;管理服务器内部的状态信息;浏览服务器内部地址空间的数据组织结构。从OPC Server对象的功能可以看出,OPC Server对象面向OPC服务器的技术细节,基本独立于实时数据源,可以统一实现。其中,数据的组织结构和数据源属性与具体数据源有关,需要从用户处获取信息。OPC Group对象的主要功能表现为:管理OPC Group对象的内部状态信息;创建和管理项对象;OPC服务器内部的实时数据存取服务(同步与异步方式)。从OPC Group对象的功能可以看出,该对象面向OPC服务器中的数据存取信息,对实时数据源依赖性很强,需要从用户数据源处获取信息。OPC规范只规定了COM接口的名称和接口向 OPC 客户程序提供的行为,但没有规定如何去实现它。OPC体系结构是客户/服务器模式,OPC服务器组件提供OPC对象接口并管理这些接口。3. 4 OPC数据访问方法OPC数据传输机制主要有同步访问,异步访问和数据订阅三种方式。对于如图3.4所示的同步访问,OPC服务器把按照OPC应用程序的要求得到的数据访问结果作为方法的参数返回给OPC应用程序,OPC应用程序在结果被返回之前必须处于等待状态。 图3.4 同步数据访问处理与此相对,如图3.5所示的异步访问,OPC服务器接到OPC应用程序的要求后,几乎立即将方法返回。OPC应用程序随后可以进行其他处理。当OPC服务器完成数据访问时,触发OPC应用程序的异步访问完成事件,将数据访问结果传送给OPC应用程序。OPC应用程序在VB的事件处理程序中接受从OPC服务器传送来的数据。 图3.5 异步数据访问处理除了上述的同步和异步数据访问以外,还有如图3.6所示的并不需要OPC应用程序向OPC服务器要求,就可以自动接到从OPC服务器送来的变化通知的订阅方式数据采集(Subscription)。服务器按一定的更新周期(Update Rate)更新OPC服务器的数据缓冲器的数值时,如果发现数值有变化时,就会以数据变化事件(Data Change)通知OPC 图3.6 订阅方式数据采集应用程序。如果OPC服务器支持不敏感带(Dead Band),而OPC标签的数据类型是模拟量的情况,只有当前值与前次值的差的绝对值超过一定限度时,才更新缓冲器数据并通知OPC应用程序。由此可以无视模拟值的微小变化,从而减轻OPC服务器和OPC应用程序的负荷。3.5 OPC服务器对象及其组对象接口3.5.1 OPC服务器接口图3.7 标准 OPC 服务器对象OPC服务器对象接口的行为8(图3.7):1、IUnknown所有COM对象必须实现的最基本接口,包括AddRef,Release 和QueryInterface,所有COM对象都必须实现这个接口。2、IOPCCommon此接口被应用于各种类型的服务器,它们共享这个接口设计。它提供设置和查询LocaleID(本地语言标识)的功能,对特定的客户/服务器交互有效,也就是说,一个客户的行为不会影响其它客户。3、IOPCServer这是OPC服务器对象的主接口,它可完成组对象的动态创建以及对其进行管理。服务器对象必须提供此接口。AddGroup;创建一个组对象,并返回客户请求的接口指针,其参数反映了组对象创建时的状态。这是组对象暴露给客户程序的唯一途径。GetGroupByName;通过组名获得一个已有私有组对象的接口指针,从而与之建立连接。它主要用于当相应组对象的接口指针都被释放后重新与之建立连接(当然如果此组对象已从内存中删除除外)。GetStatus;返回服务器对象当前状态信息,如服务器运行状态,组对象的数目,版本号,厂商信息,以及当前时间和前次数据刷新时间等等。客户可对 GetStatus方法进行周期性调用来确定服务器是否连接和可用。RemoveGroup;删除不再使用的组对象。当所有的组对象接口都释放后客户再调用此函数,使相应组对象在内存中彻底删除。但它不能用于公共组对象。CreateGroupEnumerator;创建一个可列举当前服务器对象内的组对象的枚举器。可以列举组对象的名称,也可以列举指向组对象的IUnknown 接口的指针。枚举器也是一个COM对象,它实现了相应类型枚举接口,如IEnumString和 IEnumUnknown接口,OPC服务器对它的实现进行了简化,由相应接口函数来创建它的对象,由客户程序来释放它。4、IConnectionPointContainer服务器对象上的此接口主要提供了相对于IOPCShutdown出接口连接点的访问支持。IOPCShutdown出接口用于当服务器主动与客户程序断开连接时对客户程序进行通知。OPC2.0服务器必须支持此接口。它的实现与一般连接点对象的实现相同。5、IOPCItemProperties此接口用于浏览与ITEMID(用于标识一个特定的项)相关的属性,也可读取这些属性当前的值。之所以设计本接口是因为许多ITEMID与其它像代表工程单位范围或对象描述或报警状态的ITEMID相关联。使用此接口可以方便的浏览、定位和读取与特定ITEMID相关的信息,可以在不创建OPC组对象的情况下读取。6、IOPCServerPublicGroups(可选)公共组对象为客户和服务器提供了共享数据的一种机制,可被多个客户程序访问,它可由服务器或客户程序创建。当由客户程序创建时,首先创建私有组对象,然后通过MoveToPublic转换成公共组对象。一个客户程序可通过CreateGroupEnumerator 枚举可用的公共组对象,然后用GetPublicGroupByName连接到公共组对象,再通过IEnumOPCItemAttributes 检查组对象的内容,最后通过使用各种IOPCItemMgt函数分配客户句柄和数据类型。GetPublicGroupByName;通过公共组对象的名字获取指向组对象的指针,从而连接到公共组对象。RemovePublicGroup;删除一个公共组对象。7、IOPCBrowseServerAddressSpace(可选)此接口为OPC客户提供了一个有效访问OPC服务器数据的方式,能够为用户提供相应的ITEMID列表。服务器数据的地址空间可以以平面(flat)结构或分层(hierarchical)结构来实现,此接口使客户从厂商定义的ITEMID的语法中分离出来。8、IPersistFile (可选)这是一个标准IPersistFile接口的实现。此可选接口允许客户装载和存储OPC服务器的配置,但不能存储任何客户定义的信息像组对象和项对象的定义。3.5.2 OPC组对象接口OPC组对象接口的行为如下8(图3.8):1、IOPCItemMgt此接口的功能是允许客户添加和删除项对象并可控制项对象的行为。AddItems;向组对象中添加一个或多个项对象。可添加相同的数据项两次,但每一个项对象的ServerHandle(项服务器句柄)唯一。ValidateItems;判断数据项能否被合法的添加,不会对组对象造成任何影响。图3.8 标准 OPC组对象RemoveItems;从组对象中删除项对象。从组对象中添加和删除项对象并不影响服务器和物理设备地址空间的数据项,它仅说明了客户是否关心那些数据项。SetActiveState;设置项对象的激活标志。SetClientHandles;改变项对象的客户句柄。一般来讲,客户程序在添加项对象时就设置了客户句柄,在以后不会改变它。SetDatatypes;改变项对象要求的数据类型。CreateEnumerator;在组对象内创建一个可以列举项对象的枚举器。2、IOPCGroupStateMgt此接口允许客户程序管理组对象的所有状态。最基本的是改变组对象的更新率和活动状态。GetState;获得组对象的当前属性状态,如更新率,激活状态,组名,时区,死区,语言标识,客户句柄和服务器句柄等。SetState;客户可设置组对象不同属性的状态,可改变的属性可从其参数知道。SetName;设置私有组对象的名称,名字必须唯一。CloneGroup;使用唯一组名建立某一组对象的另一个副本。新的组对象为私有的。组对象和项对象的几乎所有属性被复制,但新组完全独立于旧的组对象。3、IOPCPublicGroupStateMgt(可选)此接口用于将私有组对象转换成公共组对象,因为当客户创建一个组对象时,被初始化为私有组对象。4、IOPCSyncIO此接口允许客户对服务器执行同步读写操作。操作将一直运行到完成才返回。Read;同步读取组对象内的项的值、品质和时间邮戳等信息。可以从内存(CHCHE)中读取,也可以从设备内直接读取。只有组对象和项对象都处于激活状态时,才可从内存内读取数据。5、IOPCAsyncIO2此接口允许客户对服务器执行异步读写操作,操作被排队等候,函数立即返回。每项操作被看作一个事务,并被分配一个事务 ID,当操作完成时,客户IOPCDataCallback接口的回调将执行。回调中的信息指出了事务 ID 和操作结果。6、IConnectionPointContainer数据访问规范 2.0 组对象必须实现此接口,与服务器对象的此接口的唯一区别是管理得出接口不一样,组对象管理的出接口是IOPCDataCallback 接口,可使客户与服务器连接并进行最有效的数据传送。其接口方法的行为只是将服务器对象的IOPCShutdown接口换成IOPCDataCallback接口即可,可参考服务器对象的实现。7、IEnumOPCItemAttributesIEnumOPCItemAttributes 接口允许客户找出组对象内的项以及项的相关属性(以项属

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开