2023年11月30日发(作者:)

OPC是什么?

OPC全称是OLE for Process Control它的出现为基于Windows的应用程序和现场过程

控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需

要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件

开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商

急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这

种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过

提供一套标准的OLE/COM接口完成的,OPC技术中使用的是OLE 2技术,OLE标准允

许多台微机之间交换文档、图形等对象。

COMComponent Object Model的缩写,是所有OLE机制的基础。COM是一种为了

实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,

可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不

需要知道对方是如何创建的。例如,用户可以使用C++语言创建一个Windows对象,它支

持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic

CPascalSmalltalk或其它语言编写对象访问程序。在Windows NT4.0操作系统下,COM

规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM

的这个扩展被称为DCOMDistributed COM

通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。

OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,OPC

服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的

开放性和可互操作性。

OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问

机制。这两种接口是:自动化接口(Automation interface;自定义接口(Custom interface

自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasicDelphi

PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级

编程语言而制定的标准接口。OPC现已成为工业界系统互联的缺省方案,为工业监控编程

带来了便利,用户不用为通讯协议的难题而苦恼。任何一家自动化软件解决方案的提供者,

如果它不能全方位地支持OPC,则必将被历史所淘汰。

1、在控制领域中,系统往往由分散的各子系统构成;并且各子系统往往采用不同厂家

的设备和方案。用户需要,将这些子系统集成,并架构统一的实时监控系统。

2、这样的实时监控系统需要解决分散子系统间的数据共享,各子系统需要统一协调相

应控制指令。

3、再考虑到实时监控系统往往需要升级和调整。

4、就需要各子系统具备统一的开放接口。

5OPC(OLE for Process Control) 规范正是这一思维的产物。

6OPC Microsoft Distributed interNet Application (DNA)

Component Object Model (COM) 技术的,根据易于扩展性而设计的。OPC规范定义了一个

工业标准接口。

7OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器

模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现

场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得

用户完全从低层的开发中脱离出来。

8OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据。它

是基于WindowsOLE——对象链接和嵌入、COM——部件对象模型(Component Object

Model)DCOM——分布式COM(Distributed COM)技术。因而,OPC为自动化层的典型现

场设备连接工业应用程序和办公室程序提供了一个理想的方法。

OPC应用领域

1、工控解决方案用户

2、楼控解决方案用户

3、工控解决方案厂商

4、楼控解决方案厂商

5、工控解决方案集成商

6、楼控解决方案集成商

7 All Automation Fields

OPC是为了连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标

准。数据源可以是PLCDCS,条形码读取器等控制设备。随控制系统构成的不同,作为数

据源的OPC服务器即可以是和OPC应用程序在同一台计算机上运行的本地OPC服务器,

也可以是在另外的计算机上运行的远程OPC服务器。

OPC接口既可以适用于通过网络把最下层的控制设备的原始数据提供给作为数据的使

用者(OPC应用程序)HMI(硬件监督接口)SCADA(监督控制与数据采集)批处理等自动

化程序,以至更上层的历史数据库等应用程序,也可以适用于应用程序和物理设备的直接连

接。所以OPC接口是适用于很多系统的具有高厚度柔软性的接口标准。

OPC解决了什么?

OPC诞生以前,硬件的驱动器和与其连接的应用程序之间的接口并没有统一的标准。

,在FA(FactoryAutomation)厂自动化领域,连PLC(Programmable Logic

Controller)等控制设备和SCADAHMI软件,需要不同的FA网络系统构成。根据某调查结

果,在控制系统软件开发的所需费用中,各种各样机器的应用程序设计占费用的7成,而开

发机器设备间的连接接口则占了3成。此外,在PA(Process Automation)——过程自动化领

域,当希望把分布式控制系统(DCS——Distributed Control System)中所有的过程数据传送到

生产管理系统时,必须按照各个供应厂商的各个机种开发特定的接口,例如,利用C语言

DLL(动态链路数据库)连接的DDE(动态数据交换)服务器或者利用FTP(文件传送协定)的文

本等设计应用程序。如由4种控制设备和与其连接的监视、趋势图以及表报3种应用程序所

构成的系统时,必须花费大量时间去开发分别对应设备ABCD的监视,趋势图以及

表报应用程序的接口软件共计要用12种驱动器。同时由于系统中共存各种各样的驱动器,

也使维护运转环境的稳定性和信赖性更加困难。

OPC是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据

交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和

开发环境的可以自由组合使用的过程控制软件组件产品。

利用OPC的系统,是由按照应用程序(客户程序)的要求提供数据采集服务的OPC服务

器,使用OPC服务器所必需的OPC接口,以及接受服务的OPC应用程序所构成。OPC

务器是按照各个供应厂商的硬件所开发的,使之可以吸收各个供应厂商硬件和系统的差异,

从而实现不依存于硬件的系统构成。同时利用一种叫做Variant的数据类型,可以不依存于

硬件中固有数据类型,按照应用程序的要求提供数据格式。

利用OPC使接口标准化可以不依存于各设备的内部结构及它的供应厂商来选用监视,

趋势图以及表报应用程序。

OLE

Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE 不仅是桌面应

用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数

据的函数)彼此进行“连接”的机制,这种连接机制和协议称为部件对象模型。

OLE 是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程

序的链接的混合文档以使用户修改时不必在应用程序间切换的协议。OLE基于组件对象模

(COM) 并允许开发可在多个应用程序间互操作的可复用即插即用对象。该协议已广泛用

于商业上,在商业中电子表格、字处理程序、财务软件包和其他应用程序可以通过客户/

务器体系共享和链接单独的信息。

OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM

关于 OLE ,业界早就在抱怨它的缓慢和庞大,对市场敏感的 Microsoft 需要对那些

API 函数提出一种新的术语以适应未来的操作系统和 Internet 技术。有趣的是 Microsoft

已经宣布 OLE 不再代表对象链接与嵌入,而只是一个过去的名词而已。