公务员期刊网 论文中心 正文

控制系统数据库报表解决方案分析

前言:想要写出一篇引人入胜的文章?我们特意为您整理了控制系统数据库报表解决方案分析范文,希望能给你带来灵感和参考,敬请阅读。

控制系统数据库报表解决方案分析

摘要:油气集输过程中,生产的监视和控制主要依靠PLC(可编程控制器)控制系统来实现。报表查询是控制系统人机界面的一项基本功能,完善的报表功能可以降低员工劳动强度、提高生产管理水平。采用“VBA+数据库”的方案开发注入站报表,方法简单灵活,系统运行稳定,为控制系统报表的开发提供了有益的借鉴。

关键词:工业自动化;PLC;人机界面;数据库

1工艺流程及主要测控点

目前,油田配注系统普遍采用“集中配置,分散注入”的工艺流程,即一个配置站对应多个注入站。其过程是在配置站将化学药剂与清水按照一定比例混合,制成符合浓度要求的母液,母液经过熟化后,由外输泵输送至各个注入站,在注入站按照每口井的配比方案加入清水,然后,注入井下。注入站工艺流程为:上游配置站输送来的母液进入母液储罐,经柱塞泵增压后被输送到母液汇管中,再经过单井母液调节阀进入混合器。注水站来的清水经过单井清水调节器进入混合器,在这里与母液充分混合后被注入井下。注入站的测控参数主要包括母液储罐液位、柱塞泵进出口压力、单井压力、单井清水流量等。

2基本原理

采用“VBA+数据库”的方案实现报表查询。VBA(VisualBasicforApplication)是新一代标准宏语言,是基于VisualBasicforWindows发展而来的,语言简单易学,功能强大。VBA是VB的应用程序版本,必须依赖于已有的应用程序,不能独立运行。目前,WIinCC、FactoryTalkViewStudio、Ifix等主流组态软件都支持VBA编程。具体过程是利用组态软件SE的数据记录功能建立数据记录模型,将需要的数据采集并存储在ODBC指定的数据库中。当操作员查询报表时,选择日期后,按下查询按钮,即执行VBA代码,将数据库中的数据读出来,并写入报表模板中,生成指定日期的生产数据报表。

3报表开发过程

3.1添加HMI标签

展开HMI服务器的“HMI标签”,右键点击“标签”,点击“打开”,在打开的标签窗口中点击“新建”,在标签名称栏中输入标签名“DayReport_Date”,类型选择“字符串”,数据源类型选择“内存”,点击“接受”,保存标签。

3.2添加ActiveX控件引用

ActiveX控件是一种基于COM接口的控件,通常不能独立使用,只能在宿主程序中运行,支持COM接口规范的编程环境均可使用它。在报表查询画面中,需要使用日历控件,必须提前在“VisualBasic编辑器”中添加ActiveX控件引用。打开SE,点击“视图”,选择“VisualBasic编辑器”。在打开的窗口中点击“工具”,选择“引用”,在列表栏中勾选“MicroSoftCalendercontrol2007”,点击“确定”,保存设置。

3.3创建并组态画面

打开SE的应用项目浏览器窗口,展开HMI服务器的“图形”,右键点击“显示”,选择“新建”,创建画面“Report”。打开画面“Report”,添加日历控件、按钮、文本、字符串等对象。将日历控件的“Value”属性及字符串的表达式属性与“DayReport_DATE”标签相关联,并设置字体、颜色等其他相关属性。

3.4设计报表模板

根据生产岗位的需求,采用MicosoftOfficeExcel2007设计报表模板“日报表.xlsx”。并将报表模板文件存储在“D:\模板\”路径下备用(此路径应与VBA代码中指定的路径一致)。

3.5设置数据记录

展开HMI服务器的“数据记录”,右键点击“数据记录模型”,点击“新建”,打开数据记录模型的设置窗口。点击“设置”标签,选择“ODBC数据库”,点击“ODBC数据源”;选择“系统数据源”标签,点击“新建”;选择“系统数据源”,点击“下一步”;选择“MicosoftAccessDriver(*.mdb*.accdb)”,点击“完成”;弹出的“ODBCMicosoftAccess安装”窗口,在“数据源名”栏中输入“Report”,点击“创建”按钮,选择保存数据库的位置,在“数据库名”栏中输入“Report”,点击“确定”。点击“创建表”标签,在数据库中创建表“FloatTable”“StringTable”“TagTable”。点击“路径”标签,勾选“启用ODBC备用路径”。点击“文件管理”标签,设置清除ODBC数据库中保存旧记录的天数。点击“记录触发器”标签,勾选“周期性”,根据需求,在“间隔”栏中设置数据采集周期。点击“模型中的标签”标签,添加需要记录的数据标签。

3.6编制VBA程序

4结语

采用“VBA+数据库”的方式实现报表功能,比单纯使用VBA开发报表的方式更为简单灵活,但应当注意的是,采用OfficeAccess数据库,当数据记录达到数万条时,查询效率较低,有时需要一两分钟,甚至出现系统无响应的情况。为了提高查询效率,也可以采用MicosoftSQL数据库,原理相同,只需对数据库连接的代码略作改动,并添加相应的ODBC数据源即可,此处不再赘述。

参考文献:

[1]韩小良,韩舒婷.ExcelVBA从入门到精通[M].北京:中国铁道出版社,2006:24.

[2]魏.从零开始学ExcelVBA[M].北京:电子工业出版社,2014:248.

作者:贺明庆 单位:大庆油田第一采油厂仪表安装维修大队