工业化计算机网络5-1OPC接口.ppt
《工业化计算机网络5-1OPC接口.ppt》由会员分享,可在线阅读,更多相关《工业化计算机网络5-1OPC接口.ppt(117页珍藏版)》请在三一办公上搜索。
1、OPC接口技术,2012.5,内容提要,OPC 概述OPC基本原理OPC自定义接口,什么是OPC,OPC(OLE for Process Control)是一个工业标准。OPC由一些世界上占领先地位的自动化系统和硬件、软件公司与微软(Microsoft)紧密合作而建立的。OPC标准定义了应用Microsoft操作系统在基于PC 的客户机之间交换自动化实时数据的方法。管理这个标准的国际组织是OPC基金会。,宗旨,OPC基金会的宗旨是在Microsoft COM、DCOM和Active X技术的功能规程基础上开发一个开放的和互操作的接口标准。OPC标准的目标是促使自动化/控制应用、现场系统/设备和
2、商业/办公室应用之间具有更强大的互操作能力。,为什么需要OPC,传统过程控制系统结构是一种单一、专有的模式,任何一种人机界面(HMI)、数据采集与处理软件(SCADA)等上位监控软件或其他应用软件(如显示软件、趋势图软件、数据报表与分析软件等)在使用某种硬件设备时都需要开发专用的驱动程序。,传统结构带来的问题:新增应用软件或者硬件设备带来的只会是驱动程序种类和数量的迅速增长,开发人员大量的时间和精力耗费在重复性编写通信驱动程序上,原有的驱动程序无法适应升级后的硬件设备。,OPC的解决方案,基于OPC过程控制系统结构采用客户/服务器模式通常把符合OPC规范的设备驱动程序称为OPC服务器;而将符合
3、OPC规范的应用软件统称为OPC客户。服务器充当客户与硬件设备之间的桥梁,客户对硬件设备的数据读写操作由服务器代理完成,客户不需要同硬件设备直接打交道,或者说客户是独立于设备的(即不管现场设备以何种形式存在,客户都以统一的方式去访问)。,在客户端和服务器端各自定义了统一的标准“接口”,接口具有不变特性,OPC所提供的接口标准事实上是一种“软件接口标准”或“软件总线”,它明确定义了客户同服务器之间的通信机制,是连接客户同服务器的桥梁和纽带。,Before OPC,ABB PLCs,Tlmcanique PLCs,Siemens PLCs,MasterBusMMS driver,XWAY driv
4、er,Profinetdriver,visualization,historydata base,产业性:有OPC标准前:保守的数据交换 花费高 低效率 有风险,With OPC:ABB Operator Workplace Connection,ABB AC800M,Tlmcanique TSX,Siemens S7,AC800MOPC server,SchneiderOPC server,SiemensOPC server,OperatorIT,application software is written independently from the type of controller
5、,Historian(Information Manager),MMS,XWAY,ProfiNet,the drivers still exist,but the clients do notsee them anymore,有OPC标准后:客户机及服务器有了相应连接标准 节省了费用 降低了投资风险 有了更多的选择 提高产量力,OPC Data Access Architecture,PLC,PLC,MES and/or HMI Applications(OPC Client),OPC Server,Software App providesa linkage betweenOPC Clien
6、t(s)and Field devices,Proprietary MessagingOPC Data Access,什么是OPC?,基于微软的OLE(现在的Active X)、COM(部件对象模型)和DCOM(分布式部件对象模型)技术。OPC包括一整套接口、属性和方法 的标准集,用于过程控制和制造业自动化系统。ActiveX/COM技术定义各种不同的软件部件如何交互使用和分享数据。不论过程中采用什么软件或设备,OPC为多种多样的过程控制设备之间进行通信提供了公用的接口。,OLE:Object Linking and Embedding,Version 1 used DDE to commun
7、icate between applications.Version 2 uses COM instead of DDE(although DDE still exists for legacy reasons),什么是OPC?,基于COM技术的OPC微软公司为了提供商业应用程序和特定用途的软件包间的相互连接性,开发了所谓的组件对象模型(Component Object Model,COM)技术。COM是一种软件组件间相互数据交换的有效方法。,COM技术具有以下特长:,COM不是一种计算机语言,而是于运行的机器(只要互相连接)、机器的操作系统(只要支持COM)、以及软件开发的语言无关、任意的两
8、个软件组件之间都可以相互通信的二进制和网络的标准。COM服务器是根据COM客户的要求提供COM服务的执行可能的程序,可以作为Win32上可执行的文件发布。COM客户程序和COM服务器可以用完全不同的语言开发。这样使利用C+,Visual Basic,以及Excel中作为宏使用的应用程序的Visual Basic等不同语言所开发的程序可以相互连接。,COM技术具有以下特长:,COM组件可以以二进制的形式发布给用户。COM技术可以提供不同版本的COM服务器和COM客户程序之间的最大的兼容性。作为COM技术扩展的分布式COM(Distributed Component Object Model,分布
9、式COM)技术,可以使COM组件分布在不同的计算机上,并通过网络互相连接并互相交换数据。对于COM客户程序来说,同样像连接本地计算机上的COM服务器一样,去连接远程计算机上的COM服务器.当然通信的速度不太一样,但是重要的是不必对服务器程序进行修正就可以在网络上自由构成。,图 利用COM和分布式COM达成的组件间的互相连接,OPC和DDE的比较,在OPC技术出现以前,DDE(Dynamic Data Exchange)技术曾经对过程控制作出巨大贡献。但是DDE是基于Windows的消息(Message)传递而建立的技术,所以DDE技术存在以下问题:数据的传送速度较慢没有安全性管理机制开发困难功
10、能缺乏柔软性可靠性也难令人满意,The following table will clarify the differences between DDE and OPC:,图 利用OPC和DDE的数据传送性能的实验结果,OPC适用于哪些地方,OPC是为了连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标准。数据源可以是PLC,DCS,条形码读取器等控制设备。随控制系统构成的不同,作为数据源的OPC服务器既可以是和OPC应用程序在同一台计算机上运行的本地OPC服务器,也可以是在另外的计算机上运行的远程OPC服务器。,图 在控制系统中OPC所占的位置,OPC服务器,OPC服
11、务器由三类对象组成:服务器(Server)、组(Group)、数据项(Item)。服务器对象(Server)拥有服务器的所有信息,同时也是组对象(Group)的容器。组对象(Group)拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。,OPC组对象(Group)提供了客户组织数据的一种方法。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,OPC将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。OPC规范定义了两种组对象:公共组和局部组(私有组)。公共组由多个客户共有,局部组只隶属于一个OPC客户。一般说来,客户和服
12、务器一对连接只需要定义一个组对象。,在每个组对象中,客户可以加入多个OPC数据项(Item)。如图所示。,OPC数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的。通过定义数据项,OPC规范尽可能的隐藏了设备的特殊信息,也使OPC服务器的通用性大大增强。OPC数据项并不提供对外接口,客户不能直接对之进行操作,所有操作都是通过组对象进行的。,客户操作数据项的一般步骤为:通过服务器对象接口枚举服务器端定义的所有数据项。将要操作的数据项加入客户定义的组对象中。通过组对象对数据项进行读写等操作。,每个数据项的数据结构包括三个成员变量:即数据值
13、、数据质量和时间戳。数据值是以VARIANT形式表示的。数据项表示同数据源的连接而不等同于数据源,无论客户是否定义数据项,数据源都是客观存在的。可以把数据项看作数据源的地址,即数据源的引用,而不应看作数据源本身。,报警(Alarm)和事件(Event),报警和事件处理机制增强了OPC客户处理异常的能力。服务器在工作过程中可能出现异常,此时,OPC客户可通过报警和事件处理接口得到通知,并能通过该接口获得服务器的当前状态。在很多场合,报警(Alarm)和事件(Event)的含义并不加以区分,两者也经常互换使用。从严格意义上讲,两者含义略有差别。依据OPC规范,报警是一种异常状态,是OPC服务器或服
14、务器的一个对象可能出现的所有状态中的一种特殊情况。例如,服务器上标记为FC101的一个单元可能有如下状态:高出警戒,严重高出警戒,正常,低于警戒,严重低于警戒。除了正常状态外,其他状态都视为报警状态。,事件(Event),事件是一种可以检测到的出现的情况,这种情况或来自OPC客户,或来自OPC服务器,也可能来自OPC服务器所代表的设备,通常都有一定的物理意义。事件可能与服务器或服务器的一个对象的状态有关,也可能毫无关系。如高出警戒和正常状态的转换事件和服务器的某个对象的状态有关,而操作设备,改变系统配置以及出现系统错误等事件和对象状态就无任何关系。,OPC体系结构,OPC规范提供了两套接口方案
15、,即COM接口和自动化。COM接口效率高,通过该接口,客户能够发挥OPC服务器的最佳性能,采用C+语言的客户一般采用COM接口方案;自动化接口使解释性语言和宏语言访问OPC服务器成为可能,采用VB语言的客户一般采用自动化接口。自动化接口使解释性语言和宏语言编写客户应用程序变得简单,然而自动化客户运行时需进行类型检查,这一点则大大牺牲了程序的运行速度。,OPC服务器必须实现COM接口,是否实现自动化接口则取决于供应商的主观意愿。典型的OPC体系如图。,服务器缓冲区数据和设备数据,OPC服务器本身就是一个可执行程序,该程序以设定的速率不断地同物理设备进行数据交互。服务器内有一个数据缓冲区,其中存有
16、最新的数据值,数据质量戳和时间戳。时间戳表明服务器最近一次从设备读取数据的时间。服务器对设备寄存器的读取是不断进行的,时间戳也在不断更新。即使数据值和质量戳都没有发生变化,时间戳也会进行更新。客户既可从服务器缓冲区读取数据,也可直接从设备读取数据,从设备直接读取数据速度会慢一些,一般只有在故障诊断或极特殊的情况下才会采用。,同步和异步,OPC客户和OPC服务器进行数据交互可以有两种不同方式,即同步方式和异步方式。同步方式实现较为简单,当客户数目较少而且同服务器交互的数据量也比较少的时候可以采用这种方式;异步方式实现较为复杂,需要在客户程序中实现服务器回调函数。当有大量客户和大量数据交互时,异步
17、方式能提供高效的性能,尽量避免阻塞客户数据请求,并最大可能地节省CPU和网络资源。,例,组态王作为OPC客户端的使用方法 建立和删除OPC设备组态王中支持多OPC服务器。在使用OPC服务器之前,需要先在组态王中建立OPC服务器设备。如图所示,在组态王工程浏览器的“设备”项目中选中“OPC服务器”,工程浏览器的右侧内容区显示当前工程中定义的OPC设备和“新建OPC”图标。,组态王作为OPC客户端的使用方法 在OPC服务器中定义数据项OPC服务器作为一个独立的应用程序,可能由硬件制造商、软件开发商或其他第三方提供,因此数据项定义的方法和界面都可能有所差异。,以PC Soft公司的Modbus Se
18、rver为例介绍OPC Server的使用方法。Modbus OPC Server应用程序是一个高级的I/O服务器,提供友好的工程人员界面,支持DDE,AdvanceDDE和FastDDE等数据访问方式。双击程序组Modbus Server图标,弹出Modbus Server主窗口如图 所示。,组态王作为OPC客户端的使用方法 OPC服务器与组态王数据词典的连接OPC服务器与组态王数据词典的连接如同PLC或板卡等外围设备与组态王数据词典的连接一样。在组态王工程浏览器中,选中数据词典,在工程浏览器右侧双击新建图标,选择I/O类型变量,在连接设备处选择OPC服务器。如图 所示。,组态王OPC服务器
19、的功能简介,1、OPC通讯技术上的实现:OPC实现的是系统中进程间的通讯,其采用COM和DCOM技术实现了接口,调用非常方便。,组态王OPC服务器的功能简介,2、OPC数据的通讯 OPC之间的通讯是以变量为单位的,在OPC服务器上定义相关的变量和要采集的硬件进行连接,并生成唯一表示此变量的ID标识。此变量中保存着变量的数值,变量相关的信息,外部的程序能够访问的就是此变量的所有信息,即OPC服务器与外部的数据的传输是通过变量进行对应的。,组态王OPC服务器的功能简介,组态王作为服务器其所有变量都可以被外部支持OPC的客户端进行访问,访问的对象是变量或变量的域。而且对于可读写变量的可修改的域,用户
20、可以通过对组态王OPC服务器的访问得到相应的数值并能够修改相应的数值。为了方便用户对组态王OPC功能的使用,组态王提供了OPC客户端接口开发包。该接口支持VB、VC等编程语言,用户可以很方便的使用该动态库访问组态王的实时数据。,组态王OPC服务器的使用,OPC客户作为一个独立的应用程序,可能由硬件制造商、软件开发商或其他第三方提供,因此数据项定义的方法和界面都可能有所差异。下面以FactorySoft(eMation,Inc)的OPC客户端为例说明组态王OPC服务器的使用。1、启动组态王的运行系统(组态王的OPC服务器是指组态王的运行系统)。2、运行某些厂家提供的OPC客户端,弹出画面如图所示
21、。,在“设备”的OPC服务器项双击“新建”,弹出对话框如下页所示:“网络节点名”内缺省为“本机”,右侧面板会显示出本机所有建立起的OPC服务器,如果没有,请点击“查找”。选择“KingView.View.1”,将组态王建立为OPC服务器。,运行组态王注意运行的组态王才可以做作为OPC服务器被客户端连接。从OPC客户端读取数据在“开始”菜单的“程序”内选择该软件运行,如图所示:,在OPC客户端的“OPC”菜单选择Connect,弹出对话框如下:,选择组态王OPC服务器。在“OPC”菜单选择添加数据项。,OPC技术基础构成,only betweennodes,OPC基金会,管理OPC标准的组织是O
22、PC基金会。其前身由一个Fisher-Rosemount、Rockwell Software、Siemens、Opto22、Intellution和Intuitive Technology等著名大公司组成专门的工作组,仅仅用了短短的一年时间便开发出一个基本的可运行的OPC技术规范。在1996年8月发布了简化的、一步到位的解决方案。,OPC基金会,OPC基金会的工作比其他许多标准化集团能够更高速运转。原因十分简单,只是由于OPC是建立在已普遍使用的Mricrosoft标准基础上。而其他标准化集团必经完全从最基本开始定义标准,因此在其工作范围内达成一致的意见往往是费时费力,自然其工作效率是不能和O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工业化计算机网络5-1 OPC接口 工业化 计算机网络 OPC 接口
链接地址:https://www.31ppt.com/p-2775911.html