工控网首页
>

应用设计

>

浅析OPC应用

浅析OPC应用

2009/1/9 13:07:00


Abstract: OPC is open connectivity in industrial automation and the enterprise systems that support industry. Interoperability is assured through the creation and maintenance of open standards specifications.
Keywords: OPC  OLE  DCOM  WINCC RSLinx
摘要:OPC技术的开放式连接在工业自动化和企业制度,支持行业。  互用性是有保证的通过创造和维护的开放标准规格。
关键词:OPC  OLE  DCOM  WINCC RSLinx

一、 概述
       随着科技的不断提高,计算机技术的日新月异,用户需求的不断提高,监控系统规模越来越大,选用不同厂家的现场设备和系统的种类也在不断的增加,但由于缺乏统一的标准,开发商必须对系统的每一种设备都编写相应的驱动程序,而且,当硬件设备升级、修改时,驱动程序也必须跟随修改。同时,一个系统中如果运行不同公司的控制软件,也存在着相互冲突的风险。所以,如何实现监控系统的开放和互操作性成为非常关键的一个问题。OPC技术的出现,则很好的解决了这些问题。

二、 什么是OPC
      OPC是Object Linking and Embedding(OLE)for Process Control的缩写,它是微软公司的对象链接和嵌入技术在过程控制方面的应用。OPC以OLE/COM/DCOM技术为基础,采用客户/服务器(c/s)模式,为工业自动化软件面向对象的开发提供了统一的标准,这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发统一的OPC接口程序,而软件开发者可免除开发驱动程序的工作,充分发挥自己的特长,把更多的精力投入到其核心产品的开发上。这样不但可避免开发的重复性,也提高了系统的开放性和可互操作性。图1表示的是原有客户机/服务器与OPC客户机/服务器之间的关系。
 


        图1-A(其他接口) 图1-B(OPC接口)

三、 OPC 基本概念
        OPC服务器由三类对象组成:服务器(Server)、组(Group)、数据项(Item)。服务器对象(Server)拥有服务器的所有信息,同时也是组对象(Group)的容器。组对象(Group)拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。OPC组对象(Group)提供了客户组织数据的一种方法。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,OPC将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。OPC数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的,通过定义数据项,OPC规范尽可能的隐藏了设备的特殊信息,也使OPC服务器的通用性大大增强。(图2显示的是服务器(Server)、组(Group)、数据项(Item)之间的关系)
 


(图2)
1) 服务器(Server)
      OPC Server即OPC启动服务器,通过它获得其他对象和服务的起始类,并用于返回OPC Group类对象。OPC Server级别有多种属性,其中包含一个OPC服务器对象的状态和版本等信息。这种级别中的对象由客户应用创建。IOPCServer接口包含管理OPC Group级别中的对象的方法。如将组加入服务器或从服务器中删除组的方法(“AddGroup”,“RemoveGroup”)。IOPCBrowseServerAddressSpace接口包含查找服务器地址空间的方法。IOPCCommon接口方法用于通知服务器语言的设置和客户机的名称。同时还存在以下接口:图3说明了OPC Server对象及其定制接口。
 


(图3)
2) 组(Group)
      OPC Group存储由若干OPC Item组成的Group信息,并用于返回OPC Item类对象。OPC Group级别管理被称为OPC Item的各个过程变量。IOPCItemMgt接口提供将项加入组或从组中删除项的方法(“AddItem”,“RemoveItem”)。IOPCGroupStateMgt接口的方法用于处理组专用的参数或复制组。同时还存在以下接口:(图4说明了OPC Group对象及其定制接口。)
 


(图4)
3) 数据项(Item)
      OPC Item存储具体Item 的定义、数据值、状态值等信息。OPC Item级别的一个对象代表与一个过程变量的连接。该对象的唯一接口是OPCItemDisp。关于OPC Item的信息可以在属性表中找到,例如数值(“Value”)属性或存取路径(“AccessPath”)属性。(图5说明了“OPC Item”对象及其接口。)
 


(图5)
四、 OPC客户和OPC服务器的同步和异步
      OPC客户和OPC服务器进行数据交互可以有两种不同方式,即同步方式和异步方式。同步方式实现较为简单,当客户数目较少而且同服务器交互的数据量也比较少的时候可以采用这种方式;异步方式实现较为复杂,需要在客户程序中实现服务器回调函数。然而当有大量客户和大量数据交互时,异步方式能提供高效的性能,尽量避免阻塞客户数据请求,并最大可能地节省CPU和网络资源。

五、 OPC所具有的优势
1) 降低系统集成费用
      OPC减少了对集成昂贵的客户软件的需要。OPC提供了来自不同的自动化软件、设备和系统供应商的既插即用的软件和硬件组件。过程和制造业自动化的公司能够容易地把应用程序集成到广泛的自动化商业系统,有些事情在过去实际上是不可能实现的。OPC兼容的组件大大地降低了系统集成费用,因为所有的软件和硬件组件遵守一个单一的、标准的接口,该接口正在世界范围内使用。自动化供应商提供集成了能替代专用设备驱动器软件的OPC服务器。以前来自不同销售商的硬、软件之间的驱动的连军事系统集成中第一头痛的问题。OPC提供了解决这种问题的机会,并且缩短了应用程序的开发周期。这使得自动化项目能更快的完成,因而节省了新项目的时间,并且给过程控制系统领域带来应用自动化系统的利益。
2) 简单的系统集成
     PC技术正在将硬件I/O功能扩展到更复杂的控制和商业系统。DCS、SCADA、 HMI、工厂生产计划、维护以及其它生产制造应用支持OPC标准使之能进行开放的信息交换,这种信息交换是在全厂互联的协同应用程序间实现的。这样就允许制造业用户把精力集中在通过系统集成而增值的商业活动上。
3) 简单、方便地实现客户应用程序的连接性和互操作性
       客户可以开发简单的Visual Basic程序来与其它的OPC服务器交换数据,或使用他们最熟悉的客户应用程序来与其它的OPC服务器交换数据。第二个优点是,不需具备很多的工业网络知识的人员能完全能够利用客户应用程序实现车间层数据的存取。标准提供了应用程序必要的稳定性,并且鼓励范围更广的软件供应商和服务提供商提供应用程序。
4) 不受传统厂家遗留的专用性的限制
       OPC客户应用程序将其开发重点从设备连接性上转移到应用功能性上。而在以前,用户为所安装的设备进行通信而选择客户应用程序是受到限制的。
由于采用OPC,用户不再受制于单一的厂商。如果工厂已安装有一台设备,则用户不必依赖于该同一个厂商,因为所有应用程序与同样设备相同的连接性。供应商在实现连接方面的能力已经不是用户决定购买OPC客户应用系统的因素。
5) 自由的选择产品
       由于OPC提供的互操作性,最终用户能从不同的厂商中选择软件或硬件,并且知道其产品能够无缝地一起工作。
6) 可在自动化各个层存取数据
      OPC的另一个优点是在企业的每一层存取与过程相关的数据,这不再是仅限于工厂层的战略数据。通过OPC数据存取规范,Visual Basic存取程序允许工厂层数据向上流通到商业应用层。由于拥有了正确的数据,决策者能够跟好的做出战略的和适时的决策以改进工厂的经营效率。

六、 OPC的实际应用
(一) WINCC与AB PLC的OPC连接
      西门子公司的上位机监控软件WinCC 与AB 的PLC 之间的数据通讯,由于WinCC 不提供与AB PLC 之间的直接通讯驱动程序,无法直接与AB PLC 进行直接连接.因而采用了OPC的通讯方式。从而保证了WINCC与AB PLC通讯成为可能。
1) 准备工作
安装RSLinx及授权
安装WINCC<

投诉建议

提交

查看更多评论