信息技术
2011NO.14
ChinaNew中国新技术新产品
Excel作为OPC客户端在工业数据采集中的应用
亓鹏飞
王兆远
刘浩
(莱钢集团有限公司自动化部,山东莱芜271104)
摘
要:
基于
OPC数据存取技术,通过excel采用VBA编程从现场控制层实时的获取工艺生产过程数据,为生产管理提供可靠的数
据依据。
关键词:Excel;客户端;数据采集中图分类号:TU992.03+2
1引言
在烧结生产中,工艺师对于产品以及原料的的化学成分及其物理特性的掌握和控制,决定了最终产品的质量,因此烧结生产中对于数据的采集和汇总至关重要。
某烧结厂利用OPC接口技术实现了SiemensWincc组态软件与其他应用程序之间动态数据的交换,各级管理网从控制网上实时地获取工艺生产过程数据,并对数据信息进行分析、加工,最终生成和打印各种形式的报表,指导生产高效有序的进行。利用PC机丰富的软件资源扩充了工控软件的功能,提高了软件开发的灵活性,并且降低了成本,特别是给出了基于OPC的自动化接口和COM接口的客户端软件开发的实现方法,为企业生产管理信息化打下了基础。
2应用方式
OPC(OLEforProcessControl)是Mi-crosoft公司的对象链接和嵌入OLE/COM技术在过程控制方面的应用,为工业控制领域提供了标准的数据访问机制。OPC作为硬件和软件之间的一个中间件,解决了异种设备之间通讯难的问题,为工业数据通讯提供了一种标准。OPC规范包括了自动化应用中使用的一整套的接口、属性和方法的标准,该技术完全支持分布式应用和异构环境下应用程序之间软件的无缝继承和互操作性。它使设备层、自动化层以及信息层之间的协同工作成为可能,并且提供了工业自动化应用的统一数据传输平台,使异构系统之间的数据交换更为方便,是实现控制系统开放性的关键技术。
WinCC是西门子公司在自动化领域采用最先进的技术与微软公司在共同开发的居于世界领先地位的工控软件,是一个功能强大的全面开放的监控系统,既可以用来完成小规模的简单的过程监控应用,也可以用来完成复杂的应用。它集成的OPC服务器使得过程数据可由其它应用程序(OPC客户机)访问,从而很容易的组成一个完备的上位机管理系统,OPC服务器使用WinCC变量提供所需
文献标识码:A
要的信息至OPC客户机,本例就是基于OPC数据存取规范(版本2.0),利用VBA编程技术实现Excel(OPC客户端)对WinCCOPC服务器数据的读取。
3网络
本项目生产管理与过程控制系统构成如下图所示:
本项目包含了生产管理层和现场控制层两个层次以及网络拓展层,拓展层则是为了以后的生产管理信息化留有接口。利用OPC技术不仅可以实现现场设备层与过程监控层之间的信息交互,还可以把它们与PC机的一些通用开发平台和应用软件平台链接起来,如VB、excel等,在各工艺段的办公电脑上,根据工艺管理人员实际需要通过编程制作成可以实时读取Wincc画面的数据的衍生软件,并且自动完成数据汇总的工段日报表,下图为配料工艺段报表测试界面:
4代码编程
本系统中WinCC作为OPC服务器,ex-cel程序作为OPC客户端,程序采用自动化接口以同步方式与OPC服务器进行通讯,以下为部分程序代码:
’-----------可以自由选择Clien-tHandle和GroupName
Forii=1To7
ClientHandles(ii)=iiNextii
GroupName="MyGroup"
’-----------从单元"A1"得到ItemID
NodeName=Range("c2").Value……….’-----------得到一个OPC服务器的实例
SetMyOPCServer=NewOPC-Server
MyOPCServer.ConnectServer-Name,NodeName
SetMyOPCGroupColl=My-OPCServer.OPCGroups
’-----------为添加组设置
缺省的激活状态
MyOPCGroupColl.DefaultGroupIsActive=True
’-----------添加组至收集
SetMyOPCGroup=MyOPCGroupColl.Add(GroupName)
SetMyOPCItemColl=MyOPCGroup.OPCItems
’-----------添加一个条目、返回ServerHandles
MyOPCItemColl.AddItems7,ItemIDs(),ClientHandles(),ServerHandles(),Errors
’-----------用于接受不同的信息组MyOPCGroup.IsSubscribed=TrueSubStopClient()’-----------释放组和服务器对象MyOPCGroupColl.RemoveAll’-----------与服务器断开连接并且清除
MyOPCServer.Disconnect
SetMyOPCItemColl=NothingSetMyOPCGroup=NothingSetMyOPCGroupColl=NothingSetMyOPCServer=Nothing’-----------如果OPC-DAAutoma-tion2.1被安装,使用:
PrivateSubMyOPCGroup_DataChange(ByValTransactionIDAsLong,ByValNu-mItemsAsLong,ClientHandles()AsLong,itemvalues()AsVariant,Qualities()AsLong,TimeStamps()AsDate)
’-----------设置数据表单元值为数值读
Forii=1ToNumItems
itemv(ClientHandles(ii))=itemvalues(ii)Nextii………..
打开EXCEL激活宏。运行的界面,在服务器名称中输入相应的计算机节点名称,点击“启动OPC客户端”。就能得到相应的数据,这里需要注意的是excel启动宏之前先启动WINCC运行。
5结束语}
本系统已在该项目中得到成功的应用,其灵活多样的界面、简单可靠的操作、方便快捷的组态、较高的性价比,取得了良好的效果,特别适合一些中小企业,深得用户满意。
参考文献
[1]江智军,何小斌.企业管控一体化系统数据
2003,16交换方式的研究[J].工业控制计算机,
(9);25-27.[2]薛福珍,林盛荣.基于OPC数据访问规范的客户端软件研究与开发[J].计算机工程,2002,28(4);229-231.
中国新技术新产品
-11-