文档库 最新最全的文档下载
当前位置:文档库 › 基于Visual C#的OPC客户端实现

基于Visual C#的OPC客户端实现

基于VisualC#的OPC客户端实现

作者:朱立军安娜陈未如

来源:《现代电子技术》2009年第02期

摘要:OPC是连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标准。这里以C#为开发工具,按照OPC技术的规范标准,将OPC技术应用到虚拟仪器显示组件中。具体实现了OPC客户端数据访问服务器的过程,接口步骤及其读写数据的方法,并根据OPC服务器提供的数据,最终在虚拟仪器显示组件中生成了虚拟的正弦波、方波、锯齿波、三角波等。

关键词:OPC;OPC接口;OPC服务器;C#

中图分类号:TP311.5文献标识码:B

文章编号:1004 373X(2009)02 171 03

Implementation of OPC Client Based on Visual C#

ZHU Lijun,AN Na,CHEN Weiru

(Shenyang Institute of Chemical Technology,Shenyang,110042,China)

Abstract:OPC is the software interface standard between data sources (OPC server) and data users (OPC application).Based on OPC technology standards, the virtual instrument is proposed and is applied to the virtual instrument display components by using C# language.The OPC client data access server process,the method of write and read data and interface steps are realized.According to the data provided by OPC server,finally,the waveform of

sine,square,sawtooth,triangle are generated in the display components of virtual instrument.

Keywords:OPC;OPC iterface;OPC server;C#

0 引言

随着计算机技术和数字信号处理技术的发展,人们可以用计算机软件替代传统的硬件实现的一些功能,将计算机硬件和软件有机的融合为一体,这就是所谓的虚拟仪器。近年来,世界各国的虚拟仪器公司开发了不少基于LabVIEW,Matlab,VC++,VB等虚拟仪器开发平台软件,当硬件操作的设备驱动改变时,软件开发人员需要修改大量的驱动程序来连接此设备,因此使得虚拟仪器开发平台开发难度大、通用性差。为此,提出了基于OPC技术的虚拟仪器,它是由

硬件供应商和软件开发商之间建立一套完整的“规则”,只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的实质和操作过程[1]。

1 OPC 技术

OPC(OLE Process Control )是OPC基金会组织倡导的工业控制和生产自动化领域中使用的硬件和软件的接口标准,以便有效地在应用和过程控制设备之间读写数据,具体的功能实现要由开发商根据需要自主的进行研究与开发。换句话说OPC规范是一套公共的软件标准,任何OPC开发人员所开发的OPC软件都要符合这个标准。

OPC技术的特点可概括为如下3个方面:开放性(Openness)、产业性(Productivity)和“即插即用”的互联性(Connectivity),因此可以说,“OPC= Openness+

Productivity+Connectivity”\,这也是对OPC优点最概括的描述。因此OPC在短时间内取得了飞速的发展。

1.1 OPC服务器的组成

OPC标准采用C/S模式,OPC服务器负责向OPC客户端不断的提供数据。OPC服务器包括3类对象(Object) :服务器对象(Server) 、组对象(roup)和项对象(Item)。3类对象都包括一系列接口,关系如图1所示。

OPC服务器对象维护有关服务器信息,并作为OPC组对象的包容器,它提供了对数据源进行读/写和通信的接口方法,可以动态地创建或释放组对象。

OPC组对象由客户端定义和维护,它维护有关其自身的信息,提供包容OPC项对象的机制,从逻辑上实现对OPC项的管理。

OPC项对象包含在OPC组中,可由客户端定义和维护。项代表了与数据源的连接,所有的OPC项的操作都是通过包容此项的OPC组对象完成的。

相关文档