电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

OPC数据采集

来源:漫步者作者:开心麻花2025-09-191

OPC数据采集(精选10篇)

OPC数据采集 第1篇

关键词:OPC技术,OPC服务器,数据通信,自动报表,VB

0 引言

为了更好地利用电能资源, 调整电网的峰谷电量, 国家对工业用电实行分段计费。在不同时段实行不同的费率标准。企业也会根据不同的用电部门、职能、生产环节、设备功率等, 划分用电单元并构建内部电网, 从而了解企业中各部分的用电状况, 便于进行载荷分析与控制。在企业的配电室中, 在输电线的每一分路上均设有电表, 从而实现对各部分的电量测量。以前配电室中需要配备专门的抄表人员, 在特定的时间人工记录所有电表的读数。随着电子技术和信息通信技术的发展, 一些电能表具有了红外抄表和通信功能, 利用电表厂商或电网配套系统生产商开发的专用程序可以对电表数据进行采集。但是这些软件具有专用性, 且功能相对简单, 难以满足企业对电能数据采集的特殊要求, 同时大大制约了设备的扩展和升级。

1 数据采集原理

针对专用程序的不足, 利用OPC技术进行电能数据采集系统设计。不同厂商的硬件设备, 通过OPC工业标准所确定的数据访问标准进行通信, 可以使软件开发过程中, 无需对不同硬件分别开发相应的驱动程序和通信接口。采用OPC技术进行电能数据采集系统的开发, 可以使上位机软件与不同品牌的电能表, 按照不同的通信规约进行连接, 大大提高系统的兼容性和适应性[1]。

数据采集的过程就是一个数据在不同设备和程序间传递的过程。在OPC数据采集系统中, 监测量通过数据采集设备转换成电信号传递到OPC服务器, 在这一过程中, 利用安装在应用系统上的OPC服务器程序, 可以方便的按照设备的通信规约进行设置, 进而将数据采集到电脑中。之后OPC服务通过OPC技术所提供的标准软件接口, 将采集到的数据传递到客户端应用程序, 从而完成数据采集过程[2]。客户端允许同时连接多个OPC服务器, 一个服务器又可以同时连接多个设备;客户端可以与服务器安装在同一系统中, 又可以安装在网络上的另一系统中, 这些特点使得基于OPC技术的数据采集系统具有灵活的结构和良好的扩展性能[3]。

2 系统结构

电能数据采集系统的硬件结构如图1所示, 多功能电能表通过RS-485电气接口连接到主机的PCI/RS-485转换卡上, 从而使电能表所记录的正向有功电能量能够通过COM接口连接到OPC服务器软件KEPServer EX上。利用VB编写客户端程序, 连接到OPC服务器, 即可对电能数据进行采集。

3 OPC服务器设置

根据监控程序的通信特点, 预先对OPC服务器进行相应的设置。主要编辑的内容有编辑发送代码的格式和读取接收代码的数据位。利用KEPServer EX软件, 可以方便的建立OPC服务器, 按照设定的格式发送数据, 并提取设备响应中的数据位。

对符合DL/T645-1997通信规约的电能表, 根据报文格式读取其正向有功总电能, 需要向其发送的请求帧为:68 01 0000 00 00 00 68 01 0243 C3 DA 16[4]。根据报文格式编辑KEPServer EX的用户自定义驱动如图2所示。当电能表正向有功电能为0时, 设备响应帧应为68 01 00 0000 00 00 68 81 06 43 C3 33 33 33 33 2A 16, 则在软件中将电能数据变量的格式设置为32-bit, 从响应数据段的第13 byte开始读4 byte。

4 上位机程序设计

OPC是基于COM技术发展起来的面向工业控制的特殊COM接口, 利用VB语言可以开发基于OPC技术的客户端应用程序[5]。电能数据采集系统的上位机程序负责将车间中30块电能表的实时正向有功电能量显示在界面上, 在设定时间进行自动抄表, 并且能自动生成每日的Excel电能报表。该系统包含两大部分, 监控系统界面和报表程序, 抄表获得的电能数据保存在Access数据库中, 方便数据的检索, 同时又保证了数据的安全性。

4.1 监控系统的编制

监控系统是电能数据采集系统的基础, 包含控制按钮、文本标签、通信状态图标和数据显示框。监控系统的主要功能是连接OPC服务器、显示连接状态和实时数据以及进行系统操作[6]。其中, 连接OPC服务器是通过以下代码实现的:

(1) 声明变量

(2) 连接OPC服务器

电能数据采集系统连接OPC服务器, 首先需要创建OPC服务器对象、OPC组集合、OPC组、OPC标签集合以及OPC标签, 然后将OPC标签与OPC服务器中的数据相对应, 通过OPC技术提供的标准接口, 就可以将OPC服务器所采集到的测量数据传递到上位机程序。

4.2 报表系统的编制

数据报表功能是通过OPC服务器、数据库文件和Excel文件共同完成的[7]。在设定的时间, 系统自动调用存储子程序, 将实时电能数据存储在数据库文件中, 其具体的程序段为:

sql="INSERT into普通表values ("&A (0) &", '"&Now () &"') "

在设定的报表时间, 系统会自动打开Excel报表的模板文件, 然后将数据库中的数据填入到Excel表格中, 其具体的程序段为:

当天数据库的所有数据均填入数据报表后, 系统会自动将Excel以日期为文件名转存到以年月为名称的文件夹中, 实现报表的有序存储, 其具体的程序段为:

My_path="d:电能数据”&Year (Now) &"-"&Month (Now) &""

xl Book.Save Copy As My_path&"”&Year (Now) &"-"&Month (Now) &"-"&Day (Now) &".csv"

4.3 运行调试

在工作机上设置相关参数并运行程序, 系统运行后的界面如图3所示, 监控系统能够正常运行, 并自动采集电能数据。

5 结束语

本设计基于OPC技术的标准接口, 能够灵活地实现不同品牌、不同类型电表的数据采集。通过上位机程序, 可以实现电能数据的实时监控、数据库存储和自动报表。相比于其他数据采集程序, 该系统适应性和兼容性强, 设计和使用简便, 具有良好的可扩展性。

参考文献

[1]蒋健.基于OPC数据通讯技术的实时监控系统研究与应用[D].南京:东南大学, 2006:1-5.

[2]林丽燕.OPC在试验除尘器控制系统中的应用[J].工业控制计算机, 2010, 23 (9) :39-40.

[3]曾瀚鹏.OPC技术在高速公路电力监控系统的应用[J].中国交通信息化, 2010, 12 (8) :131-132.

[4]DL/T 645-1997, 多功能电能表通信协议[S].北京:中华人民共和国电力工业部.

[5]唐恩.基于OPC和WinsockAPI的远程数据采集系统设计[J].自动化与仪器仪表, 2011, 31 (5) :52-54.

[6]肖俊.OPC客户端订阅式数据采集的实现和研究[J].工业控制计算机, 2011, 24 (8) :68-69.

OPC数据采集 第2篇

基于OPC技术的气体加温压力FCS系统

介绍了基于OPC技术的.气体加温压力FCS系统的设计思想、结构和特点,以及控制原理.该系统应用于航空发动机空气涡轮起动机的起动控制,形成了一体化、网络化和信息化的新型航空发动机整机试车测控系统.

作 者: 作者单位: 刊 名:航空发动机 英文刊名:AEROENGINE 年,卷(期): 35(5) 分类号:V2 关键词:OPC技术   FCS   过程控制   航空发动机  

OPC数据采集 第3篇

关键词:OPC XML-DA ;OPC UA; OPC 接口

中图分类号:TP311文献标志码:B文章编号:1671-7953(2009)03-0095-04

随着计算机科学技术、工业控制等方面的新技术的迅速发展,在大型舰船上如何安全可靠又高速的进行数据交换已经变得越来越重要。而目前先进的舰船上都配备各种类型的传感器、智能仪表、大型监控装置,这就有可能造成网络拥塞,影响监控系统的实时性、可靠性等。因此,基于解决大型舰船多种智能设备与主机的数据交互问题,我们引入了用于过程工业控制的OPC[1] (OLE For Process Control)技术,它是基于Windows的OLE(Object Linking and Embedding)、COM(Component Object Model)技术,包括了自动化应用的一整套的接口、属性和方法的标准。

1、OPC技术的发展现状

经过国际OPC基金会成员十数年的努力,目前已经制定了一套适合过程控制应用的OPC协议标准,报警(A&E)、事件与历史数据访问(HDA)、支持过程数据访问(DA)、安全性标准、OPC XML、OPC Data eXchange以及尚未实施的OPC UA等标准,这些标准为系统提供了多种功能的接口。便于技术人员完成管控一体化系统的设计,向上可以面向企业级的高级应用及管理,向下可以管理设备级的仪表设备等。

2、COM/DCOM概述

2.1COM技术

现行的所有OPC技术都是以COM/DCOM技术为基础的。实际上,OPC技术就是定义了一些用于数据访问、事件和报警处理、历史数据访问的COM对象和接口。因此,要真正从底层掌握OPC规范,就必须清楚COM/DCOM技术。

首先,COM(Component Object Model)是一种以组件为发布单元的对象模型,这种模型可以用一种统一的方式进行交互。COM既提供了组件之间进行交互的规范,也提供了实现交互的环境。由于组件对象模型之间交互的规范不依赖于任何特定的语言,因此COM技术也可以作为不同语言协作开发的一种标准。

其次,COM技术采用组件化的设计结构,不仅继承了组件易于定制和升级灵活等优点,而且引入面向对象的思想,规范了组件之间的通信接口。在COM规范中,COM对象和接口是两个非常活跃的元素,一个COM组件通常是包含一个或多个COM对象,而在COM对象上则可实现多个接口。COM规范采用客户/服务器通信模型,客户端总是先创建服务器对象,然后获得对象上的接口进行通信。

此外,COM规范还具有语言无关性、进程透明性和对象的可重用性三个非常重要的特性。

2.2分布式COM(DCOM)

DCOM是COM在分布式环境下的扩展,它可以支持不同计算机上组件对象与客户程序之间或者组件对象之间的相互通信,这些计算机可以是在局域网内、广域网内,甚至通过Internet进行连接。对于客户程序而言,组件程序所处的位置是透明的,DCOM扩展了COM的位置透明性。因此,无论是本机上的组件程序,还是网络上的组件程序,3在客户端都可以采用同样的方式进行访问。

DCOM作为COM的扩展,它不仅继承了COM,由于其本身应用环境的不同,还提供了一些新的特性,包括:网络安全性、容错性、跨平台调用等等。从COM转到DCOM,并不仅仅意味着客户程序与组件程序通信线路的加长,而是协作运行的环境彻底地发生了变化。

3、OPC技术概况

OPC协议中包括了数据访问规范、报警和事件规范、历史数据存取规范、批量过程规范、OPC安全性规范、数据访问标准的测试工具、过程数据的XML规范、数据交换规范、命令规范、公共I/O规范、合成数据规范等。

3.1OPC对象及接口

3.1.1OPC对象结构

OPC服务器对象用来提供关于服务器对象自身的相关信息,并作为OPC 组对象的容器。

OPC组对象除了提供关于组对象自身的相关信息外,还提供组织和管理项对象的机制。OPC组对象提供了OPC客户程序用来组织数据的一组方法。此外,OPC规范定义了两种组对象:公共组和私有组。公共组由多个客户共享,局部组只隶属于一个OPC客户。全局组对所有连接在服务器的应用程序都有效,而私有组只能对建立他的CLIENT有效。这一特性类似于C++程序中的全局对象与局部对象的区别,便于公共数据共享与私有数据的保护。

OPC项对象至少包括值(Value)、品质(Quality)与时间戳(Time Stamp)三个变量。此外,要注意OPC项对象仅代表了OPC服务器到数据源的一个物理连接,它本身并不是数据源,仅仅是数据源的一个地址索引。最后,OPC数据项不能被直接访问,而是要通过OPC组对象提供的接口进行访问,这样就避免了直接对数据项的操作,增加了系统的安全性。

3.1.2OPC接口结构

OPC规范定义了定制接口与自动化接口两种接口,如图2: 

其中定制接口多为用C++语言编写,实现功能的可定制,由于其编程语言的特性决定其运行效率高但开发难度大,同时要求开发者必须掌握COM的开发知识。而OPC规范明确规定此种接口是必须要实现的。而自动化接口的开发不要求开发者懂得COM技术,使得程序员可以从底层的COM开发中解脱出来,将精力集中在应用程序功能的开发上,大大加快了OPC应用程序的开发进度。

标准的服服务器对象与组对象接口结构如图3:

自动化客户通过使用WrapperDLL,访问OPC DA服务器。WrapperDLL在客户端进程内调用,将服务器提供的定制接口与客户端要求的自动化接口进行协议转换。

3.2OPC技术特点

OPC技术之所以能引领工控领域数据通信的发展方向,主要是由几下几点决定:

1)OPC技术采用了标准的Windows体系接口,这样既有利于硬件制造商,也有利于软件开发商。硬件制造商为其设备提供的接口程序的数量减少到一个,软件开发商也仅需要开发一套通讯接口程序。

2)可以将各个子系统从物理上分开,分布于网络的不同节点上。因为OPC规范以OLE/COM/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议。

3)可以使用户完全从底层的开发中脱离出来。因为OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性。

4)可以使系统的应用范围更广。因为OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置,使得系统的应用范围更广。

5)提高了系统的可维护性。因为采用OPC规范,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。

6)实现了系统的开放性。因为OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。

3.3OPC XML-DA协议标准

OPC XML-DA规范采用基于XML(eXtensible Markup Language)的Web Service技术,Web Services 是一套基于XML进行分布式数据交换、服务调用的标准,它定义了应用程序如何在Web上实现互操作性,是建立可互操作的分布式应用程序的平台。此外,它还定义了数据表示(XML)、消息交换(SOAP)、服务描述(WSDL)、服务发现与发布(UDDI和WS-Inspection)等相关组成部分。Web Services的最大优点就是它在Internet上的无障碍传输。

Web Service提供了通过网络直接获取各种服务的接口,并通过标准的网络协议提供给网络用户,在Internet上任何节点、任何平台上的应用程序只要符合Web Service的标准都可以从它的公共接口获取服务,使得不同的应用程序在Internet上共享和交换数据变得更加容易。其基本结构如图4:

5OPC UA技术

随着网络技术的迅猛发展和企业管理系统对互操作性要求的提高,基于COM技术的OPC标准开始无法满足要求,主要体现在以下三个方面:

1)缺少跨平台通用性。由于COM技术对Microsoft平台的依赖性,使得基于COM的OPC接口很难被应用到其它系统的平台上。

2)较难与Internet应用程序集成。由于网络防火墙会过滤掉大多数基于COM传输的数据,因此基于COM的OPC接口无法与Internet应用程序进行正常的交互。

3)较难与企业应用程序连接。企业应用程序(如ERP)需要实时的工业现场数据,这些数据通常来自OPC服务器。但是这些上层的应用程序缺少与OPC服务器交互的接口,因而不能进行通信连接,无法满足企业更高层次的需求。

为了解决以上问题,OPC基金会提出了OPC UA标准。OPC UA(OPCUnified Architecture),顾名思义就是指OPC的统一架构,OPC UA在功能上集成了Data Access、Alarms and Events、Commands、Historical Data Access、Batch、Data Exchange的功能。实质上就是对OPC DA功能上进行了扩展,将多种功能接口集成在同一平台上。

OPC UA不仅完成了设备之间现场级的整合,而且完成了企业级的垂直整合。它不仅可以为设备之间提供快速的数据通信,同时也可以为企业大型管理系统提供可靠的数据支持。

6结束语

随着OPC协议的逐步完善,越来越多的国内外厂商给予了高度的重视, 很多公司都在原来产品的基础上添加了对OPC协议的支持,它的应用范围会越来越广。由于OPC协议统一了数据访问的接口,使控制系统进一步走向开放,实现信息的集成和共享。而且OPC协议技术改变了原有的控制系统模式,给工业自动化领域带来了勃勃生机,也给国内系统生产厂商提出了一个发展的机遇和挑战。

参考文献

[1] OPC Data Access Specification2.0[S].OPC Foundation,2002.

[2] 朱海涛.OPC规范在Internet实时监控系统中的应用[D].北京:中国石油大学工程,2006.

[3] VU VANTAN,DAE SEUNGYOO, and MYEONGJAE YI. Modern Distributed Data Acquisition and Control Systems based on OPC Techniques[C].Proceedings of the 14th Annual IEEE International Conference.

[4] OPC Foundation.Data Access Custom Interface Standard Version 2.04[S].2000.

[5] OPC国际基金会中国办事处.OPC技术综述[M].北京:OPC国际基金会中国办事处,2001.

[6] 姚望舒.OPC服务器开发[D].昆明:昆明理工大学,2001.

[7] 郑立译.OPC应用程序入门[M].日本OPC协会,OPC(中国)促进委员会,2002.

[8] OPC XML DA Specification1.0[S].OPC Foundation,2003.

OPC技术在高炉数据采集中的应用 第4篇

OPC全称是Object LinkingandEmbedding (OLE) forProcess Control, 它是近年来出现的一种针对现场控制系统的工业标准, 它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。OPC标准基于M icrosoft的OLE/COM和DCOM技术, 包括了自动化应用中的一整套接口、属性和方法, 为工业控制领域提供了标准的数据访问机制, 是当今过程控制领域的一种非常流行的数据交换技术。在过去, 为了采集现场设备的数据信息, 软件开发人员需要针对不同PLC编写专用的接口函数。由于现场设备种类繁多, 给软件开发者带来了巨大的工作负担。OPC标准的建立有效的解决了这个问题, 当监控系统需要与数据源进行数据交换时, 软件开发者可通过OPC提供的接口, 与不同厂商的硬件建立通讯, 而无需针对不同硬件开发驱动程序。

2 首钢京唐钢铁公司高炉基础自动概况

首钢京唐钢铁公司一期投产两座5500m3大型高炉, 设计年产铁水898.15万吨。高炉一级控制网络采用环形拓扑结构, 控制系统PLC采用不同厂家多种型号, 炉前控制系统采用西门子S7-400, 上料采用罗克韦尔1756-L63, 除尘系统采用L35C, 电气设备多采用施耐德系列PLC, 因硬件厂家较多, 若用传统方法实现底层实时数据的自动采集, 将给开发人员带来较大的工作负担。因此, 我们选择了基于OPC技术的数据采集方案, 用VB开发客户端程序, 实现了对生产实时数据的自动采集。数据采集、传输过程如图1所示:

3 运用OPC技术实现对现场数据的采集

OPC Server共分为三层:分别是OPCServer, OPCGroup, OPCItem其中每一个OPCItem对应到一个实际的硬件装置上的点, 并存储具体Item的定义、数据值、状态值等信息;每一个OPCGroup则包含了许多的OPCItem, 同时并定义这些OPCItem更新的时间、方式, 并用于返回OPCItem类对象;而每一个OPCServer则包含若干个OPCGroup, 通过它获得其他对象和服务的起始类。

3.1 引用组件

安装完OPCserver后, 运行VB选择“工程”菜单中的“引用”, 在组件列表中选择相应的组件, 点击确定。

3.2 建立OPC对象并连接服务器

定义对象

PrivateWithEventsM y OPCServerAsOPCServer

PrivateWithEventsM y OPCGroupAsOPCGroup

创建OPCServer对象并连接OPCserver

Set M y OPCServer=New OPCServer

M y OPCServer.Connect"KEPw are.KEPServerEx.V4"

创建并命名OPCGroup

SetM y OPCGroup=M y OPCServer.OPCGroups.Add ("M y OPCData")

3.3 添加标签变量

3.4 断开连接

当客户端程序退出时需断开OPC连接, 具体代码如下:

4 结论

本文设计的基于OPC技术的高炉数据采集方案, 已经在首钢京唐钢铁厂高炉数据采集中得到应用。应用结果表明, 基于OPC技术的高炉数据采集方案运行良好, 具体表现三个方面:1) 兼容性强, 系统可支持不同厂家的多款PLC, 在配置OPC服务时只要选择相应的厂家、型号即可;2) 系统可移植性强, 客户端程序涉及到的各种类、函数可通用, 代码重用性高, 系统开发效率得到很大提高;3) 系统可扩展性强, 在数据采集客户端增加、修改、删除采集点只需在OPC上配置后, 并在客户端做相应的修改即可。

基于OPC技术的高炉数据采集系统投入后, 对生产调度、炉况判断、炉况调节起到了重要作用。

摘要:本文以首钢京唐钢铁厂高炉数据采集系统为背景, 提出了基于OPC技术的数据采集方案。文章介绍了OPC技术的原理及特点, 并结合数据采集实例说明了运用OPC采集数据的具体实施过程。实践表明, 本文提出的数据采集方案很好的解决了高炉生产过程中的数据采集问题。

关键词:OPC,数据采集,大型高炉

参考文献

[1]王正光, 周忠英, 侯伯亨.数据采集与处理.国防工业出版社.

[2]石希博, 刘宁.基于OPC的炼铁高炉数据管理和自动报表系统.科技情报开发与经济.

雨淑缇神奇抗氧OPC(二) 第5篇

OPC与肝脏

肝气具有疏通、条达、升发、畅泄等多种综合生理功能,主要表现在调节精神情志,促进消化吸收,以及维持气血、津液运行三方面。雨淑缇OPC软胶囊,可以很好地保护肝脏,修复乙酰氨基酚诱导的肝损伤,减低乙酰氨基酚对肝脏的毒性,显著抑制肝细胞的凋亡和坏死。同时,明显降低酒精对肝脏的损伤。

OPC与胆

胆居六腑之首,其生理功能是贮藏和排泄胆汁,且胆汁直接有助于食物的消化。OPC软胶囊能够降低胆固醇,而且OPC还会和胆囊中的胆固醇结合排出,从而稀释胆汁,有预防胆结石的效果。

OPC与脾

人出生后其生命活动的维持和气血津液的生化,都有赖于脾胃,故称脾胃为“气血生化之源”、“后天之本”。食物经脾、胃消化吸收后,需赖于脾的运化功能,才能将水谷转化为精微物质,并依赖脾的转输和散精功能,使五脏六腑、四肢百骸等各个组织、器官得到充足的营养,以维持正常的生理功能。如脾气虚弱失去统血的功能,则血不循经而溢于脉外,可出现某种出血症,如便血、皮下出血、子宫出血等。OPC能有效防止有害化学物质对人体正常细胞的毒害,明显减轻有害物质对脾的损伤。

OPC与肺

肺叶娇嫩,不耐寒热,易被邪侵,故又称“娇藏”。肺是体内外气体交换的主要场所,人体通过肺,从自然界吸入清气,呼出体内的浊气,从而保证新陈代谢的正常进行。肺还有主持并调节全身各脏腑组织器官之气的作用。肺有节律地一呼一吸,对全身之气的升降出入运动具有重要的调节作用。OPC是一种植物性化学成分,能够有效对抗空气污染与吸烟的伤害,保护肺部功效,同时也是非常有效的抗炎剂,有效治疗气喘等炎性疾病。

OPC与肾

由于肾藏有“先天之精”,为脏腑阴阳之本,生命之源,故称为“先天之本”。肾所藏之精包括“先天之精”和“后天之精”。“先天之精”禀受于父母,与生俱来,有赖于后天之精的不断充实壮大;“后天之精”来源于水谷精微,除供应本身生理活动所需外,其剩余部分则贮藏于肾,以备不时之需。当需要时,肾再把所藏的精气重新供给五脏六腑。故肾精的盛衰,对各脏腑的功能都有影响。OPC对肾脏有一种特殊的亲和力,可帮助强化肾小球(肾脏中的过滤系统部分)内较为脆弱的微细血管。

OPC与胃

OPC数据采集 第6篇

OPC即Object Linking and Embedding for Process Control, 是用于过程控制的OLE, 它是一个工业标准, 是微软公司OLE技术在过程控制方面的应用。它以OLE/COM/DCOM技术为基础, 采用客户/服务器模式, 它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。

数据访问的传统方式, 一般是通过智能设备与控制系统软件之间或智能设备之间的有关共享信息的驱动程序来得以实现的。由于不同的软件开发商需求各不一样, 由硬件的供货商开发的驱动程序, 不能达到所有的软件需求。这样引起以下几个方面的问题: (1) 重复的开发造成资源的浪费; (2) 造成个厂商之间的驱动程序的不同; (3) 对硬件特征的变化不支持; (4) 由于有相互独立的驱动程序, 两个应用程序如果同时对同一设备读写会发生冲突。硬件开发商可以开发不同的驱动程序的方法来解决这一问题, 但对不同的现场设备, 要开发相应的自定义接口, 软件开发和维护及其不便。而系统控制软件或智能设备升级后, 可能引起存取冲突, 影响系统的正常运行。

为解决上述的实际工程问题, 产生了OPC技术, 它提供了一种通用的数据读取的方式, 它不仅可以使用户任意选择品牌的软硬件来满足自己的需求, 同时, OPC技术还提供了接近实时数据库要求的数据格式, 其在稳定性与实时性方面都优于DDE方式。OPC技术包含一整套的接口、方法和属性的标准集, 给用户提供用于工业自动化应用和过程控制。对复杂数据的规范OPC技术的实现一般由两个部分组成:OPC客户应用、OPC服务器。收集现场设备的数据信息由OPC服务器来完成, 再通过OPC接口, 传送给OPC的Client程序。通过标准的OPC接口, OPC客户端能够接收所需的数据信息。在不同需求的实现过程中, 用户可以根据自己的实际需要, 选择规范来使用。

OPC接口和规范。OPC规范中, 规定了OPC服务器的两种相互独立COM对象和接口:定制接口 (Custom Interfaces) 和自动化接口 (Automation Interfaces) 。规范中OPC服务器必须提供定制接口, 可选的是自动化接口。定制接口描述了OPC组件、对象的接口和其中的方法, 为C/C++语言设计的OPC客户程序提供高效的调用方法。自动化接口则是基于OPC技术的一个DCS系统数据实时集成接口, 它是自动配置和存取过程控制数据的进一步封装了的自定义接口, 自定义接口中虚函数表被屏蔽, 将自定义的接口变换为自动化接口, 为VB等高级语言客户程序带来极大的便利, 相比定制接口相比, 传输数据的效率要低。

OPC数据存取机制, 是通过定制化或自动化的接口, 建立发送和接收和OPC服务器间的数据。OPC服务器提供定制化的接口, 并根据需求有选择地执行自动化接口。 (图1) 所示为典型的OPC体系结构。

OPC客户端的数据源, 分别采集自OPC服务器缓存区或现场设备;从缓存区读取数据速度比从自动控制设备读取要快, 在故障诊断或特殊的情况下才会从现场设备读取数据。同步读取是从缓存区或现场设备读取数据;而数据订阅、异步读取数据的方式是直接从自动控制现场设备读取。OPC客户程序采集数据的方式有同步读写数据;异步读写数据;订阅式访问三种。

2 OPC技术在Delta V中的应用

Delta V支持的OPC Server随着不同版本也略有变化, 最新遵守OPC2.x规范, Delta V系统有两种类型的OPC Server.其中Delta V OPC Data Server用于传送过程数据、软硬件的运行状态以及控制参数等;而事件报警服务器 (Delta V OPC Events Server) 用于传送事件信息, 如安装组态和过程报警信息等。Delta V系统运行时, 由AI (或DI) 功能块在每个控制周期先从OPC实时数据库取得现场实时数据, 经过控制运算功能块进行控制运算后, 再由AO (或DO) 功能块控制输出OPC实时数据。在一定的扫描周期内, Delta V OPC驱动接口程序顺序地将实时数据传送到Delta V OPC数据服务器。由OPC数据服务器再把控制数据输出, 以实现对现场设备的控制。Delta V系统还提供了无缝通讯连接的软件OPC Mirror, 用于无缝通讯连接不同厂商间符合OPC技术标准的多控制系统。通过OPC Mirror, 各厂商间OPC Server可以实现数据通讯。OPC Mirror在多控制系统中连接OPC服务器, 可实现数据在系统间得双向传输。开发OPC客户端获取DCS实时数据。

(1) 建立新工程或项目, 单击“工程”菜单并选择“引用”, 点击弹出窗的“浏览 (B) ...”并选择OPCDAAuto.Dll文件, 要在程序中创建服务器对象, 必须先引用此Dll文件, 并勾选OPC Automation 2.0, 点击“确定”按钮。

(2) 首先定义全局变量:在代码的通用部分中, 定义OPC对象变量, 这样就可以在窗体的其他方法的编程代码内应用。在通用部声明, 要用“Option Explicit”语句, 以显式声明模块里的所有变量;这样在编译时, 会检查变量名, 如果有变量未声明, 会提示错误。另外, 而系统默认的数组索引从0开始, 而OPC自动化接口却要求必须从1开始, 因此要在代码加上“Option Base 1”语句。并且, 为可以响应事件, 必须在声明的对象中加上“With Events”语句。

(5) OPC同步读取

定义同步读取值为可变数据类型, 然后定义服务器句柄数据类型。

Sync Item Server Handles (1) =Item Server Handles (Index+1)

'取得服务器句柄

(6) 断开OPC服务器:在退出OPC客户应用程序前, 要先断开OPC服务器, 否则正在使用的计算机资源不会被服务器释放, 这样的情况反复出现, 会造成自动控制系统计算机资源枯竭的严重后果。

3 结语

本文介绍了OPC接口规范和OPC技术在Delta V中的应用, 通过VB编程的一个实例, 以OPC客户端连接OPC服务器读取现场实时数据。随着OPC技术的不断发展成熟, OPC客户程序高复用性, 大大减少了软件的开发周期和不同驱动程序间的冲突的可能性, 得到很多软、硬件厂商的大力支持, OPC接口的统一将使自动控制系统更加开放。

摘要:OPC技术规范能够实现自动化系统之间的互操纵、无缝集成和现场过程控制设备的即插即用, 给软件和硬件生产厂商以及终极用户带来极大的便利。本文介绍了OPC接口和规范, 并利用该技术实现了对DeltaV系统的实时数据连接。实际应用中运行稳定, 效果良好。

利用OPC功能实现装置间数据共享 第7篇

阳煤集团淄博齐鲁第一化肥有限公司主要有尿素与辛醇两种最终产品, 配套装置有造气、净化、PSA、合成氨、合成压缩、普利森、尿素压缩、尿素主装置、辛醇压缩、辛醇主装置等。现造气装置由浙江中控ECS100系统的四对控制器控制, 净化、合成氨和辛醇二期PSA两装置由横河CS3000系统两对控制器控制, 尿素PSA及辛醇一期PSA两装置由浙江中控ECS100系统的两对控制器控制, 普利森由浙江中控ECS100系统的一对控制器控制, 辛醇压缩由浙江中控ECS100系统的一对控制器控制, 辛醇主装置由横河CS3000系统两对控制器控制, 这9套装置因生产需要皆有大量数据须实现共享。在2011年度检修期间, Honeywell TDC3000需进行更新改造, 原先的共享模式需打破, 利用OPC功能很好地解决了该问题。

1 原系统构成及共享方式

原造气、净化、PSA、普利森、辛醇压缩皆由浙江中控ECS100系统控制, 它们间的数据共享由ECS100系统控制器间通过消息传送来实现, 合成氨、合成压缩、尿素主装置、辛醇主装置与它们的数据共享通过系统间的硬点连接实现。

浙江中控ECS100系统将五套装置的控制器在SCnet II网络层通过光纤进行互连, 形成互为冗余的两条网络, 如图1所示 (以造气与净化两装置为例) 。

异型系统间因共享数据量较少靠硬点连接实现数据交换, 如Honeywell TDC3000系统将要传出的模拟量做量程处理后送一模拟输出点, 数据由该模拟输出点送出, 在浙江中控ECS100系统做一量程相同的模拟输入点将其接收。

浙江中控ECS100系统在发送端取数据组成消息, 发送消息;接收端接收消息将消息, 并分解后将不同类型的数据赋值给相应类型的变量。发送消息、接收消息、程序分别如图2、图3所示。

2 现系统构成及共享方式

因Honeywell TDC3000系统已到报废期且故障率明显增高, 利用2011年度检修将其更新为横河CS3000系统, 用于控制净化、合成氨及新上辛醇二期PSA装置。造气/净化两装置原先皆由浙江中控ECS100系统实现控制, 大量的数据共享靠同系统控制器间消息传送实现;现属异型系统间数据共享, 且数据量较多, 靠原先的硬点连接方式既浪费系统资源, 又带来两系统逻辑共地问题, 为系统的可靠运行埋下隐患。为此, 采用OPC功能来实现异型间数据的通信, 达到共享的目的。

具体方案:造气、尿素PSA、普利森、辛醇一期PSA、辛醇压缩五装置皆为浙江中控ECS100系统控制, 故保持原共享方式 (控制器间消息传送) , 而其与净化、合成氨及辛醇二期PSA的数据共享 (即与横河CS3000系统的通信) 由OPC功能实现。

将造气与普利森需外送数据通过原通信方式集中到普利森装置控制器上, 在该系统操作站上安装中控OPC服务器软件包将数据开放, 并将自主开发的OPC客户端安装于本地, 通过该客户端将共享数据写入横河CS3000系统对应控制器实现每台操作站皆能监视。而净化、合成氨及辛醇二期PSA需外送的数据 (在横河CS3000系统上) 由横河操作站上的OPC服务器将数据开放, 再由造气装置ECS100系统操作站通过二次计算点 (取OPC数据形成) 显示。辛醇主装置与净化、合成氨及辛醇二期PSA的数据共享靠安装在辛醇主装置横河CS3000系统操作站上的OPC客户端实现, 客户端连接的两端操作站上都必须安装横河OPC服务器软件包将数据开放。

3 系统数据共享的实现

3.1 OPC客户端

在普利森装置ECS100系统操作站及辛醇主装置CS3000系统操作站上安装的OPC客户端采用Dephi语言开发, 所连接服务器名、变量都写入一配置文件, 该配置文件可通过文本编辑器编辑, 以便于日后根据工艺要求改变作调整。OPC客户端界面如图4所示。

造气装置ECS100系统操作站上二次计算点建立时调用其内嵌的OPC客户端, 如图5所示。

3.2 OPC服务器

(1) OPC服务器软件需单独安装, 安装完后需单独启动, 且软件需要指定组态文件路径用作配置文件, 在数据读写过程中OPC服务器软件不能退出。参数设置界面如图6所示。

OPC数据采集 第8篇

在烧结生产中, 工艺师对于产品以及原料的的化学成分及其物理特性的掌握和控制, 决定了最终产品的质量, 因此烧结生产中对于数据的采集和汇总至关重要。

某烧结厂利用OPC接口技术实现了Siemens Wincc组态软件与其他应用程序之间动态数据的交换, 各级管理网从控制网上实时地获取工艺生产过程数据, 并对数据信息进行分析、加工, 最终生成和打印各种形式的报表, 指导生产高效有序的进行。利用PC机丰富的软件资源扩充了工控软件的功能, 提高了软件开发的灵活性, 并且降低了成本, 特别是给出了基于OPC的自动化接口和COM接口的客户端软件开发的实现方法, 为企业生产管理信息化打下了基础。

2 应用方式

OPC (OLE for Process Control) 是Microsoft公司的对象链接和嵌入OLE/COM技术在过程控制方面的应用, 为工业控制领域提供了标准的数据访问机制。OPC作为硬件和软件之间的一个中间件, 解决了异种设备之间通讯难的问题, 为工业数据通讯提供了一种标准。OPC规范包括了自动化应用中使用的一整套的接口、属性和方法的标准, 该技术完全支持分布式应用和异构环境下应用程序之间软件的无缝继承和互操作性。它使设备层、自动化层以及信息层之间的协同工作成为可能, 并且提供了工业自动化应用的统一数据传输平台, 使异构系统之间的数据交换更为方便, 是实现控制系统开放性的关键技术。

WinCC是西门子公司在自动化领域采用最先进的技术与微软公司在共同开发的居于世界领先地位的工控软件, 是一个功能强大的全面开放的监控系统, 既可以用来完成小规模的简单的过程监控应用, 也可以用来完成复杂的应用。它集成的OPC服务器使得过程数据可由其它应用程序 (OPC客户机) 访问, 从而很容易的组成一个完备的上位机管理系统, OPC服务器使用WinCC变量提供所需要的信息至OPC客户机, 本例就是基于OPC数据存取规范 (版本2.0) , 利用VBA编程技术实现Excel (OPC客户端) 对WinCC OPC服务器数据的读取。

3 网络

本项目生产管理与过程控制系统构成如下图所示:

本项目包含了生产管理层和现场控制层两个层次以及网络拓展层, 拓展层则是为了以后的生产管理信息化留有接口。利用OPC技术不仅可以实现现场设备层与过程监控层之间的信息交互, 还可以把它们与PC机的一些通用开发平台和应用软件平台链接起来, 如VB、excel等, 在各工艺段的办公电脑上, 根据工艺管理人员实际需要通过编程制作成可以实时读取Wincc画面的数据的衍生软件, 并且自动完成数据汇总的工段日报表, 下图为配料工艺段报表测试界面:

4 代码编程

本系统中WinCC作为OPC服务器, excel程序作为OPC客户端, 程序采用自动化接口以同步方式与OPC服务器进行通讯, 以下为部分程序代码:

打开EXCEL激活宏。运行的界面, 在服务器名称中输入相应的计算机节点名称, 点击“启动OPC客户端”。就能得到相应的数据, 这里需要注意的是excel启动宏之前先启动WINCC运行。

5 结束语}

本系统已在该项目中得到成功的应用, 其灵活多样的界面、简单可靠的操作、方便快捷的组态、较高的性价比, 取得了良好的效果, 特别适合一些中小企业, 深得用户满意。

参考文献

[1]江智军, 何小斌.企业管控一体化系统数据交换方式的研究[J].工业控制计算机, 2003, 16 (9) ;25-27.

OPC数据采集 第9篇

随着海洋环境观测系统中数据采集实时性和智能化管理要求的不断提高,以往单纯依靠人工进行后期数据管理和分析的方式已经难以满足要求。但是由于海洋行业的特殊性,海洋观测系统中各现场设备种类繁多,而且部分设备是自主研发的,这些设备与上位机软件之间通信时一般需要依据不同的数据交换协议,开发特定的驱动程序,因此在系统中往往存在着驱动程序的重复开发、适用度低等问题。

本文针对海洋环境观测中现场设备的现状和海洋观测技术的发展趋势,提出了将OPC技术应用于海洋环境观测平台中,利用统一的接口技术实现现场设备和上位机监控软件、监控软件和数据分析软件之间的通信,提高了海洋观测系统传输和管理数据的效率。

1 OPC技术概述

OPC( OLE for Process Control) 就是在工业控制系统中采用OLE,OPC的实质是定义了一套完整的“规则”,在这套“规则”的前提下,在不同的程序或设备之间的数据交互是透明的。OPC采用Client/Server模式,Server是数据的提供方,Client是数据的使用方,OPC作为软件接口的标准,用于连接数据源和数据的使用者,这和COM理论中Server/Client模型是一致的,OPC以COM理论为基础,实现了代码上的低相关性,很大程度上能够提高软件使用率。OPC将功能的实现进行封装,规范了接口函数,能够忽略现场设备的存在形式,统一采用调用接口的方式实现客户应用程序从现场设备读取数据的功能。

OPC技术不断改进和提高,它不再局限于工业控制的底层[1]。在工业应用系统中,OPC Server既可以与同一台计算机上的本地OPC Client程序实现数据交互,也可以在局域网络中不同计算机上的OPC Client程序交互; 既可以通过OPC标准接口实现现场控制设备与上位机的通信,将设备的原始数据提供给作为数据使用者( OPC客户程序) 的HMI等应用程序; 也可以通过OPC将不同的应用程序进行连接通信[2,3,4]。

OPC是基于Windows的软件程序,效率高速度快,具有更好的适用性和高效性,海洋观测系统中采用OPC技术能够给海洋系统的数据信息管理建设带来新的突破。

2基于OPC的海洋环境观测和分析系统的设计

海洋环境监测系统一般是在监控站点安装各种数据采集设备,比如各种传感器、浮标观测设备、雷达观测设备等各种数据采集子系统,各子系统将数据汇集到管理监控中心,交由监控中心对数据进行集中管理和分析。

本设计将OPC标准接口协议应用与海洋观测系统,实现一个集数据采集、传输、监测和分析为一体的OPC架构海洋环境观测系统。本系统中,采用三层结构进行设计: 将各站点的观测设备作为系统的数据采集层,将上位机Kingview监测中心作为中心控制层,将MATLAB等数据处理程序作为后台数据分析层。系统的核心在于: 一是利用OPC技术实现组态王与数据供应方( 各站点设备) 之间的无障碍通信,二是用数据通过OPC标准接口提供给数据调用程序,即实现组态王与数据处理程序之间的通信。海洋环境观测系统结构如图1 所示。

海洋站点各观测设备是该系统的数据源。海洋系统中数据采集设备种类繁多,以往需要开发不同的软件接口以实现数据采集设备与上位机的通信,工作量极大。采用OPC技术,可以实现运用单一的通信方式,完成不同设备通信接口的统一。由于各设备不是由统一的厂家生产出来的,对数据格式定义和数据的传输协议都可能不同,需要借助OPC Server接收不同格式的数据,并把数据以统一的格式分类包装保存到本地。OPC Server能够给组态王监控中心提供标准的访问接口,实现数据采集层和监视控制层的连接。这一步是建设和实现海洋观测网的核心,它的性能直接决定海洋观测网的性能。

在海洋信息监控网络中,很多情况下需要利用数据分析软件对上位机接收到的数据进行分析处理,常用的数据分析软件主要有MATLAB,Mathmatica和Maple等。利用OPC技术,在监控软件和数据处理软件之间提供统一的访问接口,建立统一的数据交换访问机制,就可以方便地实现数据处理软件和监控软件之间的数据调用。Kingview与数据处理软件之间的通信过程图如图2 所示。

总之,利用OPC Server/Client模型,能够通过统一的数据访问机制,将各数据采集系统、各种上位机软件和程序集成,数据传输率大,实时性强,且在设备的更新升级时整个系统不受任何影响,不需要重写开发接口程序。

3 实验仿真

传感器是海洋环境数据采集层使用最普遍的设备,本实验利用多个传感器设备采集海水的温度、盐度和电导率等基本海洋数据,并采用OPC通讯方式将采集到的信息发送上位机组态王软件,同时利用MATLAB数据处理软件对采集到的信息进行分析处理。

利用OPC技术,实现海洋站的温度传感器、盐度传感器、电导率传感器等基础设备与上位机监控软件组态王之间的数据传输,利用组态王良好的人机交互界面对海洋站点设备采集的数据信息进行实时的展示。传感器数据实时监测界面如图3 所示。

MATLAB是Math Works公司开发的科学工程计算软件,它是最常用的数据分析软件,基本能够满足海洋环境数据处理的要求,因此本实验中采用MATLAB作为数据分析和处理程序。在MATLAB7. 0 版本中提供了方便进行OPC操作的OPC工具箱,能够更加简单地实现MTALAB与其他支持OPC数据访问标准的程序进行连接通信,实现OPC数据的读写和记录[5]。MATLAB与组态网成功连接图如图4 所示。

海水的温度、盐度盐与电导率是海洋水文最基本的信息,其中海水温盐与电导率之间存在着一定的数量关系。

可以得到海水盐度的计算公式为:

其中,Rt是海水在15℃时测得的海水的电导率,S0是15℃时的海水盐度,ΔS是海水温度为t时海水盐度的相对增量值。

MATLAB根据接收到的海水电导率和温度的数据,根据公式(4)可以计算出海水盐度理论值,并与接收到的传感器直接采集的海水盐度数据进行对比。海洋站基本数据处理结果如图5所示。

4 结束语

本文通过对OPC技术的研究,设计了基于OPC标准接口协议的海洋环境数据观测与分析系统。实验结果表明,该技术能够在现有设备的基础上方便地实现海洋站基本数据信息的采集、监测和分析处理。不足的是,海洋观测网数据采集设备繁多,各种设备采集到的数据的存储格式各式各样,整个海洋观测网络的实现难度大。

参考文献

[1]LI Nan,XCJE Xiao-cun,WANG Iya-hai,et al.OPC technology summarizing[J].China Instrument,2009(1):5-7.

[2]ZOU Yun-tao,WU Chong-guang.OPC technology and its applicanon status in China[J].Automation in Petro-Chemical Industry,2013(6):1-5.

[3]GU Jian,WANG Jing-chum,HUANG De-avian.OPC:application of the COM technology in industrial automation software[J].Computer Engineer&Application,2012,30(6):207-209.

[4]崔嵩.OPC技术与分布式实时数据库在SCADA系统中的开发与应用[D].山东:山东大学,2014.

[5]郭永勇,潘存海,李军锋,等.Win CC监控系统中OPC通信及数据处理方法[J].制造业自动化,2014(3):98-100.

[6]徐高清,陈仲永,等.基于Lab VIEW和OPC技术的自动化智能化检测系统的设计[J].电子测试,2014(2):90-92.

[7]王祎,高艳波,齐连明,等.我国业务化海洋观测发展研究——借鉴美国综合海洋观测系统[J].海洋技术学报,2014(6):34-39.

[8]王诗文,张宁,沈智鹏,等.基于OPC技术的船舶机舱数据采集与监测系统[J].大连海事大学学报,2014(3):73-78.

OPC数据采集 第10篇

关键词:MATLAB,OPC技术,动态数据交换

0 引言

OPC全称是OLE for Process Control,它的出现提高了工业过程控制的开放性,为基于Windows的应用程序和现场过程控制应用建立了桥梁。改变了过去每个设备生厂商都要为设备编写大量的驱动程序,以适应现场设备的种类繁多和产品不断升级的现状。它具有高效性、可靠性、开放性、可互操作性,是即插即用的设备驱动程序,已成为当前解决工业控制系统数据通信和工业信息化的优选方案。

OPC以OLE/COM/DCOM技术为基础,采用客户/服务器(C/S)模式,为工业自动化软件面向对象的开发提供了统一的标准,这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发统一的OPC接口程序,而软件开发者可免除开发驱动程序的工作,专注系统集成,把更多的精力投入到其核心产品的开发上。这样一方面避免了开发的重复性,另一方面也提高了系统的开放性和可互操作性。因此,OPC实现了系统软件与硬件设备之间完全无缝集成和真正开放的通信,在过程控制领域的应用日益广泛。

MATLAB具有丰富的工具箱、强大的数据处理能力、灵活的程序设计流程、高质量的图形可视化与界面设计工具。MATLAB语言已成为当今自动控制领域中最具影响力、也最有活力的软件之一。

基于OPC技术和MATLAB强大计算功能的特点,实现以MATLAB为后台服务的模式构建实时监控系统,既能及时监视现场的实际情况,同时用户也可以利用MATLAB服务来处理这些实时数据,从而实现故障诊断、指挥调度、设备管理,和高级策略控制等功能。

1 系统整体设计

本文应用C/S模式构建系统。监控系统设计成三层结构,分别是监控层、中间层和现场数据层,如图1所示。

现场数据层位于整个监控系统的底层,主要是采集来自现场的设备数据,包括各种智能仪表、PLC设备、传感器、远程智能模块以及各种现场总线设备等物理设备。这些设备都为系统提供了OPC服务器程序,取得现场实时数据后,利用OPC服务器,按照统一、开放的数据标准,与现场设备或者企业局域网相连接,将数据送到中间层,供中间层的MATLAB使用,进行数据处理。

中间层主要是MATLAB服务和数据处理,主要通过OPC中间件给MATLAB服务器提供数据,OPC中间件和MATLAB服务器之间通信方式为COM/DCOM。OPC中间件可以把下层OPC服务器所提供的数据直接提供给MATLAB客户端使用,也可以送到MATLAB服务器进行数据处理和分析,最后送入监控层使用。直接送入客户端的数据主要是管理数据,主要是对现场设备及突发事件进行处理和管理,实现故障诊断和设备管理等;而MATLAB服务器的数据主要是用于计算和分析数据,用来给对象使用。在中间层,MATLAB对下层是OPC客户端,对于上层而言又是OPC服务器。起到数据采集与数据处理的双重作用。

系统的最上层是监控层,它和中间层的通信方式也采用OPC方式。客户机可以通过C++Builder所开发界面向中间层,MATLAB服务器发送请求,服务器接到请求后,将处理后的数据返回给客户端,并通过用户界面显示出来。

2 系统实现

2.1 建立MATLAB自动化服务器

本文使用MATLAB所提供的软件组件MATLAB COM Builder创建中间层MATLAB服务器。使用工程向导,用户可以比较容易地创建自己的组件,而且MATLAB COM Builder还能够自动完成程序的打包和发布等工作。这样用户就可以很容易地设计实现脱离MATLAB运行环境的独立应用程序,极大地提高了设计开发的工作效率。

MATLAB服务器组件有两个基本功能:一是通过COM/DCOM调用OPC中间件以获取实时数据,然后送到MATLAB服务器(对底层是OPC客户端)进行数据分析与处理;另一个就是将处理后的数据返回,以便供客户使用,必要时可以用图形、图表显示数据分析处理结果。本文以模糊控制为例,介绍基于COM技术在MATLAB中创建自动化服务器,所以从该功能看本文的设计只需要设计一个IFuzzy接口即可实现上述功能。该接口如图3所示。

可以为这个接口定义数个方法,同时使这个接口包含多个类属性和事件。类属性描述了对象的内部状态,它不受调用方法的影响,MATLAB COM Builder在编译工程的时候,自动将组成类的所有M文件所共享的全局变量,编译为该类的属性。在每个M文件中,这些全局变量用关键字global给予声明。同样,MATLAB COM Builder还具有事件处理与回调功能,在M函数中加入编译指令#event,以便实现这些功能的需要。加入这条编译指令后,MATLAB COM Builder就会为这个M函数创建一个函数存根(function stub)。当一个事件函数被调用的时候,它会将这个调用传递给客户端处理,响应来自COM服务器端的请求。而方法主要就是数据处理或者数据分析,在本系统中就包含数个用于模糊神经网络算法的方法,和事件处理函数。

2.2 中间层中间件设计与实现

系统中间层的中间件主要有两个功能:一是通过COM/DCOM调用现场设备提供的OPC服务器,获取实时数据,另一个就是把已经获得的数据送入MATLAB服务器进行数据的处理分析,然后把处理的数据提供给上层监控端,它们之间同样采用COM/DCOM通信方式。对于现场设备OPC服务器来说,OPC中间件是客户端,而对于访问OPC中间件的监控端和MATLAB组件来说,它又是服务器。

从功能上来分析OPC中间件,OPC中间件应该包含两部分,一是与MATLAB服务器之间的数据通讯,二是与现场OPC服务器之间的数据交换。

2.2.1 与MATLAB服务数据交换的实现

在C/C++中,数据类型可以任意定义,但是,在自动化对象的方法和属性中,则必须使用自动化所能兼容的数据类型。自动化对象使用的基本数据类型为VARIANT结构类型,其中SAFEARRAY类型正是我们所需要的,它可以用来描述各种数组。由于SAFEARRAY指定了数组的每一维的边界信息,所以可以说它是安全的,SAFEARRAY结构定义如下:

MATLAB服务与中间件之间的交互是系统的重要组成部分,它们之间的数据交换涉及到数据类型的转换和事件处理,其流程如图4所示。

OPC中间件使用C++Builder 6.0开发,把从OPC服务器获得的实时数据,进行数据转化后,送入MATLAB服务器进行分析处理,然后再把数据转化为用户可接受的数据,它们之间仍然是通过COM/DCOM方式进行通讯。转化形式为:

因篇幅原因略去具体程序。

2.2.2 与OPC服务器数据交换的实现

由于OPC服务器提供数据给OPC客户程序应用,与OPC服务器数据交换,主要实现创建OPC服务器对象、OPC组对象、OPC项对象及对各接口的成员函数访问,实现对数据的同步或者异步访问。其中主要使用的属性和方法如表2所示。

2.2.3 监控端与服务器之间的交互

从监控层来看,主要涉及数据监控界面、具体功能实现页面的组成等。监控界面主要是现场工艺的模拟显示、现场数据显示和现场设备状态显示等。本文以简单的水箱液位控制为例。从监控画面,用户可以实时了解现场设备运行状况。功能发布页面主要是将用户的信息请求发送给MATLAB服务器,然后执行用户请求,例如向MATLAB服务器发送数据处理请求,向OPC中间件发送监控页面各个图表控件所需要的数据请求等,按照设定的文本或图形显示所有数据;除此而外,还可以处理运行过程中的一些突发事件,进行报警和紧急处理等。图5给出了使用C++Builder 6.0开发的基于OPC技术的监控界面。

3 结论

基于OPC技术和MATLAB服务的监控系统具有良好的通用性,信息交换与共享能力强。利用OPC技术方便客户以统一的方式去访问现场设备,减少对硬件的依赖性,易于与其它系统实现集成。同时MATLAB优秀的计算能力,可以使用此方法把先进的控制算法方便地用于自动化工程中,从而用简单的方法完成许多复杂的控制任务。实践证明,此方法设计简便,经济、实用,具有较好的推广应用价值。

参考文献

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

[2]刘金琨.先进PID控制及MATLAB仿真[M].北京:电子工业出版社,2003.

[3]田丰,胡湘渝,吴成勇,等.C++Builder6.0COM程序设计[M].北京:国防工业出版社,2003.

[4]OPC Foundation.OPC Common Definitions andInterfaces V 1.0[R].1998

[5]OPC Foundation.OPC DataAccess CustomInterface Standard V2.05a[R].2002.

OPC数据采集

OPC数据采集(精选10篇)OPC数据采集 第1篇关键词:OPC技术,OPC服务器,数据通信,自动报表,VB0 引言为了更好地利用电能资源, 调整电网的...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部