基于ADO技术的ifix报表开发在烧结烟气脱硫中的应用实例

2013-05-20 07:54孙勇
中国高新技术企业·综合版 2013年3期

摘要:文章通过ADO技术实现了ifix历史报表在烧结烟气脱硫工程中的实际应用。该工程上位机软件采用ifix5.0,通过ifix5.0内置的VBA作为开发工具,实现了历史报表功能。采用文章方法开发的报表具有很强的通用性,可以在采用ifix作为上位机的工程中简单移植应用。

关键词:ADO;ifix;历史报表;VBA;烧结烟气脱硫工程;上位机软件

中图分类号:X756 文献标识码:A 文章编号:1009-2374(2013)08-0047-02

1 概述

ifix是世界领先的上位机软件,它提供了生产操作的过程可视化、数据采集和数据监控,已有超过三十万套以上的软件在全球范围内运行。它的内部集成了VBA开发环境,用来定制和扩展ifix的功能,能实现不同工程项目对软件的特殊要求。因不同工程项目对报表的需求不同,ifix又没有提供通用的报表开发控件,在工程报表的实现中往往需购买第三方开发的控件,而第三方提供的控件对于不同行业的针对性有限,实现起来比较繁琐。本文利用ifix提供的VBA开发工具和ADO组件,在烧结烟气脱硫工程中开发了历史报表,实现了对ifix历史数据库的访问。

2 ADO与ifix数据库

2.1 ADO

ADO(ActiveX Data Objects)是微软公司开发的适用于各种类型数据的高层接口,它通过OLE数据库提供访问和处理数据库中的数据,具有很高的通用性和灵活性。ADO组件的常用对象有Connection、Command、Recordset、Field等,通过ADO组件访问数据库的基本流程为:创建Connection对象,建立与所访问数据库的连接,再通过Command对象执行SQL命令,并将查询得到的记录保存到Recordset对象中。

2.2 ifix数据库

ifix有两种数据库,即实时数据库(FIX Dynamics Real Time Data)和历史数据库(FIX Dynamics Historical Data),这两种数据库都可以通过ODBC进行访问。在进行ifix组态时,首先在历史数据中定义要查询的历史数据,退出编辑模式重新运行后,即可将已配置的标签变量的实时值在数据库中以文件的形式保存,例如****.H11(其中****为时间)。

ifix历史数据库有如下字段:

NODE:工程节点名;TAG:工程标签名;FIELD:标签的域名;VALUE:标签的实时数值;DATETIME:标签数值的实时记录时间;INTERVAL:数据采样记录的间隔等。

3 报表的实现

在报表的实现中,首先通过建立ifix与Excel的连接,并创建要访问的标签变量数组,再将查询的历史数据保存到Excel表格中,以便调阅。

3.1 ifix与Excel的连接

在上面这段程序代码中,通过ADO建立ifix与Excel的连接,将要查询的变量存储于Excel表格中,此段程序为整个报表程序的框架。

3.2 添加标签变量

在上面程序框架中,将要查询标签变量的根据工程需要保存至数组Ntf()。

4 结语

本文探讨了通过ADO技术在ifix中实现历史报表,该报表在实际应用中表现稳定,可随时查询、生成报表,达到了用户的要求。在ifix中亦可通过SQD和SQT链接SQL、ACCESS等数据库,但需要在SCU中做较多的配置,实现较为复杂。本文介绍的方法在实际应用中简单、有效和可行,大大减少了操作工人的工作强度,提高了生产效率。

作者简介:孙勇(1983—),男,湖北武汉人,供职于武汉都市环保工程技术股份有限公司。

(责任编辑:刘 晶)