你当前的位置:首页 > 编程技巧 >

用Delphi开发OPC客户端工具的方法研究

返回文章列表 作者:老耿 时间:01-27 来源:大测控  字体:【

用Delphi开发OPC客户端工具的方法研究

摘要: 本文通过介绍OPC技术的工作原理,结合OPC客户端的工作机制,给出OPC客户端的开发方法及在的Delphi的具体实现,提出了OPC客户端开发工具的设计方案,并实现了OPC客户端开发工具的接口函数,可以使OPC客户端开发者可以轻松的开发OPC客户程序。

0、引言

OPC(OLE for Process Control)是工业自动化过程中数据交换的一个标准,OPC的出现为基于Windows平台的组态软件和基于现场控制的控制器之间的数据交换提供了确实可行的方法。在OPC出现之前,组态软件为了能够存取现场控制设备的数据,组态软件必须提供每一种相连控制设备的通讯驱动程序,由于不同厂家控制设备使用的通讯协议不同,组态软件必须为每一个控制设备开发专用的通讯DRIVER。目前流行的现场控制设备种类繁多,且产品不断升级换代,往往给组态软件的开发带来了巨大的经济压力和工作负担。而不断开发通讯DRIVER也不能满足实际工作的需要,硬件开发商和组态软件开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这样的大背景下,OPC工业标准应运而生,OPC工业标准的出现把开发访问设备接口的任务放在硬件开发商或专门从事软件开发的第三方厂家,以OPC服务器的形式提供给,组态软件可以按照OPC服务器提供的接口访问现场控制设备的数据,避免了不停开发通讯DRIVER的问题,提高了系统的开放性和可互操作性。

1、OPC技术标准

OPC技术是以Microsoft公司的OLE/COM/DCOM技术为基础的通讯标准.OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点.如图l所示,OPC服务器中的代码确定了服务器所存取的设备、数据和数据项的命名规则和服务器存取数据的细节,不管现场设备以何种形式存在,客户都以统一的方式去访问服务器,从而保证软件对客户的透明性,客户应用程序仅需使用统一的标准接口和服务器通信,而并不需要知道底层的实现细节。通过OPC服务器,OPC客户既可以直接读写现场控制设备的I/O数据,也可操作SCADA、DCS等系统的端口变量(只要该系统提供OPC服务)。

任何一个OPC客户可连接到由多个OPC服务器上,每个OPC服务器也为多个OPC客户服务。只要应用软件符合OPC技术标准,不需要做任何修改就能访问OPC服务器提供的数据。OPC技术标准包括客户/服务器通讯使用的一整套的接口、属性和方法。OPC技术支持分布式应用和异构环境下软件的无缝连接和软件的互操作性,使现场控制设备层、自动化层以及组态软件层之间的协同工作成为了可能.并且提供了工业自动化应用领域的统一数据传输平台,使异构系统之间的数据交换更为方便。

2、OPC的对象模型

OPC逻辑对象模型包括3类对象:OPC server对象、OPC group对象、OPC item对象,每类对象都包括一系列接口。

OPC Server对象提供了一种访问数据的方法,它通过Iopcserver 、Opcbrowser、Ipersistfile向客户提供接口。主要功能为:1)创建和管理OPC Group对象;2)管理服务器内部的状态信息;3)将服务器的错误代码翻译成描述性语句;4)浏览OPC服务器内部的数据组织结构。从OPC Server对象的功能可以看出,OPC Server对象面向OPC服务器的技术细节,基本独立于实时数据源,可以统一实现,其中数据的组织结构与数据源属性与具体数据源有关,需要从用户处获取信息。OPC Server对象主要实现IUnknown和IOPC Server接口,OPC客户通过OPC服务器的接口与OPC对象进行通信.IOPCServer接口为OPC客户提供了方便有效操作OPC组的方法。

OPC Group对象的主要功能表现为:1)管理OPC Group对象的内部状态信息;2)创建和管理Items对象。3)OPC服务器内部的实时数据存取服务(同步与异步方式)。从OPC Group对象的功能可以看出,该对象面向OPC服务器中的数据存取信息,对实时数据源的依赖性很强,需要从用户数据源处获取信息。OPC Group提供了客户程序组织数据的手段.每个组中都可以定义一个或多个OPC Item。组有两种类型:公共组(Public)和局部组(local),公共组可以被多个客户共享,而局部组只能被一个客户使用。OPC组中有以下几个主要属性:1)Name :组的名字 2)Active:组的激活状态标志 3)Update Rate OPC:服务器向客户程序提交数据变化的刷新速率4)Percent Dead band:数据死区,即能引起数据变化的最小数值百分比。

OPC ITEM 是非COM对象,在OPC标准中用来描述实时数据,是客户端不可见的对象。代表了与服务器中的数据的连接,它并不是数据源,而仅仅是与数据源的连接。每个项都有以下主要属性:1) Active项的激活状态2)Value项的数值3)类型为VARIANT;4)Quality项的品质,5)代表数值的可信度,类型为SHORT;6)TimeStamp时间戳,代表数据的存取时间。

OPC技术基础包含了两套接口:客户化接口(Custom Interface)和自动化接口(Automation Interface)。客户化接口是一个OPC服务器所必须实现的接口,它描述了OPC组件对象的接口和其中的方法,适合C++和PASCAL语言设计,并可实现最佳运行性能的客户应用程序。客户化接口没有项对象,它对项的操作都是通过包容此项的组对象进行的。自动化接口是可选接口,它提供的是一个自动配置和存取过程控制数据。只要是支持C0M对象的编程语言都能进行OPC客户端的开发。OPC提供了客户化接口和自动化接口,要进行客户端开发实际上就是对这两套接口的声明和调用。 自动化接口封装了C0M底层的许多实现,使开发者能比较轻松的进行数据访问。

3、OPC客户端的工作流程

由于OPC的结构是一个典型的CLIENT/SERVER结构,其技术基础是基于COM/DCOM技术的,所以OPC客户端的开发与COM/DCOM编程大体相同。从OPC的工作机制可以知道,OPC客户端的开发必须按下面的步骤处理。

1, 客户端程序必须对DCOM进行初始化设置,以保证OPC服务器端的回调函数不会被堵塞。

2, 在正确初始化DCOM的基础上,创建客户化接口(Custom Interface),自动化接口(Automation Interface)一般由已注册在系统中的OPCProxy.dll文件自动处理。完成OPC Server的创建。

3, 在正确创建了客户化接口(Custom Interface)后,客户端程序可以为OPC Server对象创建一个OPC组对象(OPC GROUP)。

4, 在正确创建了OPC组对象后,客户端程序可以为OPC GROUP对象创建多个OPC ITEM对象。

5, 为自动化接口实现两个方法:OndataChange和Onasync_WriteComplete,在数据发生变化或异步写操作完成后可被调用。

6, 可以实现对OPC ITEM 数据的读写操作。

7, 在客户端工作结束时,清除OPC服务器对象中的GROUP对象,系统将会自动释放。

文章相关
现有0条评论 | 更多评论..

我要发表看法



  如果您还不是本站会员
欢迎加入
  • ※ 评论注意事项:
  • 不是会员或未登陆发表评论,评论人名字显示为匿名。
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规。
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
  • 本站管理人员有权保留或删除评论中的任意内容。
  • 参与本评论即表明您已经阅读并接受上述条款。
站内搜索
本栏热门
计算机及通讯技术已成为工业环境中大部分解决方案的核心部分,其在系统中的比重正在迅速增加。在工业控制中,交流电机的拖动越来越多的采用变频器完成,不仅作为一个单独的执行机构,而是随着不断的智能化,同远程计算机之间可以通过各种通讯方式结合成一个有机的整体。
自来水是保障城市经济发展和人民生活的重要基础设施,是保障城市繁荣发展、人民生活以及发展国民经济不可缺少的先决条件。从另一个方面来说,我国是一个高度缺水的发展中国家,随着改革开放的不断深入和发展以及人口数量的不断增长,无论从自来水产量和质量上,社会都对城市供水提供了更高的要求。而实现水厂与供水调度系统的自动化,是保证自来水安全
西门子提供的最新软件:Simatic Net PC-Software CD 2005为各种组态软件的开发提供了一个统一的平台,它建立的PC站既为一些组态软件,如:WinCC、Protol等提供了与PLC的通讯平台,也提供了一套编程接口,可使用高级语言编程通过Simatic Net访问PLC数据。
针对控制系统中上位机与S7-200系列PLC通信的实际问题,总结了几种监控计算机与S7-200系列PLC的通信方法,这几种方法在不同的控制系统中能较好解决监控计算机与S7-200系列PLC通信问题。西门子工控产品在工控领域应用市场中有较高的占有率,S7-200系列PLC是西门子SIMATIC PLC
西门子S7-200PLC是德国西门子公司生产的小型PLC。S7-200以其高可靠性、指令丰富、内置功能丰富、强劲的通讯能力、较高的性价比等特点,在工业控制领域中被广泛应用。S7-200PLC的突出特点之一是自由口通讯功能。如何实现S7-200PLC与个人计算机的互联通信,是S7-200PLC应用

设为首页| 加入收藏| 联系我们
Copyright 2004-2007 Www.plc365.coM All Rights Reserved
免费提供PLC可编程控制器编程资料,应用案例,软件下载
请使用1024*768分辨率浏览本站以达到最佳视觉效果