OPC标准应用研究

2024-05-09

OPC标准应用研究(通用4篇)

OPC标准应用研究 篇1

当前在大型的工况企业中,生产的水平不断提升,同时其在生产的过程中也逐渐的应用了自动化技术,很多企业在发展的过程中都建立和改造了原有的调度指挥系统。大型企业变电站在企业正常运行当中发挥着非常重要的作用,此外它自身还具备着比较强的特殊性,所以系统运行的质量得以提升,但是变电站的信息并没有应用到企业的监控系统当中,出现了信息孤岛的现象。而且变电站在运行的过程中也无法很好的控制成本,技术实行的过程中存在着一定的困境,所以必须要对其予以控制。

1信息集成的方案探讨

针对实际的情况,信息集成方案主要有以下几种。

第一种是充分的利用变电站通讯处理剂的串口和服务器串口从而编写出CDT专用数据解析程序,在发布数据的时候,可以将其自身的形式转换成DDE或者是OPC的模式。

第二种是经过变电站通讯处理剂的串口,经由转换成器,在监控系统当中根据实际的情况设计出一个驱动程序,程序运行的过程中所产生的数据应该使用OPC或者是DDE的方式进行读取和分析。

第三种是使用企业自行开发的单片机硬件设备,这样就可以和上位机及变电站通讯处理系统进行数据的分享。

因为主监控系统在研发的过程中应用了双机热备用网络,所以咋爱第一种方案当中是没办法对信息进行同时的读取和使用的。第二种方案中所描述的产品在市场占有率上相对较低,其自身的可靠性也有待商榷。第三种方案在开发周期上不占优势,在运行的过程中无法有效的去抗击外界的干扰,很多的硬件设备还无法投入使用,所以也不能在这样的系统中加以应用。

所以,在对开发周期、产品运行的可靠性和主监控系统网络结构进行了综合考虑之后,设计人员决定采用PLC的通信单元和变电站通讯机串口联合通讯。在PLC运行的过程中可以对CDT规约进行解析,之后再经过光电转换的系统,使其抗外界干扰能力得到非常有效的提升,系统信息发布的形式也可以充分的满足其要求,所以主监控系统中集成系统各个要素就更加的协调,这对于增强系统自身的稳定性和可靠性而言都有着十分重要的作用。

2信息集成系统的软硬件设计

2.1硬件工程

在设备运行的过程中,由于CDT规约有一定的循环性,所以在这一过程中其比较适合应用在点对点的通道结构当中, 变电站通讯处理剂在这一过程中主要要提供一些其在运行过程中必须要用到的串口。而主监控系统在结构上主要采用的是以太网结构,所以在操作的过程中我们一定要配备一个以太网模块,这种模块的应用主要方便了日后工作中的继承处理, 同时也有效的为日后相应模块配备提供了基础,实现了主控系统与子系统之间信息的及时传递。具体的硬件组态如图1所示。

在硬件工程中,CP340是通过总线技术与PLC的中央处理器相连接,从而形成智能模块,并且在模块内部设置了接收器、发射器和缓冲器,其中缓冲区域的功能块是以CP340为主的,这种模块有着良好的用户界面处理优势,且参数的设置方便、简单,能满足各种继承数据的处理与传递,而且减少通讯环节的干扰误差。

2.2软件设计

2.2.1通讯系统设计

这里的通讯系统说白了就是通讯程序,其通常都是放置在功能箱内,是由主程序模块单独执行处理的。通讯程序在设计中通常都要提前对CP340接收器功能模块进行优化,让其提前实现数据接收和处理功能,然后再调用FB2作为缓冲器, 这个时候如果CP340接收器内部数据出现满帧现象,那么多余数据直接被取走。 一般来说,缓冲区的大小通常都设置为1024B,并且将其分类最多分为250个子模块,按照环形方式进行排列,这种方法可以满足同时存放先后提取的各种信息帧。

2.2.2用户接收缓冲区的大小

CDT规约作为软件设计标准,它在具体设计中不管是在同步字、控制字还是在具体的信息方面均都设置为6B,具体设计标准如下图2所示。因此,每次在数据提取和解析的时候,处理最后往往都不会停留在具体的6B这一环节,也就是说每次数据处理都会有6B左右的数据得不到有效处理,这个时候这些数据则应当直接保留下来,等到下一组信息帧提取的时候再进行处理。

2.2.3同步字的寻找

在取回第一组数据之后处理的时候, 必须要提前寻找出数据中的同步字位置, 这个时候可以根据6个字节之间的关系来判断他们之间是否存在同步字,如果不存在,那么则需要丢掉第一个字节来再次进行判断,同时去处随后的字节凑满6个字节。这个过程是一个重复、反复的寻找流程。

2.2.4控制字的解析

找到同步字后, 即开始数据帧的解析过程。首先, 取出同步字后的6个字节, 对其进行CRC校验, 若校验正确, 则说明该帧即为控制字, 从控制字我们可得到该数据帧的信息字总长度。若不正确, 则将本数据帧已解析完标志位置1, 重新开始寻找下一帧的同步字。

2.2.5信息字的解析

解析完控制字,即开始信息字的解析, 每次还是取出6个字节, 对其进行CRC校验。若校验错误, 则丢掉这一信息字, 接着取出下一个信息字进行解析。若校验正确则说明该信息字有效。

3基于OPC方式的数据发布

OPC技术是以微软的OLE和COM技术为基础建立的一项技术规范和标准, 采用客户/ 服务器模型。OPC技术在于它内含了设备的I/O驱动程序, 上位机比较容易读取下位机的数据。这样就实现了自动化控制软件和硬件的万能连接, 而无需考虑驱动程序和接口问题。

4结束语

充分利用可编程逻辑控制器的高可靠性、抗干扰能力强、通信功能发达等特点, 内置CDT规约的解析程序, 来充当以往的基于单片机的规约转换器, 经实践证明, 该方法切实可行有效。目前该系统已投入生产半年多, 运行稳定可靠。

摘要:当前我国的科学技术水平有了非常显著的提升,所以各种新型的技术也在不断的出现,以往的技术也在不断的改进,所以其应用的范围也在不断的扩大,PLC和OPC技术已经在很多领域当中得到了较为广泛的应用,在这样的情下信息集成技术也有了非常好的发展。本文主要分析了基于PLC和OPC技术的信息集成的研究和应用,以供参考和借鉴。

关键词:PLC,OPC,信息集成

OPC标准应用研究 篇2

现代工业生产规模的扩大和生产过程复杂性的迅速升高, 要求传统的计算机测控系统具有更高的综合性能, 从而使生产过程中产生的大量实时数据及信息可以可靠、有效、一致、便捷地传输。但由于在工业上广泛应用的DCS、FCS、SCADA等传统计算机测控系统使用的智能仪表设备、分布式I/O模块、PLC等设备来自于不同的生产商, 而各生产商为了各自的商业利益, 没有遵循统一的接口规范, 造成了设备之间的通信异常复杂, 难以实现现场设备与上层控制软件间的信息交互和各现场设备间的直接互联与互操作, 从而限制了计算机测控系统开放性、通用性的提高。

1995年在微软公司的倡导下, 国际上处于主导地位的几个工业制造自动化领域的公司共同发起成立了OPC标准化基金会组织 (OPC Task Force) , 协作制定了专用于工业自动化的接口标准OPC (OLE for Process Control) , 这种技术规范为解决以上矛盾提供了一条便捷的途径。

本文首先探讨了OPC技术的主要内容, 然后分析了在传统的计算机测控系统中实现OPC技术的一般方法。

1 OPC数据访问规范

OPC是一种严格意义上的、开放的、应用程序之间和应用程序与硬件设备之间数据通信的技术协议。它以OLE/COM/DCOM机制作为应用程序级的通信标准, 采用客户/服务器 (C/S) 模式, 把开发访问接口的任务放在硬件生产厂家或第三方厂家, 以OPC服务器的形式提供给用户, 解决了软、硬件厂商的矛盾, 完成了系统的集成, 提高了系统的开放性和可互操作性。

OPC技术的实现包括2个组成部分:OPC服务器部分及OPC客户应用部分。OPC服务器是一个现场数据源程序, 它收集现场设备数据信息, 通过标准的OPC接口传送给OPC客户端应用。OPC客户应用是一个数据接收程序, 如人机界面软件 (HMI) 、数据采集与处理软件 (SCADA) 等。OPC客户应用通过OPC标准接口与OPC服务器通信, 获取OPC服务器的各种信息。符合OPC标准的客户应用可以访问来自任何生产厂商的OPC服务器程序。

OPC服务器由3类对象组成:服务器 (Server) 、组 (Group) 、数据项 (Item) 。服务器对象 (Server) 拥有服务器的所有信息, 同时也是组对象 (Group) 的容器。组对象 (Group) 拥有本组的所有信息, 同时包容并逻辑组织OPC数据项 (Item) 。一般地, 客户和服务器的1对连接只需要定义1个组对象 (Group) 。在每个组对象中, 客户可以加入多个OPC数据项 (Item) 。OPC数据项 (Item) 是服务器端定义的对象, 通常指向设备的一个寄存器单元。在数据访问方法上, OPC规范定义了2种接口:定制接口 (Custom Interface) 和自动化接口 (Automation Interface) , 如图1所示。客户端程序可以通过这2种接口与OPC服务器通信, 获取数据和信息。定制接口是固有接口, 主要为使用C++等高级语言的开发者使用, 规范中定义的虚函数表 (vtable) 在C++中可以直接调用。自动化接口主要适用于使用Visual Basic等弱类型 (无法定义复杂的结构类型、不支持指针类型等) 高级语言或脚本语言的开发者。它通过OPC自动化封装器 (Wrapper DLL) 调用OPC定制的接口函数, 使得开发客户端程序变得简单、快捷。

2 基于OPC的计算机测控系统的实现

基于OPC的计算机测控系统的实现主要包含OPC服务器对象 (OPC Server) 和客户程序对象 (OPC Client) 的建立2个方面。因为OPC服务器对象提供连接数据源与数据访问的方法, 所以在建立OPC组和OPC项以前必须先建立OPC服务器对象。

2.1 OPC服务器对象的建立

OPC服务器对象的建立可以通过以下2种方法实现。

一种方法是利用Visual C++的MFC标准类库或ATL (ActiveX Template Library) 模板类库, 按照OPC规范来实现。具体实现过程:首先调用InitOPCSvr函数;初始化后, 注册返回函数;接着通过CreateTag函数向OPC运行库添加多个数据项, 通过setTagProperties函数设置数据项属性;调用Runsvr函数, 运行OPC服务器, 运行客户程序和服务器通信;得到数据项数据后, 调用UpdateTag函数刷新OPC运行库中数据项的数据;在退出服务器时, 调用UninitOPCSvr函数。

另一种方法是使用各厂商提供的自动化软件中包含的OPC服务器模块建立所需的OPC Server。这些软件包括:西门子公司的SimaticNET和WinCC软件、GE Funuc公司的iFix、Rockwell公司的RS系列软件、Honeywell公司的Profit软件、亚控公司的组态王软件等等。本文仅对采用SimaticNET软件建立OPC服务器进行说明, 具体实现过程: (1) 为PC机安装CP5613通信卡, 并安装SimaticNET软件, 软件成功安装后, 系统会自动识别CP5613卡; (2) 在程序中启动Station Configu-ration软件, 为服务器站点命名, 在相应栏中添加组件OPC Server和CP5613, 并设置波特率、地址、总线类型等属性, 如图2所示; (3) 打开Configuration Console, 在Access Points设定窗口中将S7ONLINE指向PC internal (local) , 为PC站组态下载作准备; (4) 打开Simatic Manager, 建立一个新工程, 插入一个Simatic PC Station服务器站点, 名称要与第 (2) 步中的名称一致, 双击该站点进行配置, 配置属性要与第 (2) 步相同; (5) 进入NetPro网络配置窗口, 插入一个新连接, 在该连接上可以依据实际工程的需求挂接PLC站或其它通信设备; (6) 存盘编译以上组态, 无误后, 将组态数据下载到PC上。如果连接成功, 图2中的Status栏的状态会变成绿色。

2.2 OPC客户端应用程序的编写

OPC规范中为客户端应用程序提供了2种接口进行访问, 因此, 客户端的编写也有2种方法。

2.2.1 采用VC++等高级语言编写应用程序

通过定制接口进行数据访问可以采用VC++等高级语言编写应用程序, 关键步骤如下所述。

(1) 包含OPC头文件

#include "opcda_i.c" //OPC数据存取接口

#include "opcda.h" //OPC数据存取2.0头文件

#include "opccomn_i.c" //公共接口定义

#include "opccomn.h" //OPC公共头文件

OPC标准库文件可以从OPC基金网站 (www.opcfoundation.org) 上下载。

(2) 初始化COM库

调用CoInitialize (NULL) 函数, 返回值S_OK说明初始化成功, 对于需要异步数据传输的客户程序, 还需要加载ATL模板库。

(3) 创建OPC服务器的IOPCServer接口

IOPCServer *pIOPCServer=NULL;

HRESULT hr=CocreateInstance (CLSID_OPCServer, NULL, CLSCX_LOCAL_SERVER, IID_IOPCServer, (void **) &pIOPCServer) ;

//OPC服务器在本地计算机上;

MULTI_QI que[1] ={{&IID_OPCServer, NULL, 0}};

HRESULT hr = CoCreateInstanceEx (CLSID_OPCServer, NULL, CLSCTX_REMOTE_SERVER, &CoServerInfo, 1, que) ;

*pIOPCServer=que[1].pItf;

//OPC服务器在远程计算机上

(4) 创建OPC组

利用OPCServer对象的IOPCServer接口的AddGroup函数创建一个Group, AddGroup函数返回OPCGroup对象的IOPCItemMgt接口, 通过该接口可以增加、删除和控制OPCGroup内的Item。

HRESULT hr=pIOPCServer→AddGroup (L″GroupName″, XbActive, dwUpdateRate, hClientGroup, pTimeBias , pPercentDeadBand, dwLCID, phServerGroup, pRevisedUpdateRate, IID_IOPCItemMgt, (IUnknown**) &pIOPCItemMgt)

(5) 添加数据项Item

pIOPCItemMgt→AddItems (ItemNumber, (OPCITEMDEF*) &ItemArray, (OPCITEMRESULT**) &pAddItemResult, (HRESULT**) &pErrors)

AddItems可以同时添加多个Item, 每个Item的属性由ItemArray的不同相来设置, 服务器将返回添加的结果, 结果信息存储在结构变量pAdd-ItemResult中。

(6) 数据项的读写

对数据项的读写有2种方式, 即同步和异步通信方式。同步通信方式实现较为简单, 可用在数据量较小的系统;异步通信方式实现较为复杂, 主要用在数据量较大、数据访问效率要求较高的场合。同步通信方式的实现可参考以下程序:

pIOPCServer→QueryInterface (IID_IOPCSyncIO, (void **) ) &pOPCSync) ;

//获得IOPCSyncIO同步通信接口指针

pOPCSync→Read (dwSource, Read_Count, &phServerItem, &pItemValue, &pErrors) ;

//读取Read_Count个数据

pOPCSync→Write (Write_Countr, &phServerItem, WriteValue, &pErrors) ;

//写入Write_Countr个数据表示读取数据的来源, 设为OPC_DS_CACHE表示从服务器的缓存中读取, 设为OPC_DS_DEVICE表示直接从现场设备读取

(7) 连接的断开

不访问OPC服务器时, 应该依次删除创建的各个对象, 释放占用的内存, 并卸载COM库。

pIOPCItemMgt→RemoveItems (1, &phServerItem, &pErrors) ;

pIOPCServer→RemoveGroup (ItemArray, FALSE) ;

pIOPCItemMgt→Release () ;

pIOPCServer→Release () ;

CoUninitialize ()

2.2.2 采用VB语言编写应用程序

通过自动化接口编写客户端程序可以采用VB语言。在用VB编程前, 要引用OPC自动化封装器 (Wrapper DLL) 。该封装器可以从OPC标准库文件中得到, 也可以使用不同的自动化厂家提供的封装器。图3为是西门子公司的一种封装器的引用界面。

用VB语言编写客户端程序的过程与用VC++语言相类似, 包括定义全局变量、对服务器、组、数据项、浏览器进行对象声明、然后创建服务器、连接服务器、对数据进行读写、关闭连接等部分。本文不再赘述。

OPC客户服务端的程序不仅包括OPC服务器访问接口程序, 在具体的工程应用中还有事件处理程序、数据处理程序、定时器程序、打印和报表处理程序等。

3 结语

OPC技术统一的数据访问接口规范为工业自动化领域中各种设备的互联和通信提供了一种简单有效的途径, 使应用软件对硬件有了一定的独立性, 方便了应用软件的开发。伴随着计算机网络技术的发展, 基于OPC技术的计算机测控系统的性能得到了不断地提高, 在工业上的应用前景也越来越好。本文所设计的基于OPC的计算机测控系统正在一家工矿企业中应用, 运行效果良好。

参考文献

[1]阳宪惠, 邸丽清, 冯大为.OPC技术及其对工控系统开放性的影响[J].工业控制计算机, 2001, 14 (9) :31~34.

[2]SHIMANUKI Y.OLE for Process Control (OPC) forNew Industrial Automation Systems[C]//IEEEInternational Conference on Systems, Man, andCybernetics, 1999, Tokyo:1 048~1 050.

OPC标准应用研究 篇3

关键词:OPC数据采集,Web Service.NET,Python OpenOPC

1 基于Python+.NET的OPC分布式数据采集及Web发布应用概述

在工业生产中,实时生产数据监测对于生产控制、安全检测非常重要。为了实现对实时生产数据的有效监测,需要通过对过程控制中的OPC数据进行采集。数据采集的方式虽然多种多样,但从传输速度和可靠性考虑,基于Python+.NET的()PC数据采集及Web发布方式更适合在选煤厂的生产中应用。这种技术是一种集多种技术为一体的自有技术,从设计方法的形成到选煤厂中的成熟应用,通过多次实践和改进,目前已在自动化生产中广泛应用。

2 设计与实现方法

2.1 设计方法

基于Python+.NET的OPC分布式数据采集及Web发布方式的设计方法主要是将Python语言及接口组件、Web Service技术、.NET开发及AJAX技术进行整合,实现了从后台的数据传输到前台的数据展现过程。

后台的数据采集及传输主要是通过一种简单实用的Python语言,Python是一种开源的解释型语言,方便移植与调试,且具有丰富的标准库。Python通过OpenOPC将采集到的数据传输到Web服务器,使用Web Service技术实现数据的接收。Web Service是一种用于实现分布式互操作的Web应用程序,可以使用这种技术将采集到的数据发送到远程服务器。Web Service将接收到的数据通过.NET网站发布到前台,并使用AJAX异步刷新数据,方便用户能及时看到工业生产的状态,以便监测生产过程控制中的问题,并尽快地进行处理解决。

这种设计方法的优点在于简化了数据采集的步骤,提高了数据采集的效率,使用前沿的技术进行数据发布,瘦客户端的访问方式方便了用户的使用,并且实现简单可靠。

2.2 实现方法

2.2.1 使用Python结合OpenOPC进行数据读取

首先在OPC主机上安装Python和OpenOPC组件。编写数据采集脚本。Python代码:

至此已经可以读取出OPC服务器中标签名为“TestTank”的数据值了,下一步是将采集到的数据传输到远程服务器。

2.2.2 分布式数据传输

使用Web Service作为数据接收程序,服务程序使用C#编写。在Web服务页面中定义了一个方法,包含2个参数:tag(标签名)和value(double类型的值),方法中将得到的值以及接收的时间存储SQL SERVER中,以备查询显示。C#代码:

我们使用suds web services client进行Python的Web Service交互,它是一种轻量级的基于soap的Web服务客户端实现。现在我们把刚刚读取到的value通过调用远程Web服务的方式传输给服务器。Python代码:

Web服务接收到之后将数据存储到SQL SERVER中。

2.2.3 数据展示页面

数据展示页面使用ASP.NET页面实现,并且使用AJAX技术实现数据后台异步刷新,使程序更友善易用。Html页面中绘制了一个液罐背景的区域,液位数字显示在这个区域中。

编写一个一般处理程序以供AJAX请求,返回TestTank的数据。C#代码:

编写执行AJAX请求的JS脚本,每隔5 s向一般处理程序请求一次数据,并将请求到的数据显示到页面上。

页面显示演示如图1所示。

3 应用效果

基于Python+.NET的OPC分布式数据采集及Web发布方法已在选煤厂中进行了应用,根据长期的观察和监视,数据采集速度较快,数据准确率有保证,提高了工业生产中的生产控制效率,减轻了工作人员的负荷强度。对于管理者来说,使用Web方式监视实时的生产数据和设备状况,能更好地掌握选煤厂的生产运转情况,更及时地发现可能存在的生产问题和安全隐患,以便进行快速的处理,从而保证生产的正常进行和设备的安全运行,得到了使用者的肯定。

参考文献

[1]翟红艺.基于Python的网络数据采集系统研究与设计[J].科技创新导报,2011(1)

[2]徐常凯,王耀才.基于Web的选煤厂生产现场数据采集技术研究[J].选煤技术,2003(1)

浅谈OPC应用 篇4

与传统的通讯开发方式相比, OPC技术具有以下优势:硬件厂商熟悉自己的硬件设备, 因而设备驱动程序性能更可靠、效率更高。另外软件厂商也可以减少复杂的设备驱动程序的开发周期, 只需开发一套遵循OPC标准的程序就可以实现与硬件设备的通信。OPC把软硬件厂商区分开来, 使得双方的工作效率有了很大的提高。因此, 自从1997年9月发布OPC DA1.0规范以来, 经过多年的发展, OPC规范已经被工控领域大多数厂商接受, 并成了工控软件的技术标准。目前OPC规范主要有DA (Data Access) 规范, AE (alarm and event) 规范, HDA (history data access) 规范等。

1 OPC的应用

OPC是为了连接数据提供源 (OPC服务器) 和数据使用者 (OPC客户端应用程序) 之间的软件接口标准。数据提供源可以是PLC、条形码读取器等控制设备。因控制系统构成不同, 作为数据提供源的OPC服务器既可以是和OPC应用程序在同一台计算机上运行的本地OPC服务器, 也可以是在其它计算机上运行的远程OPC服务器。OPC接口即适用于通过网络把最下层的控制设备的原始数据提供给作为数据使用者 (OPC应用程序) 的自动化应用程序, 也适用于应用程序和物理设备的直接连接, 所以OPC接口适用于很多场合, 且具有高度灵活性的接口标准。

2 OPC技术的本质

OPC技术本质是采用了Microsoft的COM/DCOM技术, COM主要是为了实现软件复用和互操作, 并且为基于WINDOWS的程序提供了统一的、可扩充的、面向对象的通讯协议, DCOM是COM技术在分布式计算领域的扩展, 使COM可以支持在局域网、广域网甚至Internet上不同计算机上的对象之间的通讯。在COM标准中, 一个组件程序也被称为一个模块, 它可以是一个动态链接库, 被称为进程内组件 (in-process component) ;也可以是一个可执行程序 (即EXE程序) , 被称作进程外组件 (out-of-process component) 。一个组件程序可以包含一个或多个组件对象, 因为COM是以对象为基本单元的模型, 所以在程序与程序之间进行通信时, 通信的双方应该是组件对象, 也叫做COM对象, 而组件程序是提供COM对象的代码载体。

3 OPCDA204规范简述

OPCDA204规范 (OPC Data Access Custom Interface Specification2.04) 是2000年9月OPC基金会发布的OPCDA自定义接口规范。该规范制定了OPC服务器和OPC客户程序的COM接口标准, 通过制定标准的接口来实现多个厂家的OPC服务器和OPC客户程序开发。一个OPC客户可以连接一个或多个OPC服务器, 而多个OPC客户也可以同时连接同一个OPC服务器, 如图1所示。

一个OPC服务器由三个对象组成:服务器 (Server) , 组 (Group) , 项 (Item) 。OPC服务器对象用来提供关于服务器对象自身的相关信息, 并且作为OPC组对象的容器。OPC组对象用来提供关于组对象自身的相关信息, 并提供组织和管理项的机制。OPC组对象提供了OPC客户程序用来组织数据的一种方法。例如一个组对象代表了一个PLC (可编程控制器) 中的需要读写的寄存器组。一个客户程序可以设置组对象的死区, 刷新频率, 需要组织的项等。OPC规范定义了2种组对象:公共组和私有组。公共组由多个客户共享, 局部组只隶属于一OPC客户。全局组对所有连接在服务器的应用程序都有效, 而私有组只能对建立它的CLIENT有效。在一个SERVER中, 可以有若干个组。OPC项代表了OPC服务器到数据源的一个物理连接。数据项是读写数据的最小逻辑单位。一个OPC项不能被OPC客户程序直接访问, 因此在OPC规范中没有对应于项的COM接口, 所有与项的访问需要通过包含项的OPC组对象来实现。简单的讲, 对于一个项而言, 一个项可以是PLC中的一个寄存器, 也可以是PLC中的一个寄存器的某一位。在一个组对象中, 客户可以加入多个OPC数据项。每个数据项包括3个变量:值 (Value) 、品质 (Quality) 和时间戳 (Time Stamp) 。数据值是以VARIANT形式表示的。

4 OPC接口体系

OPC规范提供两种接口:自定义接口 (the OPC Custom Interfaces) , 自动化接口 (the OPC Automation interfaces) 。

OPC应用程序的开发一般采用这两种方式进行, 对于C++等开发语言, 通常采用自定义接口开发, 这种开发通常较麻烦, 需要自行创建OLE对象, 完成接口函数的编写。另一种是采用OPC自动化接口开发, 这种开发相对简单, 只需调用现有的Activex组件的接口即可轻松实现OPC功能。

像所有的COM结构一样, OPC是典型的CLIENT/SERVER结构, OPC服务器提供标准的OPC接口供OPC客户程序访问。OPC服务器必须提供自定义接口, 对于自动化接口, 在OPC规范定义中是可选的。

OPC在工业自动化领域应用非常广泛, 这里只是简单介绍一下OPC的应用环境、结构、接口及开发方式等, 具体的OPC服务器和客户程序的开发可参照OPC的通信规程, 只要熟悉微软COM、OLE的开发人员都可轻松进行具体应用的实现。

参考文献

[1]OPC DA2.05规范.

[2]潘爱民.COM原理与应用[M].北京:清华大学出版社, 2001.

上一篇:地勘行业现状下一篇:混合制粒机