[摘 要]A5系统目前正处于试运行阶段,在补录注剂井时通常需要通过A2数据进行粘贴复制再手动填写相关井的数据项,在补录时发现了A5的井序与A2中井序不对应、A2中井的信息链接过来后,A5中仍有大量井的数据项需要手工填入,从而导致导入模板录入花费时间长、人为错误率高等问题,因此针对以上两个主要问题,运用Excel中自带的程序语言—VBA进行了单井批量导入功能的优化。优化后使得补录及录入工作在时间上从录一天2小时变成10秒钟,准确率也提高到100%。
[关键词]A5系统 批量导入功能 VBA编程
中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2017)05-0261-01
1.基本概况
目前,采油与地面工程运行管理系统(A5)初步调试运行。当采油与地面工程运行管理系统全面正式运行后,将停止运行生产动态数据库(生产动态数据库是油田公司以及地质大队获取前线生产数据、提供第一手资料的主要传输平台之一)的数据传输。
A5系统在开始运行的阶段对于单井动态数据的维护采用的方式为单井逐个逐条录入的方式,单井所有注入状态及数据均采用手动选择及填写方式。
针对各采油厂试验大队管辖井数多,填写数据量大的问题,A5程序开发人员开发了注剂井批量导入功能。该功能可将每个队所有单井全部导出,资料员根据注剂井实际注入情况在录入基础数据后,采用下拉复制对井况相同井进行批量修改与填写。
2.A5系统单井批量导入功能存在的问题
2.1 A5批量导入功能模板中井序与A2中井序不一致
从A2报表中会导出每日表报,但是A2中井序与A5中并不是完全对应,A2中的井序是按站分好后把老井放在前面然后按站内泵的顺序排列井序,A5中的井序是以站为单位整体进行升序排列,若要使之对应,就需要将A2数据进行排序,该步工作使得A5补录及录入前期工作变得繁琐。
2.2 A5批量导入功能模板里需要手动输入的工作量巨大
当前,试验大队对于生产动态每天的录入采用的是A2系统,A5系统是建立在A2系统的基础之上,增加了对于单井的注入状态、注入介质、稀释水质类型、井状态、关井原因、出站浓度、出站粘度、实际注入压力、注入介质状态、介质组成、注入介质类型以及注入分子量等12项数据的补a充,A5系统的录入是基于A2系统上的数据,A5系统模板上的井的顺序与A2中井序是不一样的(A2系统上井的顺序是按站排的井序,而A5是按队降序排列),雖然批量导入模板的意义在于可以对井况相同的井进行数据拖拽复制来节省时间。但由于各注入队井数较多,且井况不尽相同,资料员在拖拽相同信息进行复制时,仍需根据注入井日数据再进行核实一遍,而且错误率较高,仍然费时费力,严重影响工作效率。按照上级部门要求,要在短短1个月内补录完从2014年1月1日到2015年8月份共20个月的生产动态信息显然难以实现。
3.A5系统单井批量导入模板运用VBA编程解决的具体方法及效果分析
3.1 解决A2与A5中日期、时间的格式转化
由于A5和A2中的日期和时间的格式存在差异,如果手动修改一天的模板需要花费1分钟,考虑到补录的时间跨度长,所以运用Replacewhat代码把"日期:"替换成"";把"年""月"替换成"-";把"日"替换成"";注入时间上把":00"替换成"";把":30"替换成".5";通过对日期的修改,能使得A2中的日期与A5中日期在格式上形成统一。
3.2 最大限度提升电脑运行时率
考虑到各队所管辖井的个数存在差异,比如有的队管辖465多口,有的队管辖125口,如果在编程时计算的井都设成500行,无疑会加大管辖井数少的队的电脑的负担,通过计算A5中井的数量、A2里老井的数量以及A2中井的数量,使得A5中井的个数的计算能够很好的控制程序算法中井的个数,保证电脑能高效运行。
3.3 解决A2与A5井序不一致,同时把A2与A5相同信息能够实现自动链接
在excel中解决井序的方法无疑是两种,一种是运用Vlookup函数,一种是循环嵌套,这里运用的是循环嵌套的方式来解决问题的,把A2中的数据引用到A5中。做简单的逻辑判断,如果A2中的第i行的井的名称与A5中的第j行的井的名称对应,则把A2中与A5中相同数据项自动链接到A5中。这项功能从根本上解决了A5的井序与A2井序不同的问题,节省了大量井序排序的时间。
3.4 通过对填报要求的总结,找出情况相近井的填写规律
由于二类油层上返以及污水过剩等问题的存在,方案变化时有发生,但都是阶段调整,所以根据这种情况我们发现情况相近井的填报是有一定规律可言遵循。
对A5进行了A2数据项的链接,但是A5中仍然存在几条数据项需要填写,根据规划的要求我们发现如果在实注稀释水量做成判断如果不为0,则在注入状态填入正常注入;如果稀释水质类型显示普通含有污水,在注入介质状态显示正常注入;如果实注母液量不为0或不为空,则在注入介质显示聚合物;如果在介质组成显示聚合物,在类型中显示中分子抗盐;在注入分子类型显示1200W;如果在注剂时间显示为0则显示关井;如果不显示为0则显示开井。
该功能的作用还体现在,如果各个区块对于二类油层上下返,老站改造以及方案调整时,可通过对注入介质、介质组成、介质类型、注入分子类型、稀释水类型进行手动更改以适应聚驱的调整。
3.5 对于后续水驱井、调剖井的处理
首先在模板中找到后续水驱井和调剖井,并把它们分别粘贴到两个sheet中,同时运用嵌套的方式进行处理,当A5模板中的井与后续水驱井模板中的井对应上,则清空后面所以项;如果A5模板中的井与调剖井模板上的井对应,其它项与注入井一样,只在注入介质状态一项改成调剖,介质组成改成体膨、缓膨或其它。
3.6 自动保存在指定文件夹内,节省大量时间并保证录入正确率为100%
新建一个工作簿,工作薄的名字为“队名+日期”格式,把处理好的A5模板自动粘贴到指定工作簿中,保存在桌面A5文件夹里。
该程序与各小队实际情况紧密结合,针对各小队井况不同编写了符合各队实际情况的程序代码。注聚井批量录入在时间上也由原来2个小时左右缩短到10秒种,减少了工作时间,提高了工作效率;并且还可以直接保存在指定文件目录之中。
A5系统带有简单的自查逻辑功能,例如,当注入母液量为0,而资料员误将注入介质填写聚合物,在批量导入过程中,系统会自动识别出逻辑错误,并对操作人员提示哪行哪列出现错误。在对模板进行VBA编程自动生成日数据后,通过批量导入功能检测,该程序没有任何逻辑错误,没有任何漏洞。
4.几点认识
4.1 此程序能够根据各队井的实际情况控制程序算法中井的个数,尽可能实现电脑高效运行。
4.2 此程序能够很好的解决A2与A5井序不一致、填写数据量多的问题。
4.3 此程序能够很好的适应区块调整,基层人员可以自行手动更改程序中涉及到的分子量、稀释水类型、调剖、后续水驱的参数。
4.4 此程序能大幅度提供基层人员的工作效率、填入的数据项的准确率提高到100%。
参考文献
[1] 刘静.VBA在Excel中的应用.渭南师范学院计算机科学系[J],2009(8)
作者简介
齐丽薇(1991.10),女,第六采油厂试验大队,地面工程。