数据采集服务器设计.doc

上传人:laozhun 文档编号:2397438 上传时间:2023-02-17 格式:DOC 页数:8 大小:24KB
返回 下载 相关 举报
数据采集服务器设计.doc_第1页
第1页 / 共8页
数据采集服务器设计.doc_第2页
第2页 / 共8页
数据采集服务器设计.doc_第3页
第3页 / 共8页
数据采集服务器设计.doc_第4页
第4页 / 共8页
数据采集服务器设计.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数据采集服务器设计.doc》由会员分享,可在线阅读,更多相关《数据采集服务器设计.doc(8页珍藏版)》请在三一办公上搜索。

1、数据采集服务器设计计算机应用ComputerApplications自动化技术与应用20l0年第29卷第5期数据采集服务器设计李金波.陈庆文(黑龙江省科学院自动化研究所,黑龙江哈尔滨150090)摘要:本义利用OlC技术进行数据采集服务器的没计.评介绍数据采集服务器实现方法,闸述_f】OtC设汁系统的点.简述rI/ODII的肝发.小文的数据采集驽对电能表没计的.关键词:OPC;服筹器;电能表中圈分类d:TP274.2文献标码:Bl殳章编号:1003724l(2010)05003905DesignmentandImplementationofPowerMeterDataAcquisitionSe

2、rverLIJin-bo,CHENQingwen.(HeilongjiangAcodemyofSciences,Haerbin150090China)Abstract:OPCservertechnologyfordataacquisitioninthedesign,andintroducedthemethodofdatacollectionserverontheOPCdesignwiththeadvantageofthesystem,outlinestheI0DLLdevelopment.Inthispaper,thedataacquisitionserverforenergymeterdes

3、ign.Keywords:OPC;servers;EnergyMeter1引言数据采集系统软件通过I/O驱动程序从现场I/O设备获得实时数据,对数据进行必要的处理后,一方面以图形方式直观地显示在计算机屏幕上,另一方面按照组态要求和操作人员的指令将控制数据送给I/o设备,对执行机构实施控制或调整控制参数.但是,数据采集系统软件存在一个严重的制约因素,即现场设备与应用软件之间难以实现开放的,无缝隙的连接.即针对同一个硬件设备,每个应用软件都要根据自己的需求开发一套硬件驱动程序.这不仅加大了开发和维护费用,而且带来了访问冲突问题.OPC技术将各个硬件设备驱动程序和通信程序封装成独立的OPC服务器,上

4、层应用软件可以不关心硬件的性能特点,而通过标准的OPC接口访问OPC服务器.这样不仅解决了上述问题,而且实现了软件的”即插即用”.OPC相当于一块软件”主板”,它能够直接与现场收稿日期:20100329的PLC,工业网络,数据采集和WindowsCE设备连接,快速有效地获取现场实时数据.PC机内的各种监视,控制和管理等应用软件则像是插在OPC主板上的软件”芯片”,”芯片”可通过OPC获得现场实时数据,“芯片”之间也可按照OPC协议进行通信,从而实现软件的”即插即用”.本文以针对一种电能表的数据采集服务器为编程实例,详细介绍数据采集服务器的基本结构以及如何实现OPC服务器.电能表采用了(多功能电

5、能表通信规约)(DL/T6451997).多功能电能表通信规约适用于本地系统中的电能表费率装置与手持单元(也称抄表器,用于现场抄表或编程)或其他数据终端设备进行点对点的或一主多从的数据交换方式;标准中规定了它们之间的物理连接(物理层),通信链路(数据链路层)及应用技术(应用层)规范.数据终端设备经数据信道(如无线电台,市话网络等)与远方主站的数据通信协议不属于DL/T645自动化技术与应用20l0年第29卷第5期i-l-N机应用ComputerApplicationsl997的范畴.DL/T6451997中的主站指手持单元或其他数据终端设备.它具有选择费率装置(与电能表连接或与电能表组装在一起

6、的数据采集与处理单元)并与它进行信息交换的功能.2传统数据采集系统的劣势传统的数据采集系统为使每一个应用程序与设备交换信息,必须为每个设备提供相应的驱动程序,在数据源与客户程序之间分别建立一对一的驱动连接,如图1以电能表为例.图1传统的应用软件与数据源接口方式由于设备多样性和驱动程序不兼容性,这种方式存在以下缺陷:(1)应用程序开发者必须花费大量精力开发各种设备的驱动接口,计算机硬件厂家要为不同的应用软件编写不同的驱动程序,这种程序可复用程度低,不符合软件工程的发展趋势,典型的高级语言软件开发过程约有2530%的时间用于编写这类接口,使开发时间和费用大大增加;(2)设备不具有互操作性,使用中硬

7、件的升级,变更和增加都可能造成驱动程序的变化,从而在维护过程中引起二次投资;(3)由于每一驱动软件有各自的驱动程序,当多个应用软件读取同一数据源时,经常发生冲突;(4)设备厂商虽然可能提供驱动程序,但与用户开发应用软件往往不一致,限制了用户对软件和设备的自由选择.可见,在现场设备与应用软件之间提供标准的接口,实现开放的,无缝隙的连接,是顺利推进企业管控一体化的关键.为此,在微软的倡导下,世界范围内处于主导地位的硬件和软件开发商组成了OPC基金会组织(opcFondation),制定硬件和应用软件之间的接口标准一OPC规范.3采用OPC规范设计服务器的益处1)采用标准的Windows体系接口,硬

8、件制造商为其设备提供的接口程序的数量减少到一个,软件制造商也仅需要开发一套通讯接口程序.即有利于软硬件开发商,更有利于最终用户.2)OPC规范以OLE/DCOM为技术基础2,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上.3)OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从底层的开发中脱离出来.4)OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置,使得系统的应用范围更广.5)采用OP

9、C规范,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护.图2基于OPC应用软件与数据源接口方式6)OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口.图2为基于0PC技术的应用软件与智能电能表进行数据交换的处理过程,它比传统的数据采集系统有明显的优势.4数据采集服务器设计的整体结构数据采集服务器的设计以OPCServer为核心【引,它介于各种硬件设备与上位过程控制系统之间,将采用不同的通讯规约和通讯方式的各种监控设备信息转换成自动化技术与应用2010年第2

10、9卷第5期符合OPC接口规范的信息,提供给客户端(监控软件);同时客户端下发的各种控制命令等信息通过数据采集服务器提供给相应设备.OPC服务器由Server对象,Group对象,Item对象和针对不同现场设备的编写的I/0DLL组成.Server,对象,Group对象都是标准的COM对象,OPC客户端通过它们提供的接口来访问现场设备的数据,使OPC客户端与0PC服务器实现无缝连接成为可能.Server对象是0PC客户端与0PC服务器端交互的首要对象,OPC客户端通过Server对象来组织管理Group对象,Group对象是用来组织管理Item对象的.Item对象描述了服务器与现场设备的连接,是

11、对应的现场设备的属性在服务器中的代表,它包含有数据项的值,值的质量标志和时间标签(读取数据的时间).I/ODLL实现从具体的现场设备中读取数据的功能,因为不同厂商设备的数据采集方式和现场通信网络的通信协议不同,需要为不同硬件设备和通信协议编写不同的I/ODLL.数据采集服务器的整体结构如图3所示.图3数据采集服务器的整体结构5数据采集服务器的设计与实现数据采集服务器中0PCserver的开发主要应用COM技术4】,但直接采用COM技术开发的难度比较大,且周期长.为了减少了开发的难度,本软件0PC服务器部分应用第三方拓林的开发包开发,通过加载KOSRDK.DLL动态连接库实现不同设备到OPC的转

12、换.OPCServer是透过一组一组的接口提供服务的.在实际的架构上,OPCServer共分为三层:如图4,分别是OPCServer,OPCGroup,OPCItem.其中每一个OPCltem对应到一个实际的硬件装置上的某一个channel或port;每一个OPCGroup则包含了许多的OPCItem,同时并定义这些OPCltem更新的时间,方式,以及提供读取OPCltem值的接口;而每一个OPCServer则包含若干个OPCGroup,同时提供操作这些OPCGroup的接口.图4OPCServer/OPCGroup/OPCltem间的关系图本文以拓林的开发包开发工具为例总结出以下开发步骤:(

13、1)安装OPCProxy动态链接库文件.进行OPCServer编程开发首先需要从OPC基金会官方网站下载并安装OPCProxy/Stub动态链接库文件,包括opcproxy.dll,opccomn_ps.dll,opcae_ps.dll,opchdaps.dll四个文件.获得这些文件后,将它们拷贝到系统目录(system32)下,然后在命令行格式下按照以下方法对这些文件进行注册:regsvr32opcproxy.dll,regsvr32opccomnps.di1regsvr32opcaeps.dll,regsvr32opchda_ps.dll此外,还要检查系统中是否存在actxprxy.dil

14、l文件,如果没有,则需要从Microsoft官方网站下载aprxdist.zip文件进行安装.(2)编程环境设置.用OPC数据服务器快速开发工具进行OPC数据服务器的开发主要利用开发工具所提供的动态链接库进行OPC数据服务器的编程开发工作,在VisualC+编程环境中将用到WTOPCSvr.dll,WTOPCSvr.1ib,wTOPCSvrAPI.h三个文件.对于动态链接库文WTOPCSvr.dll,需要将其拷贝到要开发的OPCServer程序所在目录;对于输出定义文件WTOPCSvr.dll,需要在编程环境的连接设置中加人此文件:对于头文件WTOPCSvrAPI.h,则需要用到开发工具API

15、函数的源程序都应包含此文件.(3)获得CLSID.自动化技术与应用2010年第29卷第5期计算机应用ComputerApplications每个OPC服务器均有一个全球唯一的GUID类型的标识,如下:StaticconstGUIDCLSIDSvr=0x73f90f71,0x9154,Ox43d9,0x86,0x45Oxf9,0x49,0x61,0x6,0x7c,0x80;(4)系统设置和初始化.服务器名称和描述设置OPC服务器的名称和描述,用于系统的注册和标识.mstrSvrName=“Test.OPC.Serverver1.01”./nameofOPCserverm_strSvrDesc=“

16、Test.OPC.Server”./descriptionofOPCserver服务器初始化调用KOSInit()对服务器进行初始化.KOS_Init(CLSID_Svr,100);/KnightOPCServerInitialization函数第一个参数为服务器的CLASSID,第二个参数数据扫描频率.设置回调函数1.客户端写函数KOSSetClientWriteProc(&ClientWriteProc,;/Settingwritecallbackprocedure2.客户端关闭KOSSetClientShutd0wnProc(&ClientShutdownProc);/S

17、ettingclientshutdowncallbackprocedure注册与反注册注册:bRet=K0SRegiSter(CLSIDsvr,mstrSvrName,mstrSvrDesc,strFile);反注册:bRet=KOSUnRegiste(CLSIDSvr,mstrSvrName);(5)添加OPC点.服务器的初始化工作完成后,需要添加OPC点到OPCServerDLL中,OPC客户端才能够检索和使用OPC点.(6)更新OPC点.在上一步中,OPC点已经被添加到OPCServeDLL中,这样,OPC客户端程序就可以浏览到OPC点;同时,也可以读取到OPC点的值(包括数据类型,数据

18、值,质量,时间戳等).程序将从设备采集上来的数据不断更新到OPCServerDLL中,使得客户端程序可同步更新.(7)关闭OPC服务器.关闭OPC服务器之前,需要完成如下工作:如果有客户端连接,发出断开连接请求;释放用new等操作符申请的内存;调用KOSRemoveltem0从OPC服务器中删除已添加的OPC点.调用KOSUnit()完成OPC服务器的退出.6电能表I0DLL开发图5接收功能实现流程图计算机应用ComputerApplications自动化技术与应用2010年第29卷第5期.旰婚|l度瓤l聋崩掠跚皿|r菇电.哂技礁S1.Ii结覃持l图6正常应答帧开始1|绽翻l本帆地址(A0-A

19、5工艘鲫C1H=控制码【表示异常鹰菩帧)I傲撼螭长度0lHl错误侍息宇职Rl檀齄码csl帧绪柬牟鲁l砸图7异常应答帧由于不同厂商的设备的数据采集方式和现场通信网络采用的协议不同,厂商提供的用于数据采集的API函数也不同,因此在OPC服务中,通过编写不同的I/ODLL,使得服务器能从连接到不同通信网络的不同厂商的设备获取信息.获取信息的过程对OPC客户是透明的.本文参考多功能电能表通信规约(DL/T645-1997)【引,实现了电能表发送,接收数据.接收功能实现的流程图接收功能实现的流程图如图5所示.多功能表为从站,OPC客户端为主站.发送功能实现的流程图:从站收到主站发来的一帧信息后,先要进行

20、判别,如是正常的命令帧或数据帧则发正常应答帧,否则发异常应答帧.以上两种情况的流程图分别如图6和图7所示.7结束语在工业控制领域中,利用OPC技术设计数据采集服务器,实现了不用考虑驱动程序和接口问题,就可以在自动化控制软,硬件之间实行无缝链接.它给用户在选择它们的硬件和软件模块时具有充分的灵活性,通过标准化通信接口,多种供应商的产品能被组合,匹配在一起,并且在无需修改程序的情况下能够相互作用.OPC使得即插即用在自动化应用中成为现实,并且还允许集成各种各样的现场总线系统.参考文献:1OPC基金会.数据存取规范Z.2002,6.2】13本OPC协会OPC(中国)促进委员会.OPC应用程序人fqz.2004.3】傅舂霞,段建民.OPC数据访问服务器的开发.工矿自动化,2004,(12):17-20.4潘爱民.COM原理与应用【M】.北京:清华大学出版社1999.12.5DL/T6451997多功能电能表通信规约IS】.1998,6.作者简介:李金波(1977一),男,_T-程师,研究方向:仪表及工业自动化.

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号