首页 OPC服务器在SCADA系统中的应用研究

OPC服务器在SCADA系统中的应用研究

举报
开通vip

OPC服务器在SCADA系统中的应用研究OPC服务器在SCADA系统中的应用研究 介绍了OPC技术的原理和特点,分析了OPC数据存储的规范,根据OPC数据规范对OPC标准接口进行实现。针对实际工业中上位机组态软件WinCC6.0直接读取牛顿7000系列模块的采集信号较为困难,提出利用OPC技术开发服务器,采集牛顿模块数据,通过对OPC服务器的访问,便可实现上位机组态软件对数据的访问,解决了从不同硬件厂商获取数据的难题。 1 引言 目前,工业控制中的各种仪器、仪表、PLC和单片机系统等都提供了与计算机的通讯协议,为计算机控制系统的设计提供了极大的...

OPC服务器在SCADA系统中的应用研究
OPC服务器在SCADA系统中的应用研究 介绍了OPC技术的原理和特点,分析了OPC数据存储的 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,根据OPC数据规范对OPC 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 接口进行实现。针对实际工业中上位机组态软件WinCC6.0直接读取牛顿7000系列模块的采集信号较为困难,提出利用OPC技术开发服务器,采集牛顿模块数据,通过对OPC服务器的访问,便可实现上位机组态软件对数据的访问,解决了从不同硬件厂商获取数据的难题。 1 引言 目前,工业控制中的各种仪器、仪表、PLC和单片机系统等都提供了与计算机的通讯 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ,为计算机控制系统的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 提供了极大的方便。但是,由于不同的厂商提供的协议不同,甚至同一厂商的不同类型设备和计算机通信的协议也不相同,所以要与这些设备交换数据编写接口程序就比较复杂。近年来,OPC技术的出现很好地解决了这一难题。 2 OPC数据访问服务器开发概述 2.1 COM概述 COM即组件对象模型,是关于如何建立组件以及如何通过组件建构应用程序的—个规范。将单个应用程序分隔成多个独立的应用部分,也即组件。如图1所示,组件对象模型(COM)对象是—个使用COM规格的可以重复使用的软件组件。 点击图片查看大图 图1 单个应用程序分隔成多个应用组件 对使用组件集成的开发者来说,一个组件就是一个接口集,只有通过接口才能与组件通信,而对于组件来说,接口是包含一个函数指针数组的内存结构。每个指针数组元素的内容是—个由组件所实现的函数的地址。 类似于C++语言中类的概念,COM对象也包括属性和方法, 对象的属性反映了对象的存在,也是区别于其他对象的要素:而对象所提供的方法就是对想提供给外界的接口,客户必须通过接口才能获得对象的服务。 COM组件的位置对客户来说是透明的,因为客户并非直接去访问COM组件,客户程序通过—个全局标识符进行对象的创建及初始化工作。COM规范采用了128位全局唯一标识符GUID来标识COM对象。 2.2 OPC服务器的通用结构 OPC是一种客户朋匮务器模式。OPC服务器提供接口,OPC客户使用接口访问和管理OPC对象.OPC规范提供了两套标准接口:Custom标准接口(又称COM接口),OLE自动化标准接口。COM接口效率高通过该接口客户能够发挥OPC服务器的最佳性能,是专门为c++等高级编程语言而制定的标准接口。自动化接口通常是为基于脚本编程语言而定义的标准接口。OPC自定义接口是服务器必须提供的,而自动化接口不一定提供。 3 OPCDA服务器实现的整体结构 OPCDA服务器的整体结构,如图2所示。 点击图片查看大图 图2 OPCDA服务器的整体结构 3.1 OPC对象与接口设计 3.1.1 OPC对象 oPc对象主要由服务器对象、组对象和项对象组成。 oPcServer:OPC服务器对象维护服务器的有关信息并包容OPC组对象,可以动态地创建或释放组对象。 OPCGroup:OPC组对象维护有关其自身的信息并包容OPC项,逻辑上管理OPC项。 OPCItem:存储具体Item的定义、数据值、状态值等信息。 总的来说:服务器对象和组对象实现了聚合关系,即OPC服务器对象创建OPC组后,将组对象的指针传递给客户,由客户直接操纵组对象.而组对象只是简单地包容OPC对象。OPC项不可以由OPC客户直接操作,因为OPC项没有定义外部接口,所有对OPC项的操作都是通过包容该项的OPC组对象进行的。OPC服务器通过浏览地址空间的功能供客户程序来查看OPC服务器可用的ITEM信息。IOPCBrowse Server Address Space接口实现OPC服务器这个功能。 3.1.2 OPC接口设计中的关键问题 (1)进程内和进程外服务器的实现 COM组件是以win32动态链接库(DLLs)或可执行文件(EXEs)的形式发布的可执行代码组成。若应用程序已经是一个EXE文件,那么就使用EXE实现组件。EXE中的组件和客户将在不同的进程中运行,而与此不同,DLL将被映射的到链接它们的EXE文件的进程空间中。所以DLL也被称作进程内服务器,而EXE则被称作是进程外服务器。EXE也被称作本地服务器,以同另外一种进程外服务器——远程服务器相区别。远程服务器指的是运行于另外—个不同的机器上的进程外服务器。 进程内服务器的实现:先将相应的DLL装载到进程空间中并刨建此组件。组件中客户所需的所有函数都通过—个IUnknown()接口指针而访问到,因此需要在DLL中输出Createlnstance函数以便客户可以调用它,这是DLL中唯一需要客户显式链接的函数。 进程外服务器的实现:每—个EXE都有自己的进程空间,所以客户组件之间的交互就会跨越进程边界。DLL中组件同其客户共享相同的地址空间,组件把一个接口传给客户。—个接口实际上就是—个函数指针的数组。为调用接口中的函数,客户必须能够访问同接口相关联的内存,DLL是很容易实现的。 (2)OPC数据访问的方法 OPC规范规定了两种通讯方式:同步通讯方式和异步通讯方式。 同步通讯方式:OPC客户程序对OPC服务器进行相关操作时,OPC客户程序必须等到OPC服务器对应的操作全部完成以后才返回,在此期间,OPC客户程序一直处于等待状态。因此在同步通讯时,如果有大量的数据进行操作或者很多OPC客户程序对OPC服务器进行读、写操作,必然造成OPC客户程序的阻塞现象。所以同步通讯适合于OPC客户程序较少.数据量小的场合。 异步通讯方式:OPC客户程序对服务器进行相关操作时,OPC客户程序操作后立刻返回,不用等待OPC服务器的操作,可以进行其他操作。当OPC服务器完成后再通知OPC客户程序。因此相对于同步通讯而言,异步通讯的效率更高,适合于多客户访问同一0PC服务器和数据量比较打的场合。 3.1.3 OPC对象与接口部分的实施 OPC对象与接口部分是OPC服务器程序与客户程序进行交互的部分,需要与数据存储区和硬件驱动部分相联系,以便获得http://www.huisheliren.com/zixun/数据区中的数据或直接访问硬件设备。具体实施步骤: (1)继承OPC规范中定义的OPCserver类、OPCgroup类和OPCItem类,实现其接El成员函数。具体实现时可从IUnknown派生出的CMyServer,CMyGroup和CMyltem三个类来分别代表服务器对象、组对象和项对象。服务器对象仅有IUnknown—个接口,需要增加OPC规范OPC定义的标准接口及实现其功能。组对象及其接口功能的实现与之类似。OPC项没有自己的接口,无需实现任何接口功能,只需增加相应的功能P痢数。OPC客户程序通过OPC组对象的接口函数来间接调用OPC项的这些成员函数。 (2)定义OPCDA服务器的名称ProglD和类标识CLSID。类标识可用VC包含的UUIDGEN或GUIDGEN程序自动产生。然后根据规范对各个接口ID进行定义。 (3)实现OPC数据服务器类厂对象。 (4)将OPC对象设计的头文件和实现文件添加到 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 中。接着在应用程序类的初始化函数中完成COM库初始化、类厂注册功能。 3.2数据存储区 在读取数据时,客户可以选择从CACHE读数据或从DEVICE读数据。由于直接从数据提供设备读取数据速度比较慢,所以为了提高数据读取速度,OPC服务器按照一定的刷新率把数据读迸—个数据缓存区(CACHE),当客户需要数据时可以直接从数据缓存区读取数据。而直接从设备读取数据主要用于在一些诊断操作或一些关键操作中。 数据存储区中存放着数据项,它与OPC部分的项对象不—样,项对象包含了—些客户需要得到的基本信息,侧重点是与上层组对象和服务器对象的联系,存储Ⅸ的数据项侧重点是与底层硬件的连接,主要包含与硬件相关的属性。客户程序通过组对象添加OPC项时将OPC项与数据项关连起来,读取数据时返回其基本属性,对客户来讲是透明的,不直接接触数据存储区。数据存储区需要动态地管理和维护数据项,并与其他部分尚亍数据交互。 4 OPCDA服务器开发方法 OPCDA服务器开发的三种方法:使用MFC的COM库函数开发OPC服务器、通过ATL开发OPC服务器和利用开发工具快速开发0Pc服务器。 MFC通过多重继载的方式来实现COM对象,具有简单,易于管理、能够深入地掌握COM内部技术细节等特点。但是需从底层开始编写代码,工作繁琐,工程比较复杂。 ATL是通过多继载的方式来实现COM对象,然后在COM类中实现COM接口,ATL是专门用来开发小型的、快速的COM组件,其代码也是经过优化的。但最大不足是不仅要熟悉COM机制,还需深入理解ATL各个模板类间的关系及许多原始的WINDOWS API。 对于第三种方法,开发工具将OLE/COM/DCOM技术和OPC技术细节隐藏起来,使用户开发OPC服务器的工作集中在自己特定的数据采集任务上来,能提高OPC服务器程序的开发速度和质量,但快速开发工具的某写实现部分是通过DLL的形式封装起来,当用户需要增加某些功能时会受到一定的限制。 根据硬件的种类和特性,自行开发驱动程序,或者调用硬件厂商提供的I/O DLL实现对现场设备进行设置以及数据存取的功能。 5 OPC客户程序WinCC实现对服务器的访问 上位机组态软件WinCC西门子公司研发的,它本身支持OPC协议,既可以用做是OPC服务器,也可以当作是OPC客户端。WinCC软件中给客户提供了OPC条目管理器,OPC条目管理器列出了当前可用的OPC服务器名称,选择需要访问的OPC服务器,便可以访问到服务器中通过硬件设备采集到的数据。 6 结束语 通过对OPC服务器的设计,实现了上位机组态软件WinCC对牛顿7000系列模块的数据访问与实时监控,解决了工业生产中从不同硬件厂商获取数据的难题,实现了系统开放性的要求。
本文档为【OPC服务器在SCADA系统中的应用研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_316954
暂无简介~
格式:doc
大小:55KB
软件:Word
页数:4
分类:互联网
上传时间:2012-09-13
浏览量:53