【VB开源代码栏目提醒】:本文主要为网学会员提供“OPC通信在控制系统中的应用 - 会议论文”,希望对需要OPC通信在控制系统中的应用 - 会议论文网友有所帮助,学习一下!
《冶金自动,fg)2006年增刊(s1) OPC通信在控制系统中的应用 张学珉,俞涛 。
(宝“I钢锭膀{(}有限公司宝钢分公司设备部,上海201900) 〔摘要1介绍了Windows环境下OPC技术原理,以及控制系统中利用OPC技术实现应用程序之闻的通信,介绍 了在HomTweU EBI平台中实现OPC通信的方法,并简单介绍了采用中间件的方式在VB或vc工具下自行开发 OPC应用程序的方法。
【关键词】OPc;通信;控制系统0引言 OPC是英文OLE for nmB Control的缩写,即过程控制中的对象链接嵌入技术。
它是一项技术 OPC接口规范与标准。
OPC规范是由世界领先的自动化厂商与微软合作制定的一项工业标准,它以组件对象模型和分布式组件对象模删(COM/DCOM)技术为基础,采用客户/服务器模式,定义了一组COM 图1 OPt客户与服务器的互联模型对象及其接口规范。
器端I/O接口部分,无需改动客户端程序。
其次, OPC规范定义了客户程序与服务器程序进行 工控软件公司只要开发一套OPC接口就可采_l_H统交互的方法,但并没有规定具体的实现,OPC服务 一的方式对不同硬件厂商的设备进行存取操作。
器可由不同供应商提供,其
代码决定了服务器访 这样,软硬件厂商可以专注于各自的核心部分,而问物理设备的方式、数据处理等细节。
但这些对 不是兼容问鹿。
对于最终用户而言,由于无需担OPC客户程序来说都是透明的,只需要遵循相同 心互操作性,在选择和更换软硬件时有了更多的的规范或方法就能读取服务器中的数据。
通过 余地,不再局限于从单一的厂商购买专用成套系COM接口,OPC客户程序可以和一个或多个提供 统。
同时在异构计算机环境下的系统集成将变得商的OPC服务器连接。
同时一个OPC服务器也 很简单,应用程序之问很容易实现信息的共享和可以同多个客户程序相连,形成多对多的关系。
交互。
用户可以将重点放在整个系统的功能及应任何支持OPC的产品都可以无缝地实现系统集 用上,这也意味着成本的降低。
此外,OPC组件的成。
由于OPC技术基于1)COM,所以客户程序和 使用也十分方便,用户只需进行简单的组态即可。
服务器可以分布在不同的主机上,形成网络化的 1 oPc对象,接口和oPc规范监控
系统。
图1示意了OPC客户与服务器的互联 OPC规范描述了OPC服务器需要实现的COM模型。
对象及其接口,它定义了定制接口(custom inter- 由图1的互联模型可知,无论供应商还是最 face)和自动化接口(automation interface)。
每种不终用户都可以从OPC技术中得到巨大的益处。
首 同的OPC规范又分定制接口规范和自动化接口规先,OPC技术把硬件和应用软件有效地分离开, 范二部分,以方便开发者OPC服务器硬件厂商只需要提供一套软件组件,所有OPC客 程序或客户程序。
OPC客户程序通过接口与OPC户程序都可以使用这些组件,无需重复开发单位 服务器通信,间接地对现场数据进行存取。
一般的驱动程序。
一旦硬件升级,只需修改oPc服务 来说,自动化接口能为VB等高级语言客户程序提 〔收稿日期〕2006-01-23 【作者简介〕张学珉(1954-),女,辽宁锦州人,高级工程师,主要从事过程控制
计算机工作。
《冶金自动4艺}2006年增刊(s1) 供极大的便利,但数据传输效率较低;而定制接口 一个工业标准,其苇点足对现场设备的在线数据 则为用C/C++语言编写的客户程序带来灵活高效 进行存取。
该规范也分为定制接口规范和自动化 的调用手段。
在有些情况下,OPC基金会挺供了 接口规范二部分,两种接LI完成的功能类似,下面 标准的自动化接口封装器,以方便自动化接口和 主要介绍定制接口规范中基本的对象和接口功 定制接口之间的转换,使采用自动化接口的客户 能。
程序也可以访问只实现了定制接口的服务器。
OPC数据存取服务器主要由以下几个对象组 OPC规范包括:数据存取规范、报警事件规 成,即服务器对象、组对象和项对象。
OPC服务器 范、历史数据存取规范、批量过程规范、安全性规 对象维护有关服务器的信息并作为OPC组对象的 范。
数据存取规范是其它OPC规范的基础,其它 包容器,可动态地创建或释放组对象;而OPC组对 类型的OPC服务器往往是在数据存取服务器的基 象除了维护有关其自身的信息,还提供了包容OPC 础上通过增加对象、扩展接口而来的。
以下着重 项的机制,逻辑上管理OPC项;01:’12项则表示了与 介绍OPC数据存取规范。
OPC服务器中数据的连接。
图2示意rj盘几个对象 OPC数据存取规范是OPC基金会最初制定的 的相互关系以及它们和OPC客户程序的关系。
图2 0忧客户与opc服务器对象的美系 从定制接口的角度来看,OPC项并不是可以 lOPCServer IOPCgommon 由OPC客户直接操作的对象,因此OPC项没有定 IOPCItemProperLie8 leonneetionPointContainer义外部接口,所有对OPC项的操作都是通过包容 IlOPCServerPublieGroups〕该项的OPC组对象进行的。
而OPC服务器对象 〔10PCBmwseServerAddressSpace〕 『lpcnIistFilel和组对象是聚合关系,即OPC服务器对象创建OPC组后,将组对象的指针传递给客户,由客户直 圈3 OPC服务器对象接操纵组对象。
这样既提高了数据存取的速度也 IOPECommon接口是各类OPC服务器都使用的接易于功能扩展,体现了组件
软件的重用性。
口,通过该接口可为某个特定的客户/服务器对活1.1 OPC服务器对象 设置和查询本地标识(【ocalⅢ)。
这样,一个客户 OPC服务器对象是OPC服务器程序暴露的主 程序的操作将不会影响其它客户程序。
要对象,客户程序首先创建该对象再通过其接口 lOPCServer接口是OPC服务器对象的主要接完成所需功能。
图3中示意了标准OPC服务器对 口。
客户程序可通过该接口创建、
查询和删除组象及其定制接口,带方括号的为可选接1:1,以下 对象,并了解OPC服务器自身的信息。
这些信息同。
包括服务器创建时间、运行状态、组对象的个数和 IUnkno-,m接口是所有COM组件都必须实现 版本号等。
自卜个基本的标准接口,它为客户程序提供了 IComtionPointContainor接口是COM规范中QueryIntefface()的方法进行接口查询,并且引用计 的标准接口.用于实现服务器程序向客户程序发数的方法决定COM对象的生存周期。
送通知或事件。
当OPC服务器关闭时需要通知所 ·230· 《冶金自动化》2006年增刊(S1)有的客户程序释放OPC组对象和其中的OPC项, 内感兴趣的OPC项进行统一的读写操作,这样无此时可利用该接口调用客户程序方的lOPCShut- 疑提高了数据
通信的效率。
down接口实现服务器的正常关闭。
IoPCC加叩StakM时 lOPCPublie GroupStateMgt IOF’CltemProperties接口为客户程序提供了一 lOPChemM武 IOPCrado种方便浏览OPC服务器存储区中数据项属性的方 IOPCAsynel02法。
这些属性包括工程量、设定值、高限报警值、 lCmmeetlonPointC,mtainer IOPCAsynciO低限报警值和注释等。
通过泼接口,OPC客户无 ’ IDamObjed需创建和管理组就能直接得到这些信息,简化了 圈4 OPC组对象操作。
OPC规范中组对象可分为公共组(public. IOPCItemMgt接口允许客户程序组对象添加、目唧)和局部组(10蜘up),公共组可以被多个客 删除和管理其包容的OPC项,例如设置OPC项的户共享,而局部组只能被一个客户使用。
因此可 激活状态和数据类型等属性。
采用特定的IOPCServerPublicGroups可选接El来管 客户程序通过lOPCGroupStateMgt接口来管理理公共组。
公共组可以由OPC服务器
程序或客户 整个组对象的状态,主要是设置组对象向客户程程序创建。
对客户程序而言,它总是先创建一个 序提交数据变化的刷新速率、激活状态等等。
局部组,然后再转换为公共组。
客户程序可通过 IOPCPublicGroupStateMgt可选接口则允许客户程序该接口改变公共组对象的激话状态,设置其中 将局部组转化为公共组。
OPC项的数据类型等,但这些操作并不影响已与 OPC客户程序对OPC服务器中数据的存取方公共组连接的其它客户程序。
与局部组不同的 式分为同步读写方式和异步通报方式。
客户程序是,客户程序不能添加或删除公共组内的OPC项。
可按照一定的周期调用IOPCynclo接口对服务器 可选接口lOPcBmw№serv∞MdM;吕spa∞为OPC 程序进行数据同步存取操作,此时客户方的调用客户程序提供了浏览服务器中有效数据项的机 函数一直运行到所有数据读写完成。
IOPCAsyn.制。
这些数据项往往和实现现场设备相关连,代 e102和10PCAsynclO是异步通报方式中使用的接表某个现场信息。
OPC服务器总是先浏览这些数 口,其中前者是在2.0版本中新定义的,并与ICon. nectionPointContainer接口一起使用,具有更高的通据项,然后将需要的数据项作为OPC项添加到OPC组对象当中进行数据存取。
如果没有实现该 信性能;后者则是和IDataObject接口结合使用。
在异步通报方式下,服务器程序定期刷新OPt;项可选接口,客户程序添加OPC项时必须知道服务 并判断其数值或品质是否变化,如果有变化则调器中数据项的确切名称才能建立起与数据源的正 用客户程序方的IOPCDataCallback接口,将变化后确连接。
的数据发送给客户程序。
异步方式中允许服务器 可选接n IPe,^istFile也足标准的COM接口。
将读写操作排队,使客户方的调用函数可立刻返该接口允许客户程序调入或存储服务器的设置, 回。
当服务器读写操作完成后再通知客户程序。
这些设置包括服务器通信的波特率、现场设备的 显然,异步通报方式的通信效率更高,但有多个客地址和名称等。
这样,当系统晕新启动时不需要 户程序与服务器相莲时,同步读写方式更具时效再对服务器进行设置。
需要注意的是客户程序创 性。
对于每个组对象,客户程序可根据需要采用建的组对象名称、项对象名称等信息应该由客户 其中一种数据存取方式,而不能两者都使用。
程序存储,与该接u无关。
1.3 OPC项1.2 OPC组对象 OPC项表示了与OPC服务器中数据的连接, OPC组(见图4)提供了一种让客户组织数据的方法,用户可以将逻辑相关的一组数据作为 包括值(value)、品质(qual时)、时间戳(tilIl∞t唧) 三个基本属性。
值的数据类型为VARIANT,表示OPC项添加到同一个组当中,例如同一个反应器 实际的数值;品质则标识数值是否有效;时问戳则的各点温度等。
客户程序町创建多个组对象,并 反映了从设备读取数据的时间或者服务器刷新其分别设置其属性。
客户程序对服务器进行数据存 数据存储区的时间。
取时是以组对象为单位进行的,即客户程序对组 ·231· 《冶金自动化》2006年增-T0(S1) 需要指出的是,OPC项并不是实际的数据源, 议的,底层规约比较复杂,对于工程人员来说,花只是表示与数据源的连接。
OPC规范中定义了丽 时间去消化这些协议确实没有太大的必要。
毕竟种数据源,即内存数据(eachedata)和设备数据工程人员以应用为主。
而且若自己去开发底层(devicedata)。
每个OPC服务器都有数据存储区, OPC的通信程序,对内存,线程管理不好,可能会存放着值、品质、时间戳以及相关没备信息,这些 给程序带来严重的稳定性
问题。
因此本文介绍一数据称为内存数据。
而现场设备中的数据则是设 种快速开发OPC通信程序的工具,应用者可以根备数据。
OPC服务器总是按照丽定的刷新频率通。
公1捃自爵鹤i:fc平v祷话。
VB或者VC自行开发OPC过相应驱动程序访问各个硬件设备,将现场数据 Server或者OPC Client应用程序。
送人数据存储区。
这样对OPC客户而言,可以直 在
网络上我们町以
搜索到上海林柯科技的接读写服务器存储区中的内存数据。
这些数据是 OPC快速开发工具(Kni小t OPC Server Rapid Devel.服务器最近一次从现场设备获得的数据,但并不 opment Toolkit),该工具具有如下几个鲜明特点:能代表现场设备中的实时数据。
为了得到最新的 ·全面兼容:支持OPC(OLE for P100—Con一数据,OPC客户可以将数据源指定为设备数据,这hDl)基金会制定的数据存取规范(Dala Access)1.0/样服务描将立刻访问现场设备并将现场数据反馈 2.0版本。
给OPC客户。
由于需要访『nJ物理设备,所以OPC ·完整封装:所有功能都封装在一个标准的客户读取设备数据时速度较慢,往往用于某些特 Windows动忐连接库(DLL:DynaHlic lank Libmry)文定的重要操作。
件巾。
. OPC规范做为一种标准接口规范,在楼字系 ·简单易用:具备基奉的编程基础即可快速统集成中得到了广泛的运用,只要遵循这一标准 上手,无需掌握ATL,COM/DCOM,也无需了解规范可以很便捷的实现各子系统的集成,各子系 OPC技术的细节。
支持多种流行的开发工具,包统作为OPC服务器,集成平台通过OPC CLIENT与 括Visual C“,Visual Basic,Borland C”builder,各子系统通信。
在后面的章节中将介绍通过OPC Del山等。
开发包实现这一接口。
·性能卓越:先进的设计思想,优异的体系结2在Honeywell系统中的应用 构,完美的数据结构和算法。
刷新5 000个数据点 Honeywell公司的n∞tscape软件用于工业过 仅需30m。
程控制监控,EBl用于楼宁自动化上位机监控。
两 该工具以DLL文件的方式提供,客户端和服个软件基本类似,都支持OPC Server和OPC Client。
务器端各一个文件。
同其它DLL文件一样,用户通常OPC s∞口在购买后,运行Station工程程序即 可以通过VB或VC白行调用其DLL文件,对照说可启动OPC Server,系统自动将所有Station包含的 明文件即可轻松实现OPC客户端和服务器端程序点添加到OPC Server中。
第3方OPC Client程序 的开发。
对工程人员来说,
设计的系统可能需要可以读取和控制相关物理点。
给外界提供数据,对于硬件系统术便于实现的情 OPC Client在Honeywell软件中属于选购件,用 况下.若采用OPC方式,既节约设备成本,又可以户在购买该插件后即可通过QuickBuilder工具来 让大家共同遵守同一标准。
配置OPC通信莲接。
配置时除需要没定常规通道 4结语等外,还得配置远程OPC服务器的Ⅲ地址、OPC OPC以其通用的标准和简便的使用方法在工服务器的m名,用户可选配冗余连接配置。
设置 控领域内广泛使用,因此作为一名工控系统设计好后可下载到Station中,通过Station来龇察OPC 人员对OPC的了解是非常必要的。
在很多场合下连接状态,也可以使用Honeywell提供的OPCTST 如果使用硬件连接的方式共享数据,这就会增加工具米测试连接情况。
.