工业化计算机网络51 OPC接口.ppt_第1页
工业化计算机网络51 OPC接口.ppt_第2页
工业化计算机网络51 OPC接口.ppt_第3页
工业化计算机网络51 OPC接口.ppt_第4页
工业化计算机网络51 OPC接口.ppt_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

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

文档简介

opc接口技术,2012.5,内容提要,opc概述opc基本原理opc自定义接口,什么是opc,opc(oleforprocesscontrol)是一个工业标准。opc由一些世界上占领先地位的自动化系统和硬件、软件公司与微软(microsoft)紧密合作而建立的。opc标准定义了应用microsoft操作系统在基于pc的客户机之间交换自动化实时数据的方法。管理这个标准的国际组织是opc基金会。,宗旨,opc基金会的宗旨是在microsoftcom、dcom和activex技术的功能规程基础上开发一个开放的和互操作的接口标准。opc标准的目标是促使自动化/控制应用、现场系统/设备和商业/办公室应用之间具有更强大的互操作能力。,为什么需要opc,传统过程控制系统结构是一种单一、专有的模式,任何一种人机界面(hmi)、数据采集与处理软件(scada)等上位监控软件或其他应用软件(如显示软件、趋势图软件、数据报表与分析软件等)在使用某种硬件设备时都需要开发专用的驱动程序。,传统结构带来的问题:新增应用软件或者硬件设备带来的只会是驱动程序种类和数量的迅速增长,开发人员大量的时间和精力耗费在重复性编写通信驱动程序上,原有的驱动程序无法适应升级后的硬件设备。,opc的解决方案,基于opc过程控制系统结构采用客户/服务器模式通常把符合opc规范的设备驱动程序称为opc服务器;而将符合opc规范的应用软件统称为opc客户。服务器充当客户与硬件设备之间的桥梁,客户对硬件设备的数据读写操作由服务器代理完成,客户不需要同硬件设备直接打交道,或者说客户是独立于设备的(即不管现场设备以何种形式存在,客户都以统一的方式去访问)。,在客户端和服务器端各自定义了统一的标准“接口”,接口具有不变特性,opc所提供的接口标准事实上是一种“软件接口标准”或“软件总线”,它明确定义了客户同服务器之间的通信机制,是连接客户同服务器的桥梁和纽带。,beforeopc,abbplcs,tlmcaniqueplcs,siemensplcs,masterbusmmsdriver,xwaydriver,profinetdriver,visualization,historydatabase,产业性:有opc标准前:保守的数据交换花费高低效率有风险,withopc:abboperatorworkplaceconnection,abbac800m,tlmcaniquetsx,siemenss7,ac800mopcserver,schneideropcserver,siemensopcserver,operatorit,applicationsoftwareiswrittenindependentlyfromthetypeofcontroller,historian(informationmanager),mms,xway,profinet,thedriversstillexist,buttheclientsdonotseethemanymore,有opc标准后:客户机及服务器有了相应连接标准节省了费用降低了投资风险有了更多的选择提高产量力,opcdataaccessarchitecture,plc,plc,mesand/orhmiapplications(opcclient),opcserver,softwareappprovidesalinkagebetweenopcclient(s)andfielddevices,proprietarymessagingopcdataaccess,什么是opc?,基于微软的ole(现在的activex)、com(部件对象模型)和dcom(分布式部件对象模型)技术。opc包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。activex/com技术定义各种不同的软件部件如何交互使用和分享数据。不论过程中采用什么软件或设备,opc为多种多样的过程控制设备之间进行通信提供了公用的接口。,ole:objectlinkingandembedding,version1usedddetocommunicatebetweenapplications.version2usescominsteadofdde(althoughddestillexistsforlegacyreasons),什么是opc?,基于com技术的opc微软公司为了提供商业应用程序和特定用途的软件包间的相互连接性,开发了所谓的组件对象模型(componentobjectmodel,com)技术。com是一种软件组件间相互数据交换的有效方法。,com技术具有以下特长:,com不是一种计算机语言,而是于运行的机器(只要互相连接)、机器的操作系统(只要支持com)、以及软件开发的语言无关、任意的两个软件组件之间都可以相互通信的二进制和网络的标准。com服务器是根据com客户的要求提供com服务的执行可能的程序,可以作为win32上可执行的文件发布。com客户程序和com服务器可以用完全不同的语言开发。这样使利用c+,visualbasic,以及excel中作为宏使用的应用程序的visualbasic等不同语言所开发的程序可以相互连接。,com技术具有以下特长:,com组件可以以二进制的形式发布给用户。com技术可以提供不同版本的com服务器和com客户程序之间的最大的兼容性。作为com技术扩展的分布式com(distributedcomponentobjectmodel,分布式com)技术,可以使com组件分布在不同的计算机上,并通过网络互相连接并互相交换数据。对于com客户程序来说,同样像连接本地计算机上的com服务器一样,去连接远程计算机上的com服务器.当然通信的速度不太一样,但是重要的是不必对服务器程序进行修正就可以在网络上自由构成。,图利用com和分布式com达成的组件间的互相连接,opc和dde的比较,在opc技术出现以前,dde(dynamicdataexchange)技术曾经对过程控制作出巨大贡献。但是dde是基于windows的消息(message)传递而建立的技术,所以dde技术存在以下问题:数据的传送速度较慢没有安全性管理机制开发困难功能缺乏柔软性可靠性也难令人满意,thefollowingtablewillclarifythedifferencesbetweenddeandopc:,图利用opc和dde的数据传送性能的实验结果,opc适用于哪些地方,opc是为了连接数据源(opc服务器)和数据的使用者(opc应用程序)之间的软件接口标准。数据源可以是plc,dcs,条形码读取器等控制设备。随控制系统构成的不同,作为数据源的opc服务器既可以是和opc应用程序在同一台计算机上运行的本地opc服务器,也可以是在另外的计算机上运行的远程opc服务器。,图在控制系统中opc所占的位置,opc服务器,opc服务器由三类对象组成:服务器(server)、组(group)、数据项(item)。服务器对象(server)拥有服务器的所有信息,同时也是组对象(group)的容器。组对象(group)拥有本组的所有信息,同时包容并逻辑组织opc数据项(item)。,opc组对象(group)提供了客户组织数据的一种方法。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,opc将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。opc规范定义了两种组对象:公共组和局部组(私有组)。公共组由多个客户共有,局部组只隶属于一个opc客户。一般说来,客户和服务器一对连接只需要定义一个组对象。,在每个组对象中,客户可以加入多个opc数据项(item)。如图所示。,opc数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。opc客户对设备寄存器的操作都是通过其数据项来完成的。通过定义数据项,opc规范尽可能的隐藏了设备的特殊信息,也使opc服务器的通用性大大增强。opc数据项并不提供对外接口,客户不能直接对之进行操作,所有操作都是通过组对象进行的。,客户操作数据项的一般步骤为:通过服务器对象接口枚举服务器端定义的所有数据项。将要操作的数据项加入客户定义的组对象中。通过组对象对数据项进行读写等操作。,每个数据项的数据结构包括三个成员变量:即数据值、数据质量和时间戳。数据值是以variant形式表示的。数据项表示同数据源的连接而不等同于数据源,无论客户是否定义数据项,数据源都是客观存在的。可以把数据项看作数据源的地址,即数据源的引用,而不应看作数据源本身。,报警(alarm)和事件(event),报警和事件处理机制增强了opc客户处理异常的能力。服务器在工作过程中可能出现异常,此时,opc客户可通过报警和事件处理接口得到通知,并能通过该接口获得服务器的当前状态。在很多场合,报警(alarm)和事件(event)的含义并不加以区分,两者也经常互换使用。从严格意义上讲,两者含义略有差别。依据opc规范,报警是一种异常状态,是opc服务器或服务器的一个对象可能出现的所有状态中的一种特殊情况。例如,服务器上标记为fc101的一个单元可能有如下状态:高出警戒,严重高出警戒,正常,低于警戒,严重低于警戒。除了正常状态外,其他状态都视为报警状态。,事件(event),事件是一种可以检测到的出现的情况,这种情况或来自opc客户,或来自opc服务器,也可能来自opc服务器所代表的设备,通常都有一定的物理意义。事件可能与服务器或服务器的一个对象的状态有关,也可能毫无关系。如高出警戒和正常状态的转换事件和服务器的某个对象的状态有关,而操作设备,改变系统配置以及出现系统错误等事件和对象状态就无任何关系。,opc体系结构,opc规范提供了两套接口方案,即com接口和自动化。com接口效率高,通过该接口,客户能够发挥opc服务器的最佳性能,采用c+语言的客户一般采用com接口方案;自动化接口使解释性语言和宏语言访问opc服务器成为可能,采用vb语言的客户一般采用自动化接口。自动化接口使解释性语言和宏语言编写客户应用程序变得简单,然而自动化客户运行时需进行类型检查,这一点则大大牺牲了程序的运行速度。,opc服务器必须实现com接口,是否实现自动化接口则取决于供应商的主观意愿。典型的opc体系如图。,服务器缓冲区数据和设备数据,opc服务器本身就是一个可执行程序,该程序以设定的速率不断地同物理设备进行数据交互。服务器内有一个数据缓冲区,其中存有最新的数据值,数据质量戳和时间戳。时间戳表明服务器最近一次从设备读取数据的时间。服务器对设备寄存器的读取是不断进行的,时间戳也在不断更新。即使数据值和质量戳都没有发生变化,时间戳也会进行更新。客户既可从服务器缓冲区读取数据,也可直接从设备读取数据,从设备直接读取数据速度会慢一些,一般只有在故障诊断或极特殊的情况下才会采用。,同步和异步,opc客户和opc服务器进行数据交互可以有两种不同方式,即同步方式和异步方式。同步方式实现较为简单,当客户数目较少而且同服务器交互的数据量也比较少的时候可以采用这种方式;异步方式实现较为复杂,需要在客户程序中实现服务器回调函数。当有大量客户和大量数据交互时,异步方式能提供高效的性能,尽量避免阻塞客户数据请求,并最大可能地节省cpu和网络资源。,例,组态王作为opc客户端的使用方法建立和删除opc设备组态王中支持多opc服务器。在使用opc服务器之前,需要先在组态王中建立opc服务器设备。如图所示,在组态王工程浏览器的“设备”项目中选中“opc服务器”,工程浏览器的右侧内容区显示当前工程中定义的opc设备和“新建opc”图标。,组态王作为opc客户端的使用方法在opc服务器中定义数据项opc服务器作为一个独立的应用程序,可能由硬件制造商、软件开发商或其他第三方提供,因此数据项定义的方法和界面都可能有所差异。,以pcsoft公司的modbusserver为例介绍opcserver的使用方法。modbusopcserver应用程序是一个高级的i/o服务器,提供友好的工程人员界面,支持dde,advancedde和fastdde等数据访问方式。双击程序组modbusserver图标,弹出modbusserver主窗口如图所示。,组态王作为opc客户端的使用方法opc服务器与组态王数据词典的连接opc服务器与组态王数据词典的连接如同plc或板卡等外围设备与组态王数据词典的连接一样。在组态王工程浏览器中,选中数据词典,在工程浏览器右侧双击新建图标,选择i/o类型变量,在连接设备处选择opc服务器。如图所示。,组态王opc服务器的功能简介,1、opc通讯技术上的实现:opc实现的是系统中进程间的通讯,其采用com和dcom技术实现了接口,调用非常方便。,组态王opc服务器的功能简介,2、opc数据的通讯opc之间的通讯是以变量为单位的,在opc服务器上定义相关的变量和要采集的硬件进行连接,并生成唯一表示此变量的id标识。此变量中保存着变量的数值,变量相关的信息,外部的程序能够访问的就是此变量的所有信息,即opc服务器与外部的数据的传输是通过变量进行对应的。,组态王opc服务器的功能简介,组态王作为服务器其所有变量都可以被外部支持opc的客户端进行访问,访问的对象是变量或变量的域。而且对于可读写变量的可修改的域,用户可以通过对组态王opc服务器的访问得到相应的数值并能够修改相应的数值。为了方便用户对组态王opc功能的使用,组态王提供了opc客户端接口开发包。该接口支持vb、vc等编程语言,用户可以很方便的使用该动态库访问组态王的实时数据。,组态王opc服务器的使用,opc客户作为一个独立的应用程序,可能由硬件制造商、软件开发商或其他第三方提供,因此数据项定义的方法和界面都可能有所差异。下面以factorysoft(emation,inc)的opc客户端为例说明组态王opc服务器的使用。1、启动组态王的运行系统(组态王的opc服务器是指组态王的运行系统)。2、运行某些厂家提供的opc客户端,弹出画面如图所示。,在“设备”的opc服务器项双击“新建”,弹出对话框如下页所示:“网络节点名”内缺省为“本机”,右侧面板会显示出本机所有建立起的opc服务器,如果没有,请点击“查找”。选择“kingview.view.1”,将组态王建立为opc服务器。,运行组态王注意运行的组态王才可以做作为opc服务器被客户端连接。从opc客户端读取数据在“开始”菜单的“程序”内选择该软件运行,如图所示:,在opc客户端的“opc”菜单选择connect,弹出对话框如下:,选择组态王opc服务器。在“opc”菜单选择添加数据项。,opc技术基础构成,onlybetweennodes,opc基金会,管理opc标准的组织是opc基金会。其前身由一个fisher-rosemount、rockwellsoftware、siemens、opto22、intellution和intuitivetechnology等著名大公司组成专门的工作组,仅仅用了短短的一年时间便开发出一个基本的可运行的opc技术规范。在1996年8月发布了简化的、一步到位的解决方案。,opc基金会,opc基金会的工作比其他许多标准化集团能够更高速运转。原因十分简单,只是由于opc是建立在已普遍使用的mricrosoft标准基础上。而其他标准化集团必经完全从最基本开始定义标准,因此在其工作范围内达成一致的意见往往是费时费力,自然其工作效率是不能和opc基金会比拟的。micosoft是opc基金会的一个成员,已给予opc基金会强有力的支持。microsoft在opc中的作用主要在于其强大的后援支持,而让具有丰富的行业经验的成员公司指导opc基金会的工作。,opc基金会组织结构,opc中国基金会,opc中国基金会的宗旨是在中国推广opc,以消除中国与其它发达国家的信息差距。通过定期召开中国基金会会员大会、制定相应的规章制度,同时针对中国市场建立相应的市场营销体系,提供培训、信息以及展会的组织,以进一步加强各会员的利益,以本地化的形式加强与opc基金会的联系。/(/),opc特性,任何客户机都可以与服务器连接即插即用的互操作性是其目标该标准已被公开并出版opc基金会是管理此工业标准的组织灵活性接纳所有类型的客户机及服务器高效性优化快速传输数据可以支持所有编程语言c,c+,vb,java,html,dhtml可利用internet,opcisthegreatestimprovementinautomationsinceiec61131.morethan150vendorsofferopcserverstoconnecttheirplcs,fieldbusdevices,displaysandvisualizationsystems.opcisalsousedfordataexchangebetweenapplicationsandforaccessingdatabasesopcisavailableasdllforautomationinterface(visualbasic,.)andcustom(c+,.)opcconsistsofthreemajorcomponents:1)opc-da=dataaccess(widespread,mature)2)opc-ae=alarmsandevents(notyetmuchused)3)opc-hda=historicaldataaccess(seldomused)andsomeprofiles(batch,),opcasahub,source:siemenswincc,opcvariablesisalsoaconvenientwaytoexchangedatabetweenapplicationsonthesamemachine.opcdatacanbeeasilyreadinanymicrosoftofficeapplication,opcconnectiontodatabases,toolsallowtobuildanopcdainterfacetoanyodbc-equippeddatabase.thedatabaseinternalstructure(exposedthroughqueries)isreflectedasahierarchyofopcitems.thisallowstogiveaunifiedaccesstosimpleitems.,application(opcclient),opcserver,db,odbc,opcforinternalcommunication:abbsaipasexample,abbsintegrationplatform(aip)isatthesametimeanopcserverandanopcclient.components(aspects)withinaipexposetheirpropertiesasopcobjects.internal(withinaip)andexternalcommunicationtakesplaceoveropc.,opcconnectiontoerp,directandfieldbusaccess,(local)opcserver,clientapplication(opcclient),fieldbus,(local)opcserver,fbmanager,fieldbus,plc,fbagent,fieldbus,plc,fbagent,directconnection,fieldbusconnection,canalsobeapoint-to-pointlink,clientapplication(opcclient),proprietaryprotocol,theopcserverisrunningallthetime,assoonasatleastoneclientispresent,i/odevices,clientsandserversrunasparallelprocesses,accessingaserverinanothernode,tcp/ip,stub,dcom,tcp/ip,opcserver,dcom,tcp/ip,opcserver,dcom,fbmanager,fieldbus,dcom,clientapplication(opcclient),limitation:doesnotworkoverfirewalls.solution:opcxml(seelater),com/dcomacrossmultiplenodes,opcserverforbrandy,application1(opcclient),fieldbusy,fieldbusx,drivers,opcserverforbrandx,opcserverforsimulation,panel,application2(opcclient),opcserverforbrandz,tcp/ip,tcp/ip,input/outputtoplant,ethernet,app3,node1,connectivitynode,theopcserverssupportsmultipleclientsandserversonthesame,oronremotenodes.theyrunasseparateprocesses(assoonasatleastoneclientisrequestingthem),opc基本原理,通用opc结构及组成对象及接口概述必需的接口定义可选的接口定义服务器地址空间及配置时间同步与顺序发送机制永久存储机制enumopc对象属性条目,通用opc结构及组成,opc数据访问规范opcda(dataaccess)opc报警和事件规范opca&e(alarms&events)opc数据交换规范opcdx(dataexchange)opc历史数据访问规范opchda(historicaldataaccess)opc批处理规范opcbatch,based-oniec61512-1opc安全性规范opcsecurityopcxml规范opcxml(extensiblemarkuplanguage),opc标准的发展历史,标准版本内容dataaccess3.0,2.0,1.0数据访问规范alarmsandevents1.10,1.00报警和事件规范historicaldataaccess1.0历史数据存取规范batch2.0,1.0批量过程规范security1.0安全性规范compliance2.00.2数据访问标准的测试工具opcxml1.00,0.18过程数据的xml规范opcexchange1.0数据交换规范opccommands正在开发命令规范opccommoni/o正在开发公共i/o规范opccomplexdata正在开发复杂数据规范,unifiedarchitecture规范,opcdataaccess,opcalarms&events,opchda,historydatabase,opcbatch,batchsystem,opcdx,opcua,unifiedarchitecture规范,opc数据访问规范,processvariablesdescribetheplantsstate,theyaregeneratedbythesensorsorcalculatedintheprogrammablelogiccontrollers(plcs).processvariablescanbesentuponachange,ondemandorwhenagiventimeelapsed.theopcda(dataaccess)specificationaddressescollectingprocessvariables.themainclientsofopcdaarevisualizationand(soft-)control.,opcda的适用领域,底层传感器往往使用专用接口和协议,devicespecifici/ocontrol,datamonitorsub-system,opc,opc(通过dcom)可以使用在各个子系统与管理终端之间,opc处于数据监视应用程序和专用的io驱动软件之间,opc数据访问规范特点,基于com技术技术灵活支持多类应用程序支持多类应用高效与可扩展性支持大型应用程序支高性能支持网络操作支持网络操作易于理解易于理解被广泛接受被广泛接受,opcda能提供那类数据?,传感器的实时数据:温度、压力和流量控制参数:打开、关闭、运行和停如状态信息状态信息硬件连接状态硬件连接状态软件和子系统的状态软件和子系统的状态总之,opcda可以提供任何类型数据,opcda,每个opcda服务器是一个独立的对象。opcda服务器提供了到现场数据源服务的一个窗口”数据通过对应的tag访问(tag的定义由生产商和硬件有关生产商有关)数据可以周期性轮询或单次读写数据。,opc报警和事件规范,opc提供了opc服务器发生异常时,以及opc服务器设定事件到来时向opc客户发送通知的一种机制,通过使用opc技术,能够更好的捕捉控制过程中的各种报警和事件并给予相应的处理。,opca&e,eventsarechangesintheprocessthatneedtobelogged,suchasproductionstartalarmsareabnormalstatesintheprocessthatrequireattention,suchaslowoilpressure,opc历史数据访问规范,opc提供了读取存储在过程数据存档文件、数据库或远程终端设备中的历史数据以及对其操作、编辑的方法。,hdaforhistoricaldataaccess,.,historicaldataareprocessstatesandeventssuchas:processvariables,operatoractions,recordedalarms,.thatarestoredaslogsinalong-termstorageforlateranalysis.opchda(historicaldataaccess)specifieshowhistoricaldataareretrievedfromthelogsinthelong-termstorage,filteredandaggregated(puteaverages,peaks).themainclientofopchdaaretrenddisplaysandhistorians,opc数据交换规范,什么是opcdx?opcdx?将确定穿过以太网的现场总线网络进行服务器到服务器的通信远程组态配置和管理服务远程组态配置和管理服务延伸opcda标准标准opcdx将不影响现有的现场总线规范范,opc数据交换规范,谁需要opcdx?opcdx?自动化用户自动化用户希望有一套开放性的标准有以把各家以太网上的设备和控制器的数据进行交换并予以集成。并予以集成。自动化设备供应商自动化设备供应商期望提供符合开放性工业标准的产品,使之能互操作以及进行数据交换使之能互操作以及进行数据,opcdx应用,opc批处理规范,opcbatch的目的是使异构计算环境下不同的生产控制方案等有效地协同工作.一个批处理服务器可以从其他opc数据访问服务器或专用的批处理过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论