OPC通信速度不慢.doc_第1页
OPC通信速度不慢.doc_第2页
OPC通信速度不慢.doc_第3页
OPC通信速度不慢.doc_第4页
OPC通信速度不慢.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

发表于OPC OPC通信速度不慢!/Forum/ForumTopic.aspx?Id=1-964A-D3A04BC914E7&page=2#replyea“创世纪32”GENESIS32的好处是OPC核心软件,不像其他软件如inTouch、iFix、Citect、TracMode、紫金桥、组态王、力空、杰空、易控、世纪星、开物等等,他们都有自己的IO驱动程序,都是专用的、封闭的,他们各自开发的IO驱动程序只能够在自己的系统运行,不能互用。OPC是一个标准、开放的IO服务器(等于他们的IO驱动程序),但是OPC可以安装和运行在任何SCADA/HMI系统,当然这些系统必须支持OPC啦,对最终用户是一件好事情,因为他们就不会受限制于这些专用的、封闭的软件系统,如果他们不给你开发一些新的IO驱动程序,你根本不可能把现有的系统连接到一些新的设备或者系统,用户根本就没有办法,只能够忍耐、等待他们大发慈悲给您开发,或者您要付出一笔可观的费用请他们帮您开发IO驱动程序。此外,这些SCADA/HMI系统都说可以连接OPC,其实,他们只是写了一个OPC的IO驱动程序去连接OPC服务器,做工程时要建立2个数据库:1)如果您用KepwareOPC服务器,首先您要建立Tag在KepwareOPC服务器中,2)然后,再利用这些软件的OPCIO驱动程序去连接KepwareOPC中的Tag,把这些Tag连接到自己数据库的Tag。等于做了两次数据库,比较麻烦!“创世纪32”GENESIS32的优点是可以直接浏览Kepware中的Tag,马上可以连接到动态图上,不需要再建立Tag才可以连接到动态图,很方便,做工程会节省不少时间,时间就是金钱啊!有不少人都说OPC很慢,其实他的观点有些不对,由于过去他们只用这些非OPC核心的软件去连接OPC服务器,感觉上动态图的动态点刷新时间会比用他们自己的IO驱动程序慢,问题不是在OPC服务器上,问题是在这种接法而产生的,事实上肯定会慢,动态图的动态点首先从他们自己的OPCIO驱动程序去读/写KepwareOPC的Tag,然后KepwareOPC服务器又去读/写PLC的点,中间就多了一层通信,肯定慢。但是,“创世纪32”GENESIS32是OPC核心软件,动态图中的动态点直接就访问KepwareOPC中的Tag,是直接读写,是很快的,这是我做工程的经验。什么是OPC技术OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。COM是Component Object Model的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使用C+语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk或其它语言编写对象访问程序。在Windows NT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM的这个扩展被称为DCOM(Distributed COM)。 通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C+等高级编程语言而制定的标准接口。OPC现已成为工业界系统互联的缺省方案,为工业监控编程带来了便利,用户不用为通讯协议的难题而苦恼。任何一家自动化软件解决方案的提供者,如果它不能全方位地支持OPC,则必将被历史所淘汰。 我补充一些:OPC的适用范围OPC设计者们最终目标是在工业领域建立一套数据传输规范,并为之制定了一系列的发展计划。现有的OPC规范涉及如下领域:在线数据监测。实现了应用程序和工业控制设备之间高效、灵活的数据读写。报警和事件处理。提供了OPC服务器发生异常时,以及OPC服务器设定事件到来时向OPC客户发送通知的一种机制历史数据访问。实现了读取、操作、编辑历史数据库的方法。远程数据访问。借助Microsoft的DCOM技术,OPC实现了高性能的远程数据访问能力。OPC近期将实现的功能还包括安全性、批处理、历史报警事件数据访问等。OPC的设计者在设计OPC时遵循如下原则:易于实现。灵活满足多种客户需求。强大的功能。高效的操作。OPC的基本概念1 服务器、组、数据项OPC服务器由三类对象组成:服务器(Server)、组(Group)、数据项(Item)。服务器对象(Server)拥有服务器的所有信息,同时也是组对象(Group)的容器。组对象(Group)拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。OPC组对象(Group)提供了客户组织数据的一种方法。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,OPC将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。OPC规范定义了两种组对象:公共组和局部组(私有组)。公共组由多个客户共有,局部组只隶属于一个OPC客户。一般说来,客户和服务器的一对连接只需要定义一个组对象。 在每个组对象中,客户可以加入多个OPC数据项(Item)。如下图所示: OPC数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的,通过定义数据项,OPC规范尽可能的隐藏了设备的特殊信息,也使OPC服务器的通用性大大增强。OPC数据项并不提供对外接口,客户不能直接对之进行操作,所有操作都是通过组对象进行的。客户操作数据项的一般步骤为:通过服务器对象接口枚举服务器端定义的所有数据项,如果客户对服务器所定义的数据项非常熟悉,此步可以忽略。将要操作的数据项加入客户定义的组对象中。通过组对象对数据项进行读写等操作。每个数据项的数据结构包括三个成员变量:即数据值、数据质量和时间戳。数据值是以VARIANT形式表示的。应当注意,数据项表示同数据源的连接而不等同于数据源,无论客户是否定义数据项,数据源都是客观存在的。可以把数据项看作数据源的地址,即数据源的引用,而不应看作数据源本身。2 报警(Alarm)和事件(Event)报警和事件处理机制增强了OPC客户处理异常的能力。服务器在工作过程中可能出现异常,此时,OPC客户可通过报警和事件处理接口得到通知,并能通过该接口获得服务器的当前状态。在很多场合,报警(Alarm)和事件(Event)的含义并不加以区分,两者也经常互换使用。从严格意义上讲,两者含义略有差别。依据OPC规范,报警是一种异常状态,是OPC服务器或服务器的一个对象可能出现的所有状态中的一种特殊情况。例如,服务器上标记为FC101的一个单元可能有如下状态:高出警戒,严重高出警戒,正常,低于警戒,严重低于警戒。除了正常状态外,其他状态都视为报警状态。事件则是一种可以检测到的出现的情况,这种情况或来自OPC客户,或来自OPC服务器,也可能来自OPC服务器所代表的设备,通常都有一定的物理意义。事件可能与服务器或服务器的一个对象的状态有关,也可能毫无关系。如高出警戒和正常状态的转换事件和服务器的某个对象的状态有关,而操作设备,改变系统配置以及出现系统错误等事件和对象状态就无任何关系。3 OPC体系结构OPC规范提供了两套接口方案,即COM接口和自动化。COM接口效率高,通过该接口,客户能够发挥OPC服务器的最佳性能,采用C+语言的客户一般采用COM接口方案;自动化接口使解释性语言和宏语言访问OPC服务器成为可能,采用VB语言的客户一般采用自动化接口。自动化接口使解释性语言和宏语言编写客户应用程序变得简单,然而自动化客户运行时需进行类型检查,这一点则大大牺牲了程序的运行速度。OPC服务器必须实现COM接口,是否实现自动化接口则取决于供应商的主观意愿。4 服务器缓冲区数据和设备数据OPC服务器本身就是一个可执行程序,该程序以设定的速率不断地同物理设备进行数据交互。服务器内有一个数据缓冲区,其中存有最新的数据值,数据质量戳和时间戳。时间戳表明服务器最近一次从设备读取数据的时间。服务器对设备寄存器的读取是不断进行的,时间戳也在不断更新。即使数据值和质量戳都没有发生变化,时间戳也会进行更新。客户既可从服务器缓冲区读取数据,也可直接从设备读取数据,从设备直接读取数据速度会慢一些,一般只有在故障诊断或极特殊的情况下才会采用。5 同步和异步OPC客户和OPC服务器进行数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论