APP下载

利用VBA实现FactoryTalk View SE报表功能

2011-06-20辛亚军刘志远王圣齐

电气传动自动化 2011年5期
关键词:组态报表应用程序

康 英,辛亚军,刘志远,王圣齐

(1.西安利雅得电气股份有限公司,陕西西安710075;2.青海桥头铝电股份有限公司,青海大通810100;3.新疆独山子石化公司热电厂,新疆克拉玛依833600)

1 引言

FactoryTalk View SE是组态软件,是与公司自动化产品结合最佳的可视化软件产品,提供了强大的数据监控能力,方便用户进行上位机的画面组态。FactoryTalk View SE内嵌VBA,它为自定义及扩展FactoryTalk View SE功能提供了完整的开发环境。

FactoryTalk View SE和其他组态软件一样,自身的报表生成、处理能力比较弱。为了实现数据报表功能,本文使用FactoryTalk View SE内嵌的VBA,与Excel及Access相结合,利用Excel强大制表功能,实现FactoryTalk View SE数据报表功能。

2 实现原理

通过日志模型设置,FactoryTalk View SE从PLC采集实时数据,通过ODBC接口存储到Access数据库中,利用FactoryTalk View SE内嵌的VBA开发,访问Access数据库读取历史数据并根据需求进行各种计算,再调用Excel,根据需要生成的报表格式要求进行处理后,形成报表。系统解决方案框图如图1所示。

图1 报表解决方案框图

3 Excel对象模型

Excel对象封装了Microsoft Excel的全部元素,利用Excel对象提供的属性、方法和事件,就可以在应用程序中生成Excel报表[1]。

Excel对象模型描述了Excel对象之间的结构关系,如图2所示。

图2 Excel对象之间的结构关系

(1)Application对象

Application对象表示Excel应用程序,在Excel读象模型中该对象处于模型的顶端,通过使用Application对象可以访问模型中其他对象,从而控制Excel应用程序的外观和功能。

(2)Workbook对象

Workbook对象表示Excel中的工作簿,即对应一个Excel文件,通过使用Workbook对象就可以实现对Excel工作簿的各种控制。

(3)Worksheet对象

Worksheet对象表示Excel中的工作表,通过使用Worksheet对象就可以实现对Excel工作表中的各种控制。

4 应用实例

先把从FactoryTalk View SE采集的实时数据存储在Access数据中,然后从数据库中读取数据,在Excel中进行处理并生成报表显示出来。下面将具体介绍如何实现该功能。

(1)将Excel、Access对象库加载到当前 VBA程序中

为了能够在FactoryTalk View SE中调用Access数据库以及Excel对象,为Access与Excel连接、互相嵌入使用做准备,必须在VBA程序中加载Excel、Access对象库。在VBA编程环境下,单击“Tools”菜单中的“Reference”命令,在弹出的对话框汇中选中Microsoft Access 11.0 Object Library和Microsoft Excel 11.0 Object Library 两项,点击“确定”后退出,这样就完成了Excel、Access对象库在VBA程序中的加载。

(2)创建 Excel模板

首先做好Excel报表模板,用以存储从Access数据库中读取并经过处理的数据。使用Excel对象的属性和方法完成报表的设计,从而形成所需要的报表。

(3)创建ADO对象存数据到数据库

使用ActiveX Data Object(ADO)链接到Access数据库的方法。首先必须设置对微软ActiveX数据对象2.7库或者更高版本的引用,与加载Excel、Access对象库一样,将Microsoft ActiveX Data Objects 2.7 Library或更高版本加载到VBA程序中来,编写下列程序创建ADO的Connection对象建立与数据库的链接和数据查询功能。

①装载标签

②连接数据库

(4)读取Access数据并显示到Excel中

下面VBA程序实现了从Access获取历史数据的功能。根据报表格式的要求将数据在Excel中进行处理后,形成报表。

这样实现了从Access数据库读取数据到Excel中的功能。

5 结论

与大部分组态软件相似,FactoryTalk View SE在数据监控、画面组态功能较强,但在报表生成、处理能力较弱。此方法可生成各种复杂的生产数据报表,开发周期短,可操作性强,完全满足工业的生产要求。在此基础上,完全可实现班报、周报、月报、年报等的查询与打印。

[1]俞旭明等.VISUAL BASIC6.0网络开发技术[M].北京.人民邮电出版社.1999.

{2]RSView Supervisory Edition User’S Guide.美国 AB 公司.

猜你喜欢

组态报表应用程序
基于PLC及组态技术的恒温控制系统开发探讨
删除Win10中自带的应用程序
LabWindows/CVI中Excel报表技术研究
谷歌禁止加密货币应用程序
从三大报表读懂养猪人的成绩单
基于PLC和组态的智能电动拧紧系统
PLC组态控制在水箱控制系统的应用
铸造行业三维组态软件的应用
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序