英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
OPC客户端和多个远程服务器之间实时数据交换的实现与发展
摘要:OPC(过程控制OLE)的出现促进了过程控制和工业自动化方面的数据收集进程,同时制定了过程实时数据交换的标准。对针对控制系统中的多个OPC客户端连接多个远程OPC服务器和实时数据收集等关键性应用问题的OPC技术和多个远程OPC服务器的连接技术进行了详细的介绍和分析。多远程OPC服务器的体系结构是基于OPC技术和自动化接口来开发和分析的。同时OPC客户端应用程序是为了方便与多远程OPC服务器连接而开发的。多远程OPC服务器通信情况取决于测试软件的设计情况。因此OPC客户端可以校准并通过OPC服务器提供的接口获得过程数据。最后通过建立合适的系统结构,配置相应的环境变量并调用相应的测试软件程序,OPC客户端和多个远程服务器之间的实时数据交换就可以实现了。该方法已成功地应用于开发DCS I/O通信和控制环路误差测试软件,并提供了很好的性能。
关键词:OPC,多远程OPC服务器,OPC客户端,数据交换
正文:
第一部分 引言
面对工业控制技术的日益发展,OPC技术已经被越来越多的用户认可。OPC的全称是“过程控制对象的链接和嵌入(OLE)”,它的提出推进了数据采集应用和现场过程控制应用的发展。在过去,为了存储数据和现场设备的信息,必须由每个应用程序的开发人员编制专用的接口。然而,由于不同类型的现场设备、产品需要不断的升级,这给用户和软件开发商带来了巨大的工作量。通常它不能满足工作的实际需求。目前系统集成商和开发商迫切需要有一个效率高、可靠性强、开放性好、互操作性强的即插即用的设备驱动程序。OPC标准出现在这历史性的一刻。OPC标准基于微软的OLE技术,提供了一组OLE/COM接口的制定标准。OPC技术使用了OLE2技术。OLE标准允许更多的微型计算机之间进行文件和图形对象的传递。
在大规模的控制网络中,不同功能的网站将具备OPC通信功能,在多数情况下,用户需要收集来自不同功能网站的不同过程数据并进行相应的处理。OPC通信技术就是一种很好的技术实现方法。因此,OPC服务器已集成到组态监控软件,以有效的收集控制设备的处理数据。因此,在大型控制网络中存在多远程OPC服务器。
然而,针对如何同时收集OPC服务器的不同位点的过程数据的问题,多个远程OPC服务器之间的连接和数据读写是很重要的。对于OPC客户端的开发工作,如何使用应用程序来创建OPC服务器对象来进行不同OPC服务器的连接、创建OPC组对象来进行不同的读写功能、创建OPC项对象以采集不同OPC服务器缓存和设备的过程数据都是值得深入研究的内容。类似的问题还有如何保证OPC服务器和OPC客户端之间的协调工作,以避免同一个控制网络的数据交换过程中的错误。
第二部分 多远程OPC服务器
开发多远程OPC服务器的关键技术是OPC技术和自动化接口技术。多远程服务器的架构将在后面部分进行详细介绍。
- OPC技术
OPC是用于过程控制的对象链接和嵌入(OLE)的缩写。它是微软公司对象连接和嵌入式技术在过程控制方面的应用。在分布式系统中,OPC技术提供了组建交换和数据共享的完整解决方案。由硬件设备制造商提供的数据收集服务器程序可以匹配所有的硬件功能。客户端可以通过OPC接口与每个制造商的OPC服务器实现无缝连接。
OPC数据访问规范主要包括服务器端和客户端之间的实时数据访问,例如OPCDA规范定义了三个对象即OPC服务器对象(OPCServer)、OPC组对象(OPCGroup)、OPC项目对象(OPCItem)。
OPC服务器是OPC客户端开发的首要对象。在已经建立了良好的OPCServer的前提下,我们可以一个一个的建立OPCGroup和OPCItem。通过定义OPC对象和OPCServer提供的对象接口来实现与客户端的连接,数据交换功能之前已经实现。
- 自动化接口
自动化接口提供了一种用于界面配置和数据访问的接口。它是基于描述性编程语言的自定义标准接口,可以应用于使用OLE自动化服务器接口的VB工程创建的应用程序。当客户端要执行写命令时,由OPC基金会提供的名为“automatic wrapper”的动态链接库可以用来实现自动化接口和定制接口之间的转换。
OPC服务器主要与设备之间进行数据交换,包括大量的通信程序和数据存储程序,并给OPC客户端应用程序提供一定数量的数据接口。本文以WinCC OPC服务器为研究对象,其设备名称为“OPCServer.WinCC”。
- 多远程OPC服务器架构分析
在大型控制网络中,不同的控制站拥有自己的OPC服务器。一般的,应用程序需要进一步开发以实现实时数据采集和过程数据的存储,以及统一的监控、操作、分析和多站点过程数据比较功能的实现。具体的OPC客户端的开发需要能够实现多个已进行数据连接的远程OPC服务器之间的实时数据采集。
单个OPC客户端和OPC服务器进行点对点链接访问,结构如图1所示,控制站的每个OPC服务器分别开发OPC客户端应用程序,连接之后独立的收集数据,收集到需要被发送进行进一步处理的数据。
图1 多远程OPC服务器结构
以这种方式工作,工作方式复杂且程序繁杂。实验已经表明,该系统是不稳定的,应用负载较大时,数据传输会被阻断。
图2 多远程OPC服务器结构图
如图2 OPC客户端使用多点通讯通过工业开关进行局域网(LAN)中的OPC服务器之间的连接。该通讯结构简单,存储在OPC服务器的过程数据可以立即通过数据实时显示、分析和处理等操作被发送到OPC客户机。
第三部分 OPC客户端的发展
- OPC客户端的结构设计
连接多远程OPC服务器的OPC客户端应用程序需要具有合理的功能结构。多远程OPC服务器的连接需要相应的OPC服务器对象。根据这样的连接结构,建立相应的OPCServer对象和OPCGroups对象。创建OPCGroup对象需要在特定的数据信道进行。OPCGroup对象包含很多OPCGroups对象成员。OPC客户端具有读写OPC服务器的功能。为了保证OPC客户端的工作是比较合理、高效的,相应的OPCItems对象需要专为不同的操作功能单独创建。
多个OPC客户机的 基本结构如图3,根据不同的要求需要进行相应的调整。
图3 多个OPC客户机基本结构
- OPC客户端的发展
(1)OPC客户端应用程序是采用自动化接口、基于VB语言开发的。VB大力支持OPC技术的开发。OPC的相关属性和方法可在VB中通过调用“OPC DA自动化包装2.02”来实现。
对象资源管理器如图4所示:
图4 对象资源管理器
- 确定和建立OPC服务器是建立OPC客户端的基础。名为“Dim WithEventsServer1 As OPC Server”的语句可以实现OPCServer的定义。远程OPC服务器的连接需要编写程序ID,并且IP地址必须是OPCServer对象支持的“连接”地址。该声明是“Server1.Connect'ProgID', 'IP'”。OPC服务器名称和IP地址的顺序不能反向,否则OPC服务器连接将失败。
- 数据交换需要建立OPCGroups对象、OPCGroup对象和OPCItems对象才能实现。OPCServer对象包含OPCGroups对象的属性。OPCGroups对象可以基于所创建的服务器1通过调用“Set Groups1 = Server1.OPC Groups”的声明来确定。该OPCGroup对象的建立是基于OPCGroups对象的建立。OPCGroups对象提供添加OPCGroup对象的方法,调用语句“Add”,“Set Test Grp1 = Groups1.Add('WinCC _TestGrp')”。同样的方法来创建OPCItems对象,通过调用“Set Items1 = TestGrp1.OPCItems”语句来实现。
- OPCItem是数据传输的最小单位,是数据信息的载体。了解存储在OPCServer的服务器名称是很重要的。正确的服务器名称必须写在OPC客户端。如果OPCServer的OPCItem与OPC客户端不一致,则无法实现他们之间的数据交换。OPCItems提供添加OPCItem的方法,语句为“AddItem”,“Call fmMain. Items1.AddItems(8,strItemIDs,lClientHandles, Server Handles, lErrors)”。
- OPC客户端应该具备读写功能。OPCItem提供读写方法,语句为“TestGrp1 .SyncWrite 1, lHandle(),vtItem Data, lErrors”,“TestGrp1.Sync Readn Source1,8,l Server Handles1, vtItem Values1, lErrors1”。
- 为了合理的利用DCOM资源,在DCOM环境中应进行正确的设置,并且OPC客户端应用程序要具备断开OPCServer的功能。OPCServer对象提供断开OPC服务器的方法,调用“Server1.Disconnect”语句即可实现断开连接。
- OPC客户端的应用
OPC客户端可以连接多远程OPCServer,实时收集OPC服务器的过程数据,并由OPC 客户端写入OPC服务器。OPC客户机的应用程序如下图5所示,在数据传输过程中没有损失等异常现象。
图5 OPC客户机
OPC客户端改进之后可以同时连接多个OPC服务器,并且在OPC服务器向OPC客户端传输数据的过程中没有出现数据损失和异常。数据传输结果如表1所示。
表一 数据传输结果
第四部分 多远程OPC服务器的通讯情况
目前有必要开发DCS通讯测试软件来解决多远程OPC服务器通讯的问题,另外要定义能满足多远程OPC服务器通信要求的测试软件功能。
- 测试软件的发展
DCS升级需要增加I/O通信测试与控制总线通信测试的功能。DCS和硬件测试平台作为控制站独立工作。所有的控制站都为OPC服务器提供数据监控服务。DCS通信测试软件下一步应解决多远程OPC服务器通信的问题。因此,一套OPC客户端应用程序应能实现数据采集、DCS控制和硬件测试平台。
多远程OPC服务器体系结构如图6所示。两个多远程OPC服务器通过工业交换机相连,通过调用主计算机DCS通讯的测试软件,实现数据采集和控制。
图6 多远程OPC服务器体系结构
测试软件的研究和开发是基于西门子S7-300PLC和WinCC相结合的硬件控制所使用的测试ABB DCS系统。
系统结构设计如图7所示。
图7 系统结构图
DCS测试软件与硬件控制平台以及DCS建立了局域网。测试软件可以在同一时间连接由硬件平台提供的远程WinCC(ProgID: OPCServer. WinCC)和由DCS提供的AC800M(ProgID:ABB.AC800 MC_OpcDaSer-Ver.3)OPC服务器。它可以发送控制命令给两侧或获取两个控制器的实时过程数据。因此,它目前可以实现的三个测试功能如下:数字通信、模拟通信和数据误差控制回路。
- 测试软件功能介绍
测试软件的功能主要包括三部分,诸如设备控制,数据采集和处理和数据存储。详细介绍如下。
- 设备控制
设备控制的主要责任是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。这一部分,控制器通过发送控制命令直接控制硬件平台和由DCS支持的OPC服务器。
- 数据采集和处理
数据收集、也被称为数据采集,是一个能够通过使用一个装置来收集外部系统的输入数据并将其转换成内部体系的接口。数据处理包括数据的采集、存储、检索、加工、转换和传输。
这一部分主要是用于控制器进行数字和模拟通信的数据采集和处理,使得数据以特定的格式输出并且准确无误。
- 数据存储
数据存储是临时文件或在此过程中需要被再次找到的数据流信息。在这个系统中,数据存储使数据由现场设备发送,收集并存储在数据库中,便于数据呼叫和查询。
第五部分 OPC客户端和OPC服务器之间进行实时数据交换的现状
DCS测试软件可以实现OPC客户端同时连接多个远程OPC服务器结构。DCS测试软件可以搜索局域网内的当前OPC服务器,分别连接到不同的远程OPC服务器。环境配置如图8所示。使用时要选择合适的配置参数,相应的控制信道和相应的OPC服务器,环境配置同上。
图8 环境配置
测试软件的DCS数字通信测试是以按照OPC严格的数据采集和控制机制与OPC客户机相连,并同时读出更多个远程OPC服务器的方式运行。就DCS中的测试而言,OPC客户端将数据发送到硬件测试平台,硬件测试平台通过总线的方式将数据发送到DCS系统。
同时,OPC客户端实时读取DCS中的OPC服务器的存储数据。如果由OPC客户端发送的数据与接收到的数据一样,则数字通信输入是正确的。同样,在DCS系统的数字输出测试系统中,OPC客户端发送数据到DCS,同时获取来自硬件测试平台中的数据。如果数据一致,则DCS数字输出测试是正确的。
数字通信实验如图9所示。
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[147784],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。