摘要:文章通过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—),男,湖北武汉人,供职于武汉都市环保工程技术股份有限公司。
(责任编辑:刘 晶)