数据交换方式opc及.docx

上传人:b****0 文档编号:18369427 上传时间:2023-08-16 格式:DOCX 页数:7 大小:80.05KB
下载 相关 举报
数据交换方式opc及.docx_第1页
第1页 / 共7页
数据交换方式opc及.docx_第2页
第2页 / 共7页
数据交换方式opc及.docx_第3页
第3页 / 共7页
数据交换方式opc及.docx_第4页
第4页 / 共7页
数据交换方式opc及.docx_第5页
第5页 / 共7页
数据交换方式opc及.docx_第6页
第6页 / 共7页
数据交换方式opc及.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据交换方式opc及.docx

《数据交换方式opc及.docx》由会员分享,可在线阅读,更多相关《数据交换方式opc及.docx(7页珍藏版)》请在冰点文库上搜索。

数据交换方式opc及.docx

数据交换方式opc及

数据交换方式(opc及dde)

一、概念介绍:

1.OLE及DDE

操作系统流行以来,“剪贴板”(Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是“死”数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换(DynamicDataExchange,DDE)的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的“数据格式”转换仍然是程序员沉重的负担。

对象的链接与嵌入(ObjectLinkingandEmbedded,OLE)的诞生把原来应用程序的数据交换提高到“对象交换”,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容,其实OLE是Microsoft的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本OLE2中,导入了COM。

2.OPC

OPC(OLEforProcessControl)是一个软件标准,它可以使自动化应用程序方便地读取工业企业的工厂级数据。

OPC是基于Microsoft的组件对象建模(COM)技术定义一个标准接口,允许自动化和控制应用程序、控制设备、以及商业和办公应用软件之间相互操作。

3.ODBC

开放式数据库连接(ODBC)技术为访问不同种类的SQL数据库提供了通用接口。

ODBC是基于结构查询语言(SQL)的,以此作为访问数据的标准。

此接口提供了最大的互操作性:

一个应用程序可以通过一组公用代码访问不同的SQL数据库管理系统(DBMS)。

4.SCADA

数据采集与监控系统(SCADA)是一种软件应用程序,它用于远程实时遥控数据采集过程,以实现对设备和条件的控制。

SCADA可用于电场、石油和天然气精炼、通信、运输以及水和废物控制。

二、OPC及DDE的工作机制和差别

1.DDE技术的工作机制

dde是为在同一台计算机或不同计算机上运行的程序提供动态数据交换,最早由microsoft公司提出的。

动态数据交换(dde)技术由于其具有实时性好、网络通信连接实现方便等特点,在控制软件与信息网络集成中得到了广泛应用。

  动态数据交换基于windows消息机制,各应用程序间通过传递消息进行对话交换信息。

windowsdde消息传递采用client/server模式,客户(client)是数据的请求和接受者,而服务器(server)是数据的提供者,两者之间通过请求、应答、传输三个步骤来完成数据的传送。

dde协议使用服务(service)、主题(topic)和数据项(item)三级命名来标识dde所传递的数据单元。

一般情况下,服务(service)就是应用程序的文件名,主题是对服务器有意义的信息单元。

每次dde客户与服务程序之间的对话都是先由客户启动的,所以在每次客户启动之前,dde服务器应当首先投入运行。

  当客户程序需要向服务器程序请求数据时,客户程序发送一条wm-dde-initiate消息给当前运行的所有windows应用程序,这条消息不但包含了它所需要的服务器名(service)和主题名(topic),而且指明了它所希望的数据类型,收到wm-dde-initiate消息的应用程序通过判别服务器名和会话主题决定是否应答,一旦dde服务器响应了这条被传播的消息,dde会话就开始了。

  dde的工作方式有冷连接(coollink)、温连接(warm link)和热连接(hotlink)等3种。

在冷连接方式下,当server中的数据发生变化后不主动通知client,但client可以随时从server读写数据;在温连接方式下,当server中的数据发生变化后马上通知client,client得到通知后将数据取回;在热连接方式下,当server中的数据发生变化后马上通知client,同时将变化的数据直接送给client。

   dde的网络形式称为netdde,它包含了dde的全部特征,是动态数据交换(dde)的扩充,可以在跨越网络的计算机之间使用。

采用netdde后,两个或更多网络上的应用能够通过dde共享来建立网络上不同工作站之间的连接,从而实现站站之间的动态信息共享。

2.opc技术的工作机制

在opc技术出现以前,dde技术是绝大多数控制系统都支持和采用的数据交换方式。

但是,由于dde是基于windows信息传递而建立的技术,因此,当通信量较大时,就会出现数据刷新速度慢、安全性管理机制差、可靠性能低等现象,从而就有可能致使dde客户程序在较长时间内得不到回应。

和dde技术相比,基于com和dcom技术的opc技术具有数传送性能高、 安全性管理性能好、开发成本低等特点。

最初阶段的opc规范是由opc基金会的先fisher-rosemount、rockwell、opto22、intellution、intuitivetechnology公司于1996年8月发布的,目前opc基金会成员在全球已超过300多个,其中包括世界上几乎所有主要的控制系统、仪器仪表、过程控制系统生产厂家。

opc以ole/com/dcom技术为基础,是ole(objectlinkingandembedding)forprocesscontrol的缩写,是微软公司的对象链接和嵌入技术在过程控制方面的应用。

与dde一样,opc也采用client/server模式。

opc服务器是数据源的提供者,数据源可以是plc、dcs、条形码读取器等控制设备,随控制系统的构成不同,作为数据源的opc服务器既可以是和opc应用程序在同一台计算机上运行的本地opc服务器,也可以是在另外计算机上运行的远程opc服务器。

opc客户是数据的使用者,它按照opc接口规范从opc服务器获取所需要的数据。

  opc服务器主要包括三部分:

服务器(server)、组(group)和数据项(item)。

服务器对象保存服务器和服务器作为opc组对象容器的所有信息。

opc组对象包括公共组和局部组(私有组)两种,公共组由多个客户共享,局部组只隶属于一个opc客户。

一个组可能代表一个特殊设备的数据项,opc客户可以通过组对象来读写数据,并可以设定opc服务器应该提供给opcclient数据的更新速率。

opc数据项是读写数据的最小逻辑单位(在实际应用中,可能是物理设备的寄存器或寄存器的某一位),其数据值以variant形式表示,每个数据项包括值(value)、品质(quality)和时间戳(timestamp)3个变量。

在一个组对象中,opc客户可以加入多个opc数据项。

opc客户与opc服务器的接口有自定义接口(custominterface)和自动化接口(automationinterface)两种形式。

自定义接口是一组com接口,主要用于采用c++语言的应用程序开发;自动化接口是自动化的ole接口,主要用于采用vb,delphi等基于脚本编程语言的应用程序开发。

对于客户端应用程序的开发,采用自定义接口的方式运行效率高,但开发难度较大;采用自动化接口的方式运行效率低,但开发简单。

这两种接口与opc服务器的通信方式可用1图所示。

图1自定义接口和自动化接口与opc服务器通信方式示意图

   对于分布式计算机上的opc客户程序的开发,opc标准采用dcom技术实现服务器和客户程序的通讯。

opc的数据访问主要有同步数据访问和异步数据访问两种方式。

同步数据访问时,opc服务器在将按照opc应用程序要求的数据返回之前,opc应用程序一直处于等待状态,也就是说,同步方式的数据访问在要求的动作没有完成前不能执行任何opc应用程序侧的处理。

与之相比,异步方式的数据访问在对opc服务器提出数据访问要求后,立即返回到opc应用程序侧的主处理程序中,opc服务器完成数据访问时通知opc应用程序,opc应用程序从而得到数据访问结果。

当opc应用程序采用自动化接口访问opc服务器时,同步和异步数据操作分别由syncread、syncwrite和asyncread、asyncwrite四个opc组对象的方法函数来实现。

3.opc和dde的差别

DDE动态数据交换机制是需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。

客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。

OPC(bjectLinkingandEmbedingforProcessControl)是以OLE/COM机制作为应用程序的通讯标准。

OPC是一种基于开放标准的开放式连结,允许在自动化/控制应用、现场设备和商业/办公室应用之间进行简明的、标准化的数据交换。

OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE2技术,OLE标准允许多台微机之间交换文档、图形等对象。

OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。

OPC取代DDE的原因:

DDE使客户应用能够独立于数据源的供应方,开发商不必再象以往那样定义专用的接口。

于是DDE成为许多类型的自动化设备的标准接口。

DDE的出现使人们以为数据访问的问题得到了有效解决,但在使用过程中,用户才发现采用DDE来在设备和控制系统之间传递实时信息并非理想的办法,因为它在传输性能和可靠性等方面都存在许多限制。

为此开发商不得不对DDE标准进行扩展,他们开发出各种专用的信息格式,以提高客户应用程序的性能和通信吞吐量。

于是出现了DDE的多种演化版本。

多种版本的DDE违背DDE最初的宗旨,因为不同的DDE格式使得客户在选择时又不得不受开发商所用格式的限制,也最终使得DDE不能够再称为统一的标准。

另外DDE不适用于大量数据的高速数据采集,并且DDE从来没有为不同计算机之间的数据交换提供可靠的机制。

上述这些原因促使工业界不得不重新制订更为高效、可靠的数据访问标准,这就是OPC。

OPC比DDE更好,所提供的功能也更为强大。

此外,OPC提供的是一个标准的通信协议,而不象DDE那样存在不同的DDE格式。

OPC时代的到来使数据的交换与通信变得开放、高效、安全、可靠,同时也为信息的集成提供了更为合理和简便的方法。

与DDE相比,OPC最主要的优势体现在数据传输速率上。

由于OPC服务器每秒能管理成百上千个事务,而且与DDE不同的是它的每个事务能包含多个数据项,因此采用OPC传输数据要比DDE快得多。

三、DDE与OPC技术在自动化领域中的应用

当前,dde、opc技术在许多世界著名的自动化厂家的i/o通讯服务器、scada等自动化软件中都得到了体现。

例如wonderware公司的daserver和intouch、siemens公司的simaticnet和wincc、rockwell-ab公司的rslinx和rsview32等。

其中daserver和rslinx既可作为opcserver,又可作为ddeserver;wincc和rsview32则既可以作为opcclient,又可作为ddeclient。

同时,由于各家的软件接口都合乎dde、opc接口规范标准,所以,不同厂家的i/o通讯、scada等软件产品也可以很方便的实现互连。

   

以太网数据访问的服务器软件,支持dde、opc、suitlink、fastdde等通讯方式。

当客户程序通讯接口与dassidirect的连接采用dde方式时,dassidirect的数据访问采用了节点名(nodename)、应用程序名(applicationname,此处为dassidirect)、主题名(topicname)和项目名(itemname)的层次结构。

而当通讯接口以opc方式与dassidirect连接时,dassidirect的数据访问则采用了节点名(nodename)、服务器名(programname,此处为archestra.dassidirect.1)、组名(groupname)、设备组名(devicegroup)、连接名(linkname)和项目名(itemname)的层次结构。

各层次项可在dassidirect软件界面中配置实现。

工程应用时,需要在dassidirect管理界面smcarchestra.dassidirect.1目录下根据需要依次添加接口类型(tcp/ip)、接口处理器类型(s7plc),并进行必要的参数设置,然后还要为devicegroups添加不同的topic以方便对不同变量的归类管理。

intouch标签变量对dassidirect的访问是通过“访问名”的设置来实现的,所以intouch中“访问名”的设置必须和dassidirect软件中的设置一一对应,例如,“访问名”中“应用程序名”应设置为dassidirect,“访问名”中“主题名”的设置应和dassidirect中所添加的topic名称完全一致。

此外,intouch标签变量“项目名”的填写也必须遵从dassidirect中itemname的定义形式,例如对s7plc数据块地址word的访问形如db11.w80,对数据块地址dword的访问形如db11.d80,对输入/输出位的访问形式分别为i5.2/q7.5等。

 

   和wonderware公司的dassid-irect一样,rslinx也支持opc/dde两种通讯方式。

当intouch和rslinx以dde方式进行通讯时,首先需要在rslinx“dde/opctopicconfiguration”对话框中添加新的topic,并建立该topic与要连接rslogixplccpu之间的对应关系,然后再对intouch中“访问名”做相应的配置。

不过,此时“访问名”中“应用程序名”应设置为rslinx,“访问名”中的“主题名”则应和在rslinx中所添加的topic名称完全一致。

而intouch标签变量“项目名”的填写也应遵从rslinx中itemname的定义形式,例如对rslogixplccpu中全局变量controllertags地址的访问即为plc变量地址的tagname,而对cpu中程序变量programtags地址的访问则为program:

.的形式。

    当采用siemens公司的wincc作为opcclient与opc服务器进行opc方式连接时,首先需要在wincc资源管理器中添加opc通讯驱动程序opc.chn,然后在出现的opc通道单元的“连接属性”和所建变量的“变量地址属性”对话框中分别填写“opc服务器名称”和“变量地址名称”,这样便可建立该变量到opc服务器的连接。

需要说明的是,   

   dde、opc技术的出现与发展已经在包括工业自动控制在内的诸多领域得到了广泛的应用。

dde作为一种较成熟的数据交换方式已拥有最全面的支持,而opc技术也越来越受众多自动化软硬件企业的支持与青睐,所以,在将来很长的一段时间里,dde与opc将继续在各自的应用领域发挥重要作用,dde、opc技术的出现和发展为我们提供了一个方便的数据访问接口,从而使控制系统进一步走向开放,用户系统因此受益。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2