发表于:2011-03-05 10:00:52
3楼
什么是OPC
OPC是一种基于开放式标准连接,允许在自动化/控制应用、现场设备和商业/办公室应用之间进行简明的、标准化的数据交换。字母O-P-C最初来源于OLE-Object Linking and Embedding(对象链接与嵌入)for Process Control(过程控制);而现在字母O代表开放性〔Openness〕和互操作性(interOperability),字母P代表产业性( Productivity)和高性能(Performance),字母C代表连通性(Connectivity)和协作性(Collaboration)。OPC提供了一个单一的、一致的工业标准接口,它允许软件供应商将更多的精力集中到增加软件的功能性上,而不是开发一系列专有的硬件设备驱动程序。CPC提供了一个环境,鼓励设备制造商投资开发他们自己的CPC服务器而且同样的服务器能被每一个软件、HMI、 PLC或aCS供应商所使用。这激励了设备制造商把他们开发工业网络方面所获得的知识转向OPC服务器的开发上从而保证了设备的性能能够达到最优。OPC被应用于工业自动化和企业系统的开放式连接。OPC通过对开放标准规范的创建和维护来确保互摄作性。
为什么需要OPC
微处理器的应用已经扩展到制造工业,但它们之间不能同时工作。尽管应用软件能与车间层数字设备以及其它应用设备通信,但这并不是经常能做到的。使整个系统同时工作是过程领域制造者最迫切的耍求。这个问题己经变得比连接不同操作系统的网络的连接性以及不太开放的“开放”系统所遇到的问题更尖锐,尽管所谓的开放系统被认为能更方便地进行互操作。问题的一个关键是接口的不标准,专用系统之问不能相互通信是相当普通的。由于应用程序提供者仅提供了有限的连接性,因而大大地缩小了过程和工业制造尸商对硬件和软件的选择范围。
在缺少任何标准的情况下,设备供应商不得不各自开发自己专用的硬件和软件解决方案。在今天的市场上,所有过程控制系统和信息系统有其专用的技术和接口以及API(应用程序接口),目的在于存取所包含的信息。实现不同系统之间的集成以及长期维护和支持集成环境等所需要的费用是昂贵的。尽管可以编写定制的驱动程序和接口程序,但因为上千个不同类型的控制设备和软件包需要互相通信,使得程序的种类迅速地增长。驱动程序数量的激增加深了解决己存在问题的困难程度,如不同设备供应商的驱动程序之间的不一致,硬件性能不能得到广泛支持、驱动程序不能适应升级后的硬件以及发生存取冲突。在最后一种情况下,两个应用系统因为使用相互独立的驱动程序,因而通常不能同时访问同样的设备。更糟糕的情况可能是,驱动程序不适用于特定设备的应用程序或内部应用程序的组合,这就限制了最终用户的选择或迫使他们不得不编写自已的驱动程序(以及调试)。对于开发典型监控程序软件的技术人员来说,有20%-30%的时间是用于编写通讯驱动程序。每次,一个供应商需要将一个新的控制器投入市场销售时,所有的软件开发人员就不得不重新编写一个新的驱动程序,应用软件的提供者花费太多的资金开发和维护专用接口,这不仅增加了用户的负担,而且在实际上并不能真正解决不同系统的互操作性。在某种意义上,用户被他们的软件的提供者所控制。问题的解决方案是采用OPC标准。OPC技术标准为过程控制和工厂自动化提供真正的即插即用软件技术,使得过程控制和工厂白动化的每一系统,每一设备、每一驱动器能够自由地连结和通。有了OPC这样一个标准使得系统及设备之间,包括从车间级到MIS(管理信息系统)和更远距离,完全无缝地、真正开放和方便地进行企业级的通信成为可能。
OPC 给用户带来的利益
询问OPC技术会有什么商业利益就象询问即插即用技术会给计算机工业带来了什么利益一样。OPC技术所带来的主要利益包括:对过程数据的存取有更多的选择和更好的操作方法、享用即插即用技术带采的好处以及对开发资原的有效利用。
由于采用了标准OPC技术,用户减少了培训费用、开发及长期维护费用。通过设计OPC兼容的产品可实现与其它产品无缝地协同工作。采用即插即用方法,现有的组件能有效地结台在一起以解决即时的需求。此外,长期的维护和升级可通过移去或替换系统内的工业组件来实现,而不需要捆绑新的部件。
超越了技术范畴的OPC不但给用户同时也给供应商带来益处。在过去,如果一个用户想组合应用和匹配来自不同供应商的应用软件系统和设备。他首先必须确认用于某一给定设备或系统的软件驱动程序是否可用。如果不可用,他必须寻求其它的解决方案、或花费必须的时间和资金采购供应商的专用接口来开发自己的驱动程序。OPC消除了兼容性的问题,允许客户精确选择他所喜欢的设备和系统,并能满足某一具体的应用。
A、降低了系统集成费用意味着节省时间
OPC减少了对集成昂贵的客户软件的霭要。OPC提供了来自不同的自动化软件、设备和系统供应商的即插即用的软件和硬件组件。过程和制造业自动化的公司能够容易地把应用程序集成到广泛的自动化商业系统,有些事情在过去实际上是不可能实现的。OPC兼容的组件大大地降低了系统集成费用,因为所有的软件和硬件组件遵守一个单一的,标准的接口,该接口正在世界范围内使用。自动化供应商提供集成了能替代专用设备驱动器软件的OPC服务器。以前来自不同供应商的硬、软件之间的驱动的连接是系统集成中第一头疼的问题。O PC提供了解决这种问题的机会,并且缩短了应用程序的开发周期。这使得自动化项日能更快的完成,因而节省了新项目的时间,并且给过程控制领域带来应用白动化系统的利益。
B、连接性使系统的集成变得轻而易举
PC技术正在将硬件I/O功能扩展到更复杂的控制和商业系统。DCS、SCADA、HMI、工厂生产计划、维护以及其它生产制适应用支持OPC标准使之能进行开放的信息交换,这种信息交换是在全厂互连的协同应用程序间实现的。这样就允许制造业用户把它的精力集中在通过系统集成而增值的商业活动上。
商业利益是,我们已经具有了在客户机和服务器间的互操作性。最终用户能够通过选取最适合安装并旦能保证有效地一起工作的组件来获得利益。
C、简单、方便地实现客户应用程序的连接性和互操作性
客户可以开发简单的客户应用程序来与其它的OPC服务器交换数据。第二个优点是,不需具备很多的工业网络知识的人员能完全能够利用客户应用程序实现车间层数据的存取。标准提供了应用程序必需的稳定,并且鼓励范围更广的软件供应商和服务提供商提供应用程序。
D、不受传统厂家遗留的专用性的限制
OPC客户应用程序将其开发重点从设备连接性上转移到应用功能性上。而在以前,用户为所安装的设备进行通信而选择客户应用程序是受到限制的。
由于采用OPC,用户不再受制于单一的厂商。如果工厂已安装有一台设备,则用户不必依赖于该同一个厂商,因为所有应用程序与同样设备有相同的连接性。供应商在实现连性接方面的能力已经不是用户决定购买OPC客户应用系统的因素。
如果某一设备供应商开发了一种新产品,那么提供OPC接口则是该设备供应商的责任。投资几千美元开发新通讯驱动程序不是软件供应商的责任。
E、自由地选择最好的产品
由于OPC提供的互操作性,最终用户能从不同的厂商中选择软件或硬件,并且知道其产品能够无缝地一起工作。作为报答,厂商需要提高其产品竞争力以维护他们的声誉,这也使用户受益。
OPC技木使得系统集成商和最终用户在设计自动化系统时选用最优化的,独立于厂商的组件成为可能。这种“开放系统”可以使工程师能够精确地选择所需要的产品。这与以前必须调整需求以满足系统的方法形成了鲜明的对比。
F、任何人能在自动化各个层存取数据
OPC的另一个优点是在企业的每一层存取与过程相关的数据,这不再是仅限于工厂层的战略数据。通过OPC数据存取规范,客户机存取程序允许工厂层数据向上流通到商业应用层。由于拥有了正确的数据,决策者能够更好地做出战略的和适时的决策以改进工厂的经营效率。
OPC的广泛采用可以同时共享多个应用程序之间的信息。由干更多的应用程序支持CPC功能,因而采用OPC和微软技术(DCOM. XML, 。NET以及Indigo)的组合,同样的信息能分布到多个应用程序(如维护盘点,操作员显示以及文档管理),以便同时协调各个商业过程。
G、降低故降诊断和维护费用
OPC提供了一个标准,一旦学习了这个标准,就能成为精通每一种协议的专家。
OPC 服务器开发工具包简介
本公司负责OPC技术在中国地区的技术支持工作,同时也从事着OPC的研究与开发工作。
在开发出对外部设备OPC数据访问服务器的基础上,推出了OPC数据访问服务器快速开发工具包TuringControl OPC Server ToolKit。通过OPC Server ToolKit开发工具包用户可以以最快的速度开发出OPC数据访问服务器并使之通过OPC网站提供的兼容性测试。对于自动化设备驱动开发人员说,使用此工具包,设备驱动开发人员可以在较短的时间内完成对已有驱动程序的OPC封装,可以在保留原有工作的基础上快速完成驱动程序的标准化,而无需把注意力转移到OLE/COM等复杂的技术上面来。
下面是用工具包 开发的OPC 服务器的框架:
利用工具包开发的OPC服务器通常有如上图的结构。工具包并不是一个OPC服务器。用户必须对它进行包装,使得在工具包基础上建立的应用程序成为一个OPC服务器。
OPC 客户端开发工具包简介
公司在开发出OPC服务器端开发工具的基础后,推出了OPC客户端快速开发工具包TuringControl OPC Client ToolKit。通过OPC Client ToolKit开发工具包用户可以以最快的速度开发出OPC客户端程序。对于开发人员说,使用此工具包,可以快速开发符合OPC规范的应用程序,该程序支持OPC客户端数据访问,可以访问其它OPC服务器并从之取得过程数据。而无需把注意力转移到OLE/COM等复杂的技术上面来。
用工具包开发的OPC 客户端程序的框架:
OPCClient.DLL动态库中包含了OPC客户端开发工具包所用到的功能,客户端应用程序通过工具包和OPC 服务器的接口进行操作,用户不必了解OPC相关的通讯规范和实现。实现数据的读取和回写等功能。
OPC 开发工具包的系统结构及特点
TuringControl OPC ToolKit系统结构图
完全符合OPC Data Access2.05标准;
开发人员不需要了解COM机制及OPC数据访问服务器接口细节;
不要求开发人员了解开发工具中实现COM的具体技术。如ATL等。
支持多种开发工具。如VC、BC、VB、Delphi等。
快速开发工具包提供OPC数据访问服务器的内核部分,用户可以按照自己的界面风格设计OPC服务器。
用户开发简单容易, 缩短开发周期,节省投资成本。
OPC 开发工具包的技术指标
硬件标签的容纳能力:没有限制
硬件标签的刷新周期:15s/1,000,000(Tags)
硬件标签的加载周期:15s/1,000,000(Tags)
开发工具包的大小:450K
公司提供的OPC服务
提供TuringControl OPC ToolKit---OPC快速开发工具
定制开发OPC数据服务器/客户应用程序
跟踪OPC最新技术动态,提供全方位的OPC开发工具
OPC技术支持与服务
OPC技术咨询与培训
OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。
OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
应用程序与OPC服务器之间必须有OPC接口,OPC规范提供了两套标准接口:Custom标准接口,OLE自动化标准接口。通常在系统设计中采用OLE自动化标准接口。
OLE自动化标准接口,及采用OLE自动化技术进行调用,其技术为上节所述的OLE自动化技术。OLE自动化标准接口定义了以下三层接口,依次呈包含关系。
OPC Server:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPC Group类对象;
OPC Group:存储由若干OPC Item组成的Group信息,并用于返回OPC Item类对象。
OPC Item:存储具体Item 的定义、数据值、状态值等信息。
由于OPC规范基于OLE/COM技术,同时OLE/COM的扩展远程OLE自动化与DCOM技术支持TCP/IP等多种网络协议,因此可以将OPC客户、服务器在物理上分开,分布于网络不同节点上。
OPC规范可以应用在许多应用程序中,如它们可以应用于从SCADA 或者DCS系统的物理设备中获取原始数据的最低层,它们同样可以应用于从SCADA 或者DCS系统中获取数据到应用程序中。实际上,OPC设计的目的就是从网络上某节点获取数据。图4.2.2OPC的客户/服务器关系图同样描述了OPC在SCADA系统的应用。
采用OPC规范设计系统的好处
在进行新型微机远动系统的研制中,各个计算机以及各个模块的数据交换应该按照OPC规范进行。这样做有以下好处:
OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。
OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置以及,使得系统的应用范围更广。
采用OPC规范,便于系统的组态化,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。
OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。