FactoryTalk View SE组态环境下报表系统的开发

2011-05-11 02:49孙云辉谢辉辉
制造业自动化 2011年8期
关键词:数据源组态报表

孙云辉,谢辉辉,王 挺

(北京机械工业自动化研究所,北京 100120)

FactoryTalk View SE组态环境下报表系统的开发

孙云辉,谢辉辉,王 挺

(北京机械工业自动化研究所,北京 100120)

0 引言

报表作为一种信息组织和分析的有力手段,是工厂生产和管理的重要组成部分。随着计算机技术和自动化监控技术的发展,各主流监控组态软件都为报表系统的开发提供了解决方案,报表的生成已经从原始的现场手抄整理发展为远程监控,自动记录。一个报表系统通常包括数据源和数据管理系统两部分。数据源以一定的周期采集并存储现场数据,数据管理系统负责根据不同的需要从数据源中选择数据并生成报表。

FactoryTalk View Site Edition(即FactoryTalk View SE,以下简称FTSE)作为RS View SE的升级版本是Rockwell公司 FactoryTalk系列软件产品中的一个成员。它是用于开发和运行多用户、分布式服务器人机界面应用项目的集成软件包,是专为自动化过程或机器监视以及管理控制而设计的。其内嵌Visual Basic For Application(VBA),为自定义及扩展软件功能提供了完整开发环境[1]。在FTSE监控软件环境下取得数据源有两种方法:一是访问历史数据库,二是访问实时数据库,两种数据库的访问方法不同。历史数据库可以直接作为报表系统的数据源,但由于历史数据库与组态软件本身关系紧密,格式固定,因而访问方法复杂,并且历史数据库比较庞大,不适合一次处理过多数据。相比之下使用VBA访问实时数据库方法简单、灵活,所以本文采用该方法提取现场仪表数据并存入单独建立的第三方数据库作为数据源。数据管理系统使用VisualBasic(VB)软件独立开发,可以脱离监控软件运行。系统结构如图1所示。

图1 报表系统结构示意图

1 数据源的建立

1.1 FTSE实时数据访问机制

在VBA中要使用FTSE中的标签,首先必须建立标签组对象TagGroup,然后利用标签组对象的Add方法将具体标签加入标签组对象,再利用标签组对象的Item属性将所加标签值赋予VBA中的标签[2]。如把FTSE中名为Tem1的标签值赋予VBA中的标签T1的代码如下:

1.2 VBA与SQL Server的ADO通信

ADO即ActiveX数据对象,是由微软公司推出的以ActiveX技术为基础的一组基于OLB DB数据的高级自动化应用层接口,是一种新型的数据访问方法[3]。在VBA中获取的标签值通过ADO通信的方式存储在SQL Server数据库中构成数据源,可以供数据管理系统随时查询使用。将VBA标签T1的值存储到SQLServer数据库的表DSheet1中的代码如下:

1.3 程序触发机制

报表系统的数据记录通常在整点时刻触发,因为VBA没有类似Timer之类的控件,所以使用变量读取系统时间,并利用该变量的Change事件作为触发条件是一种简单有效的方法,程序如下:

2 数据处理系统的开发

数据处理系统使用VB软件开发,并生成EXE文件既可以在FTSE软件中调用又可以单独运行。不仅减轻了FTSE软件的运行负担,还使报表系统更加灵活,易于备份。

2.1 SQL Server数据读取与显示

使用VB软件从SQLServer数据库中读取数据同样可以使用ADO通信,其方法与1.2所述类似,在此不再赘述。要把读取的数值显示在VB窗体中可以使用TextBox文本控件,也可以引用Excel对象,而后者更加灵活方便。引用Excel对象在窗体中显示变量T1数值的代码如下:

Spreadsheet1.Sheets("sheet1").Cells(I,J) =Format(T1, "0.00") '把T1的数值显示在Excel对象sheet1工作表第I行,第J列的单元格内。

2.2 报表的保存和打印

在VB窗体中显示的报表需要可以保存和打印才能使用。由于Excel不仅具有强大的表格处理功能,并且支持OLE自动化,所以可用VB编写程序直接操控Excel对象的属性、方法和事件来实现一系列操作。使用之前需要建立一个Excel报表模板,保存和打印的格式均一模板为基础。如已经建立了模板Report.xls并且位于目录程序文件夹的“模板”文件夹下则保存和打印的程序如下:

3 结束语

本报表系统数据源与数据管理系统相对独立,使用灵活,相同格式的报表系统只需简单修改VBA代码就可以移植到不同的组态软件环境中。该报表系统已经在某大型污水处理厂得到应用,数据准确,运行稳定,极大的减轻了现场运行人员的工作负担,同时也为管理人员提供了详尽的数据资料便于设备的维护和工艺的控制。

[1]张成礼, 贾淑果. 利用EXCEL在组态软件RS View SE中实现复杂报表功能[J]. 制造业自动化, 2009, 4.

[2]罗忠明, 等. RSView SE与第三方数据的交换技术与实现方法[J]. 太原科技大学学报, 2008, 10.

[3]徐建平, 等. 基于FactoryTalk实时数据和VBA的配方管理[J]. 测控技术, 2006, 9.

Exploitation of report system under FactoryTalk View SE

SUN Yun-hui, XIE Hui-hui, WANG Ting

本文介绍了在FactoryTalk View SE组态环境下综合利用其内嵌的VBA、SQL Server、VisualBasic和Excel等软件采集数据并生成报表的方法。该方法经实际工程验证,灵活可靠,具有广泛的实用价值。

FactoryTalk View SE;报表;VBA;ADO;SQL Server;VisualBasic;Excel

孙云辉(1984-),男,山东青岛人,在读研究生,主要从事工业自动化系统集成方面的应用与研究。

TP311

B

1009-0134(2011)4(下)-0033-03

10.3969/j.issn.1009-0134.2011.4(下).10

2011-03-01

猜你喜欢
数据源组态报表
基于PLC及组态技术的恒温控制系统开发探讨
Web 大数据系统数据源选择*
基于PLC和组态的智能电动拧紧系统
基于不同网络数据源的期刊评价研究
镇长看报表
铸造行业三维组态软件的应用
基于PLC和组态的新型回转类测试设备的研制
基于真值发现的冲突数据源质量评价算法
分布式异构数据源标准化查询设计与实现
月度报表