下载此文档

OPC协议.pdf


文档分类:论文 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
该【OPC协议 】是由【baba】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【OPC协议 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
.
随着计算机网络技术的发展,计算机监控系统也普遍的采用了分
布式结构,因而系统的异构性是一个非常显著的特点。OPC技术本
质是采用了Microsoft的COM/DCOM(组件对象模型/分布式组件对
象模型)技术,COM主要是为了实现软件复用和互操作,并且为基
于WINDOWS的程序提供了统一的、可扩充的、面向对象的通讯协议,
DCOM是COM技术在分布式计算领域的扩展,使COM可以支持在
局域网、广域网甚至Internet上不同计算机上的对象之间的通讯。
同时,计算机监控系统规模越来越大,不同厂家生产的现场设备
的种类在不断增加,由于不同厂家所提供的现场设备的通讯机制并不
尽相同,计算机监控系统软件需要开发的硬件设备通信驱动程序也就
越来越多,造成了硬件通讯驱动程序需要不断开发的现象,而基于
COM/DCOM技术的OPC技术,提供了一个统一的通讯标准,不同厂商只
要遵循OPC技术标准就可以实现软硬件的互操作性。
OPC(OLEforProcessControl,用于过程控制的OLE)是为过
程控制专门设计的OLE技术,由一些世界上技术占领先地位的自动化
系统和硬件、软件公司与微软公司(Microsoft)紧密合作而建立的,
并且成立了专门的OPC基金会来管理,OPC基金会负责OPC规范的制
定和发布。OPC提出了一套统一的标准,采用典型的CLIENT/SERVER
模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供
具有统一OPC接口标准的SERVER程序,软件厂商只需按照OPC标准编
写CLIENT程序访问(读/写)SERVER程序,即可实现与硬件设备的通
信。
精品word文档:.
.
COM是由Microsoft提出的组件标准,它不仅定义了组件程序
之间进行交互的标准,并且也提供了组件程序运行所需的环境。在
COM标准中,一个组件程序也被称为一个模块,它可以是一个动态链
接库,被称为进程内组件(in-processcomponent);也可以是一个可
执行程序(即EXE程序),被称作进程外组件
(out-of-processcomponent)。一个组件程序可以包含一个或多个组
件对象,因为COM是以对象为基本单元的模型,所以在程序与程序
之间进行通信时,通信的双方应该是组件对象,也叫做COM对象,
而组件程序(或称作COM程序)是提供COM对象
的代码载体。
与传统的通讯开发方式相比,OPC技术具有以下优
势:
·硬件厂商熟悉自己的硬件设备,因而设备驱动程序性能更可靠、
效率更高。
·软件厂商可以减少复杂的设备驱动程序的开发周期,只需开发一
套遵循OPC标准的程序就可以实现与硬件设备的通信,因此可以
把人力、物力资源投入到系统功能的完善中。
·可以实现软硬件的互操作性。
·OPC把软硬件厂商区分开来,使得双方的工作效率有了很大的提
高。
精品word文档:.
.
COM的模型是C/S(客户/服务器)模型,OPC技术的提出就是
基于COM的C/S模式,因此OPC的开发分为OPC服务器开发和OPC客
户程序开发,对于硬件厂商,一般需要开发适用于硬件通讯的OPC服
务器,对于组态软件,一般需要开发OPC客户程序。
对于OPC服务器的开发,由于多种编程语言在实现时都提供了对
COM的支持,如MicrosoftC/C++,VisualBasic,Borland公司的
Delphi等。但是开发OPC服务器的语言最好是C或者是C++语言。对
于OPC客户程序的开发,可根据实际需求,选用比较合适的,能
够快速开发的语言。
OPCDA204规范(OPCDataAccessCustomInterface
Specification
)是2000年9月OPC基金会发布的OPCDA自定义接口规范。该
规范制定了OPC服务器和OPC客户程序的COM接口标准,通过制定标
准的接口来实现多个厂家的OPC服务器和OPC客户程序开发。
OPC客户程序和OPC服务器
一个OPC客户可以连接一个或多个OPC服务器,而多个OPC客户
也可以同时连接同一个OPC服务器,。
精品word文档:.
.
OPC服务器的对象组成
一个OPC服务器由三个对象组成:服务器(Server),组(Group),项
(Item)。OPC服务器对象用来提供关于服务器对象自身的相关信息,
并且作为OPC组对象的容器。OPC组对象用来提供关于组对象自身的
相关信息,并提供组织和管理项的机制。
OPC组对象提供了OPC客户程序用来组织数据的一种方法。例如
一个组对象代表了一个PLC(可编程控制器)中的需要读写的寄存器
组。一个客户程序可以设置组对象的死区,刷新频率,需要组织的项
等。OPC规范定义了2种组对象:公共组和私有组。公共组由多个客
户共享,局部组只隶属于一OPC客户。全局组对所有连接在服务器
的应用程序都有效,而私有组只能对建立它的CLIENT有效。在一个
SERVER中,可以有若干个组。
OPC项代表了OPC服务器到数据源的一个物理连接。数据项是读
写数据的最小逻辑单位。一个OPC项不能被OPC客户程序直接访问,
因此在OPC规范中没有对应于项的COM接口,所有与项的访问需要通
过包含项的OPC组对象来实现。简单的讲,对于一个项而言,一个项
可以是PLC中的一个寄存器,也可以是PLC中的一个寄存器的某一
位。在一个组对象中,客户可以加入多个OPC数据项。每个数据项包
括3个变量:值(Value)、品质(Quality)和时间戳(TimeStamp)。
数据值是以VARIANT形式表示的。
精品word文档:.
.
这里最需要注意的是项并不是数据源,项代表了到数据源的连
接。例如一个在一个DCS系统中的TAG不论OPC客户程序是否访问都
是实际存在的。项应该被认为是到一个地址的数据。大家一定要注意
项的概念。不同的组对象里可以拥有相同的项,如组1中有对应于一
个开关的ITEMAAA,组2中也可以有同样意义对应于一个开关的
ITEMAAA,即同样的项可以出现在不同的组中。
精品word文档:.
.
OPC同步异步通讯
OPCDA规范规定了两种通讯方式:同步通讯和异步通讯。这两种
通讯方式与常见的串口同步通讯、异步通讯以及以太网的同步通讯、
异步通讯的功能差不多。同步通讯时,OPC客户程序对OPC服务器进
行相关操作时,OPC客户程序必须等到OPC服务器对应的操作全部完
成以后才能返回,在此期间OPC客户程序一直处于等待状态,如进行
读操作,那么必须等待OPC服务器完成读后才返回。因此在同步通讯
时,如果有大量数据进行操作或者有很多OPC客户程序对OPC服务器
进行读、写操作,必然造成OPC客户程序的阻塞现象。因此同步通讯
适用于OPC客户程序较少,数据量较小时的场合。
异步通讯时,OPC客户程序对服务器进行相关操作时,OPC客户
程序操作后立刻返回,不用等待OPC服务器的操作,可以进行其他操
作。当OPC服务器完成操作后再通知OPC客户程序,如进行读操作,
OPC客户程序通知OPC服务器后离开返回,不等待OPC服务器的读完
成,而OPC服务器完成读后,会自动的通知OPC客户程序,把读结果
传送给OPC客户程序。因此相对于同步通讯,异步通讯的效率更高,
适用于多客户访问同一OPC服务器和大量数据的场合。
精品word文档:.
.
OPC服务器开发方式
OPC服务器本身就是一个可执行程序,该程序以一定的速率不断
地同物理设备进行数据交互。服务器内有一个数据缓冲区,其中存有
最新的数据值,数据质量戳和时间戳。OPC数据服务器的设计与实现
是一个较为复杂与繁重的任务,设计者既需要熟悉OPC规范,同时也
必须掌握相应的硬件产品特性。OPC数据服务器大致可以分解为不同
的功能模块。OPC对象接口管理模块,Item数据项管理模块以及服
务器界面和设置等等。一个设备的OPCServer主要有两部组成,一
是OPC标准接口的实现,二是与硬件设备的通信模块。
虽然COM技术本质上具有语言无关性,可以用各种语言开发,但
由于最适合COM开发的语言仍然是C++,因此一般都选择采用
VisualC++进行开发。
远程组件,远程服务器与本地服务器类似,除了远程服务器是运行
在通过网络连接的分离的计算机上。这种功能是使用DCOM实现的。
DCOM的优点在于它并不要求任何特别的编程来使具有功能。另外服务
端和客户端通信是通过RPC(Remoteprocedurecall,RPC)通信协议进行
的。对于这三种不同的服务器组件,客户程序和组件程序交互的内在方
式是完全不同的。但是对于功能相同的进程内和进程外组件,从程序编
写的角度看,客户程序是以同样的方法来使用组件程序的,客户程序不
需要做任何的修改。
Part6:Mappings
精品word文档:.
.
1MessageEncoding
-inTypes
AllUAmessageencodingsarebasedonrulesthataredefinedforastandardset
ofbuilt--intypesareusedtoconstructstructures,arrays
-intypesaredescribedinTable20.
精品word文档:.
.
Table20–Built-inDataTypes
NameDescription
NullAnunspecifiedvalue.
BooleanAtwo-statelogicalvalue(trueorfalse).
SByteAn8bitsignedintegervalue.
ByteAn8bitunsignedintegervalue.
Int16A16bitsignedintegervalue.
UInt16A16bitunsignedintegervalue.
Int32A32bitsignedintegervalue.
UInt32A32bitunsignedintegervalue.
Int64A64bitsignedintegervalue.
UInt64A64bitunsignedintegervalue.
FloatAnIEEEsingleprecision(32bit)floatingpointvalue.
DoubleAnIEEEdoubleprecision(64bit)floatingpointvalue.
StringAsequenceofUnicodecharacters.
DateTimeAninstanceintime.
GuidA16bytevaluethatcanbeusedasagloballyuniqueidentifier.
ByteStringAsequenceofbytes.
XmlElementAnXMLelement.
NodeIdAnidentifierforanodeintheaddressspaceofaUAserver.
ExpandedNodeIdANodeIdthatallowsthenamespaceURItobespecifiedinsteadofanindex.
StatusCodeAnumericidentifierforaerrororconditionthatisassociatedwithavalueoranoperation.
DiagnosticInfoAstructurethatcontainsdetailederroranddiagnosticinformationassociatedwithaStatusCode.
ExtensionObjectAstructurethatcontainsanapplicationspecificdatatypethatmaynotberecognizedbythe
receiver.
DataValueAdatavaluewithanassociatedstatuscodeandtimestamps.
VariantAunionofallofthetypesspecifiedabove.
精品word文档:.
.
远程测试和验证环境
1,建立OPC设备
2,远程OPC服务器测试
精品word文档:.
.
3,建立与服务器的连接
4,枚举到的远程OPC服务器
精品word文档:.
.
5,选择需要的OPC服务器
6,在给定OPC设备上建立数据通路,就是OPC组和OPC项
7,将OPC组和OPC项与本地内存变量进行关联,就能使用
精品word文档:.
.
感谢您的支持与配合,我们会努力把内容做得更好!
精品word文档

OPC协议 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人baba
  • 文件大小1.42 MB
  • 时间2023-03-13