opc规范
- 格式:doc
- 大小:70.50 KB
- 文档页数:11
OPC通讯协议介绍OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家.遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。
基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。
OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。
在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。
由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。
通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。
在这种情况下,OPC标准应运而生。
OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象.COM是Component Object Model的缩写,是所有OLE机制的基础.COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。
这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的.例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk 或其它语言编写对象访问程序。
在Windows NT4。
0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM 的这个扩展被称为DCOM(Distributed COM)。
1OPC (OLE for Process Control ,用于过程控制的OLE )规范是一个工业标准,是在Microsoft 公司的合作下,由全世界在自动化领域中处于领先地位的软、硬件提供商协作制定的。
OPC 是一个基于COM 技术的接口标准,OPC 提供了一种从不同数据源(包括硬件设备和应用软件)获得数据的标准方法。
OPC 采用客户/服务器结构。
一个OPC 客户程序可与多个厂商提供的OPC 服务器连接,并通过OPC 服务器,从不同的数据源存取数据。
OPC 服务器是一个典型的现场数据源程序,它收集现场设备数据信息,通过标准的OPC 接口传送给OPC 客户端应用程序。
OPC 客户端应用程序是一个典型的数据接收程序,如人机界面软件(HMI) 、数据采集与处理软件(SCADA) 等。
OPC 客户端应用程序通过OPC 标准接口与OPC 服务器通信,获取OPC 服务器的各种信息。
符合OPC 标准的客户端应用程序可以访问来自任何生产厂商的OPC 服务器。
OPC 规范定义了两套接口标准,包括自动化标准(Automation Interface Standard) 和自定义接口标准(Custom Interface Standard) 。
自动化接口是为了向VB 之类的脚本语言编写的客户程序提供服务,而自定义接口适用于C 和C++应用程序,它比自动化接口更高效,功能更强大。
已发布的OPC 规范主要有数据存取、报警与事件处理、历史数据存取以及批处理等服务器规范。
OPC 应用简介SIMATIC NET OPC服务器规范 OPC数据访问访问数据(例如,PLC中的过程数据)OPC警报和事件错误或特殊事件的提醒OPC历史数据访问允许访问数据库中的历史数据4SIMATIC NET OPC服务器定制和自动控制接口定制接口:使用功能指针(for C++)自动控制接口: 无指针(for Visual Basic or VBA )Æ打包自动控制DLL79现场自动化网络通过以太网的操作监视和基于现场总线的现场级控制与EMOS 的通讯都是通过OPC 完成11西门子OPC简介本图描述了如何使用西门子OPCServer 连接现场的设备,以及通过的协议等等。
智能化系统中的常用接口技术1、OPCOPC(ObjectLinkingandEmbeddingforProcessControl)规范是由OPC基金会制定的一个工业标准,它规范了过程控制和自动化软件与工业现场设备之间的接口。
OPC以OLE/COM/DCOM技术为基础,采用客户端/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准。
采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发统一的OPC接口程序,而软件开发者可免除开发驱动程序的工作,充分发挥自己的特长,把更多的精力投入到其核心产品的开发上。
这样不但可避免开发的重复性,也提高了系统的开放性和可互操作性。
复杂数据规范OPC技术的实现由两部分组成,OPC服务器和OPC客户应用部分。
OPC服务器完成的工作就是收集现场设备的数据信息,然后通过标准的OPC接口传送给OPC客户端应用。
OPC客户端则通过标准的OPC接口接收数据信息,如下图所示。
▲OPC系统结构示意图由于OPC技术的采用,使得可以以更简单的系统结构、更长的寿命、更低的价格解决工业控制成为可能。
同时,现场设备与系统的连接也更加简单、灵活、方便。
因此,OPC技术在国内的工业控制领域得到了广泛的应用。
OPC的作用主要表现在以下几个方面:(1)OPC解决了设备驱动程序开发中的异构问题随着计算机技术的不断发展,复杂的控制系统往往选用了几家甚至十几家不同公司的控制设备或系统集成一个大的系统,但由于缺乏统一的标准,开发商必须对系统的每一种设备都编写相应的驱动程序,而且,当硬件设备升级、修改时,驱动程序也必须跟随修改。
有了OPC后,由于有了统一的接口标准,硬件厂商只需提供一套符合OPC 技术的程序,软件开发人员也只需编写一个接口,而用户可以方便地进行设备的选型和功能的扩充,只要它们提供了OPC支持。
所有的数据交换都通过OPC接口进行,而不论连接的控制系统或设备是哪个具体厂商提供。
(2)OPC解决了现场总线系统中异构网段之间数据交换的问题现场总线系统仍然存在多种总线并存的局面,因此系统集成和异构控制网段之间的数据交换面临许多困难。
<<DataAccessCustomInterfaceStandardVersion>>题目:Opc数据存取接口定义标准版本日期2002628规范类型:工业标准规范题目:OPC数据存取接口定义规范作者:OPC基金会日期2002628版本:软件:MS_Word资源:opcda205a_cust状态:发布大纲这个规范是为OPC客户端和服务器端开发者作的接口规范.这个规范是在为能产生一个能够让不同的卖主的客户和服务器能一起无缝交互的分析和设计过程中诞生的.[/color]商标:[/color]多数计算机和软件都有商标或者已经注册商标,在这里不单独列出商标.]需要运行环境这个标准需要Windows95WindowsNT或者更晚版本.公开的授权协议书opc基金会,一个非赢利的公司(“opc基金会“),已经建立了一系列为增强过程控制工业里的自动控制应用程序,现场系统/设备和商业/办公应用程序协作能力已经建立了一系列标准的ole/com接口协议当前的opc规范,原理性样例和相关的文档(统称”opc资料“),形成了一系列建立在微软的ole/com技术的功能需要的基础上的的标准的ole/com接口协议。
这些技术为服务器适时信息定义了一些标准的对象,方法和属性,象分散过程控制系统,可编程逻辑控制器,精巧的现场设备和为传输信息的分析系统这些服务器适合所有符合标准的ole/com技术的设备(例如,服务器,应用程序等)。
opc基金会同意你(用户)无论是个人还是法人单位,具有授权和为用户提供一个当前的opc资料的一个拷贝,只要用户接受包含在这个非专有的授权协议书里的条款。
opc资料如果无用,所有资料的拷贝(所有形式的),用户的个人财产必须被销毁和归还opc基金会。
使用opc资料的用户(包括任何雇员和用户代理)必须接受这个协议书了的约束。
授权的承认:这份协议的期限和条件,OPC基金会承认不独占,免费出售的用户,禁止使用,拷贝,展示,分发OPC资料为制造,使用,销售或分发其他的任何产品和或者符合OPC资料的标准产品文献。
什么是OPC OPC (OLE for Process Control——用于过程控制的OLE)是一个工业标准,它是许多世界领先的自动化和软、硬件公司与微软公司合作的结晶。
这个标准定义了应用Microsoft操作系统在基于PC 的客户机之间交换自动化实时数据的方法。
管理该标准的组织是OPCOPC 基金会。
该基金会的会员单位在世界范围内超过220个。
包括了世界上几乎全部的控制系统、仪器仪表和过程控制系统的主要供应商。
OPC基金会的先驱——一支由Fisher-Rosemount、Rockwell软件公司、Opto 22、Intellution和Intuitive Technology公司组成的“特别工作组”——在经过一年工作后,开发出一个基本的、可运行的OPC规范。
简化的第一阶段的标准在1996年8月发布。
随着1997年2月Microsoft公司推出Windows95支持的DCOM技术,1997年9月新成立的OPC Foundation对OPC规范进行修改,增加了数据访问等一些标准,OPC规范得到了进一步的完善。
OPC是基于Microsoft公司的Distributed Internet Application (DNA)构架和Component Object Model (COM)技术的,根据易于扩展性而设计的。
OPC规范定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。
OPC是以OLE/COM机制作为应用程序的通讯标准。
OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。
OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
OPC的效率从OPC标准的制定到现在已历经了5年的时间。
在这过去的5年中,众多业界领先的制造商已开发了多种OPC服务器和客户机应用。
opc技术规范是以microsoft的ole/com技术为基础,定义了一组接口规范。
它包括opc自动化接口(automation interface)和opc定制接口(custom interface)。
另外,opc技术规范定义的是opc服务器程序和客户机程序进行通讯的接口或通讯的方法。
1 opc对象与接口:opc服务器对象提供了对数据源进行存取(读/写)或通讯的方法,而数据源可以是现场的i/o设备,也可以是其它的应用程序。
通过接口,opc客户应用程序可以同时连到由一个或多个厂商提供的opc服务器上。
如图1所示。
opc服务器封装了与i/o控制设备进行通讯和访问数据的类型与名字及进行设备操作的代码。
2 opc数据存取(data access)规范:总体来说,opc数据存取规范包含几个对象:服务器对象(server object)、组对象(group object)、项对象(item object)。
opc服务器对象维护着服务器的信息,同时也是opc组对象的包容器。
opc组对象维护着它自己的信息并提供包容opc项的机制,同时管理opc项。
opc组提供客户应用程序组织数据的机制,例如:一个组可以包含一个显示面板所有数据的项,并可对数据进行读写。
在一些特殊情况下,还可以在组里建立客户应用程序与项的连接,并可以根据需要禁止或允许这种连接。
opc客户应用程序还可以修改opc服务器向opc 客户应用程序提交数据变化的刷新数率。
opc组有两种类型:公共组(public)和局部组(local or private)。
公共组可以为多个客户程序共享,而局部组只为某一个客户程序所有。
在每个组里,客户程序可以定义多个opc 项。
如图2所示。
opc项代表了与服务器里数据源的连接。
从定制接口(custom interface)角度来看,一个opc 项不能被opc客户程序作为一个对象来进行操作,因此,在opc项中没有定义外部接口。
所有对opc项的操作都是利用opc项的包容器(opc组)或opc项的定义来进行的。
每个opc项包含值(value)、品质(quality)和时间标签(time stamp)。
值(value)的类型是variant,品质的类型是short。
应当注意的是项不是数据源,而只是与数据源的连接。
例如:在dcs系统中定义的可以让opc客户程序访问的标签。
opc项应该被看成是数据地址的标示,而不是数据的物理源。
2.3 opc报警与事件(alarm and event)规范:opc报警与事件规范接口提供了一种机制。
通过这种机制,当i/o设备中有指定的事件或报警条件产生时,opc客户应用程序能得到通知。
通过opc报警与事件规范接口,opc客户应用程序可以设置opc服务器支持的事件和条件,并获的其当前状态。
这里使用了过程控制中常用的报警和事件的概念,在不严格的场合,报警和事件在意义上差别不是非常明显,二者可以互换。
在opc中,一个报警就是一个非正常情况(condition),因此是一种特殊情况。
一个情况是opc事件服务器(event server)或其所包容的对象中命名了的一个状态,而这个状态对opc客户应用程序来说是有用。
例如:标签fc101可以有以下几种相关情况:上限报警、上上限报警、正常、下限报警、下下限报警。
另一方面,一个事件是某种可以检测到的变化,而这种变化对opc服务器及其所表示的i/o设备或opc客户来说是非常重要的。
一个事件可能是和某种情况相关的,也可能和任何情况都无关。
例如:系统从正常情况变化到上限报警或从上限报警变化到正常情况,这是和某种情况相关的事件。
但是,操作人员的动作、系统配置的更改、系统故障就是与情况无关的事件。
opc客户程序可以得到这类特殊事件发生的通知。
opc事件服务器接口类iopceventserver提供的方法可以使opc客户程序完成如下功能:●决定opc服务器支持的事件类型。
●对某些特定事件进行登记,以便opc客户能在这些事件发生时得到通知,也可以采用过滤器定义这些事件的一个子集。
●对opc服务器实现的情况进行存取或处理。
除了iopceventserver接口外,opc事件服务器还支持其它接口,可以对服务器实现的情况进行浏览和对公共组进行管理2.4 opc历史数据存取(historical data access)历史数据引擎能够把那些必须分散存储的信息组合成一个额外的数据源并把它们提供给对它们感兴趣的用户或opc客户程序。
当前大部分历史数据系统采用自己专用的接口分发数据,这种方式不能提供即插即用的功能,从而限制了其应用的范围和功能。
为了将历史数据和各种不同的应用系统进行集成,可以将历史信息认为是某种数据类型的数据。
目前,opc规范支持以下几种历史数据服务器:●简单趋势数据服务器。
这种服务器只提供原始数据和简单的存储功能。
数据一般是opc数据存取服务器提供的数据类型,常常是[数值,品质]元组的形式。
●复合数据压缩和分析服务器。
这种服务器能够提供与原始数据存储一样的数据压缩功能,还能提供数据汇总和数据分析功能,如平均值、最大值、最小值等。
支持数据刷新及历史记录的刷新,另外,保存历史数据的同时还可以记录对数据的注释信息。
界面控件实时数据库资料下载软件下载更多 ?基于OPC规范的客户应用程序实现石林锁,王涛,刘顺波(第二炮兵工程学院机电工程系,陕西西安 710025)摘要:介绍了过程控制领域中引进的一种新技术-OPC数据访问标准,论述了OPC相关概念、基础及OPC标准接口,并以OPC数据访问定制接口规范(1.0A)为蓝本,给出了利用Visual C++实现OPC客户应用程序的详细步骤。
关键词:过程控制;OPC规范;接口;客户应用中图分类号:TP 文献标码:AThe Realization of Client Application Based on OPC SpecificationSHI Lin-suo,WANG Tao, LIU Shun-bo(Dept. of Mechanical and Electronic, 2nd Artillery Engineering College, Xi’an 710025, China)Abstract: The paper introduces the OPC data access standard which was introduced into process control field recently, and discusses relative concepts, fundamentals and standard interfaces of OPC (Ole for Process Control). On the basis of OPC Data Access Custom Interface Specification (1.0A), the author gives out the detailed procedures to realize OPC client application using Visual C++.Key Words: Process control; OPC specification; Interface; Client application随着计算机技术与控制技术的不断发展,现代工业过程控制系统逐渐发展成为由现场设备管理、过程管理和商业管理三个层次组成的系统。
在这种新的过程工业信息体系结构中,从现场设备管理层、过程控制管理层到商业管理层包含了各种信息。
为了实现整个过程控制系统的信息集成,需要解决许多问题,其中最重要的是通信兼容问题。
因为现场管理层中大量的现场数据信息必须以一致的形式提供给用户或应用程序;过程管理层必须将现场管理层送来的信息及时加以处理并递交商业管理层;在商业管理层中这些信息又以一致的形式送给客户应用程序以简化信息的综合过程。
所以,解决这些问题的关键在于为过程控制系统的数据访问提供一种开放有效的通信标准。
在传统系统中,解决客户应用程序从数据源(如:现场设备、SCADA系统等)读取数据的方法是为不同的客户应用程序编写不同的驱动程序。
但是,这种方式存在许多问题,如同一个设备为适应不同的应用程序可能需要多种驱动程序,不同的驱动程序之间存在着不一致性,驱动程序对硬件存在着极大的依赖性等等。
为了解决这些问题,一些与微软公司合作的自动化硬件和软件供应商联合制定了一套称为OPC规范的OLE/COM接口协议,以此来提高过程控制工业中的自动化/控制应用程序,现场系统/设备以及商业/办公室应用程序之间的互操作性。
可以说OPC是工业监控软件的现场总线,其基本思想是:每个硬件供应商为其设备开发一个通用的数据接口(即OPC Server),供其它系统读写信息,客户应用软件也可以通过OPC规范的接口来读写硬件设备的信息(作为OPC Client)。
由于硬件供应商通常将硬件驱动程序封装成OPC Server单独出售,这样作为OPC数据客户端的上层应用,可以不包含任何通讯接口程序,不必关心底层硬件内部的具体细节,只需遵循OPC数据接口协议,就能够从不同的硬件供应商提供的OPC数据服务器中取得数据。
OPC规范提供了两套接口方案,即定制接口和自动化接口。
定制接口效率高,通过该接口,客户能够发挥OPC服务器的最佳性能,采用C++语言的客户一般采用定制接口方案;自动化接口使解释性语言和宏语言访问OPC服务器成为可能,采用VB等语言的客户一般采用自动化接口。
本文详细介绍了在V isual C++环境下,使用OPC定制接口访问OPC服务器的通用实现方法。
1 OPC的基本结构OPC由两套接口组成:OPC定制接口和OPC自动化接口,如图1所示。
OPC服务器必须实现定制接口,可选择实现自动化接口。
这两套标准接口的制定极大地方便了服务器和用不同语言开发的客户应用之间的通信,使用户对开发工具的选择有了较大的自由。
图1OPC接口OPC接口可以潜在地应用在许多应用程序中。
它们可以用于从最低层设备中读取未加工的数据,再转化至SCADA或者DCS系统;也可以用于从SCADA或者DCS系统中采集数据输入到应用程序中。
OPC是为从某一网络节点中的某一服务器中采集数据而设计的,同时又能够形成OPC服务器。
该服务器允许客户应用软件在由许多不同的OPC供应商提供的服务器中传输数据,并可通过单一的对象在不同的节点上运行,其工作特点如图2所示。
图2 OPC客户/服务器关系2 OPC定制接口用C或C++编写OPC客户应用程序时可以使用定制接口,也可以使用自动化接口。
由于定制接口具有更高的性能,建议尽可能使用定制接口。