在实际项目中虽然WinCC提供了变量趋势显示和报表功能,满足了简单的归档数据访问要求,但不能完成该废水处理工程项目提出的复杂数据处理要求(如进行有条件的查询和打印)。
ActiveX是基于COM(Component Object Model)的可视化控件结构的商标名称,它是一种封装技术,提供封装COM组件并将其置入应用程序的一种方法。经过实践证明,应用ActiveX技术实现WinCC归档数据复杂查询解决该工程问题是可行的。根据用户对控制系统有条件查询和打印的要求,运用Delphi设计ActiveX控件,然后在WinCC中调用该控件,最终实现WinCC不能完成的复杂归档数据访问任务。
使用Delphi来设计ActiveX控件。首先在Delphi 7里面新建ActiveX控件工程,由于新建的控件是包含窗口的,故控件采用继承form,将控件命名为WinCCDataReport,然后在界面上添加DBGrid控件,用于显示从WinCC归档数据库中分拣出来的数据;添加TabControl控件,用于查询界面与打印界面的切换;还要添加必需的标签、文本框以及按钮等。最后设计的界面外观如图17-34所示。
使用上述的QUERY数据库作为查询的临时数据库,其字段格式如图17-35所示。在Delphi中使用ADOTable控件通过ADO接口打开数据源,通过以下查询算法(如图17-36所示)得出ACCESS中的值,便可以对查询结果rs进一步操作了。
图17-34 ActiveX控件的界面
(www.xing528.com)
图17-35 ACCESS数据库中的字段结构
图17-36 查询算法
经过程序处理,在ACCESS临时数据库里面得到目的数据,选择第三方的软件设计报表系统,只需在报表设计阶段设置数据库的路径和需要显示、打印的字段即可,极大地方便了设计开发工作。将后台数据库关联到已经设计好的ACCESS数据库中后,即可设计出一个符合要求的报表。最后用delphi生成ActiveX控件。在WinCC中对该控件进行注册,即可使用。实时报表结果如图17-37所示,所设计的内容达到了客户预期的要求。
图17-37 动态报表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。