欢迎来到天天文库
浏览记录
ID:21633367
大小:28.00 KB
页数:7页
时间:2018-10-23
《小鸟示功图查看器的设计与开发》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、小鸟示功图查看器的设计与开发 [摘要]某作业区自开展SCADA系统的建设以来,在功图巡检、分析和应用上一直处于低效率运行的状态。为了提高效率,并解决一些实际中出现的问题,本文用QtCreator设计开发了“小鸟示功图查看器”,旨在解决油井功图从采集到上传分析,以及运维管理中的一些盲点和不足。下载论文网/3/ [关键词]小鸟示功图查看器;软件设计;软件开发 doi:/- [中图分类号]TP311[文献标识码]A[文章编号]1673-0194(2017)16-0-02 1研究背景 某作业区于2015年6月开始作业区级SCADA建设。
2、经过1年多的探索和实践,并在前期开发的“SCADA辅助工具”基础上,开始进入一个平稳运行的状态,但也随之暴露了一些SCADA系统的缺陷和不足。其中,最大的问题是在功图采集和分析上,现有力控SCADA系统起到的作用明显不能满足生产运行的需要。目前的功图数据流是先到功图服务器,再通过服务器安装的软件分析并上传到厂部的功图平台,最后在SCADA界面上用浏览器控件访问功图平台查看功图。这种绕了一圈的做法增加了数据链的长度,导致初步判断功图的操作只能在现场进行。 2小鸟示功图查看器的需求 功能需求 小鸟示功图查看器拟需实现的功能较多,核心功能需求如表
3、1所示。 性能需求 因程序的核心要连接数据库,所以小鸟示功图查看器对数据库性能的要求较高。一方面是作业区功图服务器的平稳运行;另一方面是程序连接数据库时,对延时、超时时间要尽量缩短,并及时进行内存回收,保证连接顺利。程序对实时性要求不高,但在进行一些时间较长的操作时,为避免程序停止响应,相关人员应设计多线程和应急中断控制机制。 3小鸟示功图查看器的概要设计 结构规划 小鸟示功图查看器的结构比较简单,核心部分是功图数据的读取和显示,只要能显示出功图,就可以基于功图数据做出各种各样的功能扩展。其层次图如图1所示。 功图文件设计 小鸟示功
4、图查看器需要对数据库内存储的功图格式进行重新解析,从而设计出三种不同的功图存储文件(见表2)。 转储表设计 小鸟示功图查看器需要连接功图数据库,将井、井场、站的数据读取出来,同时也要连接地质室的数据库,方便调用和显示一些重要数据,但又不能对原有数据库产生太大影响,故需要单独设计一个数据表进行存储。 4小鸟示功图查看器的详细设计和实现 小鸟示功图查看器使用QtCreator进行开发。Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许
5、真正的组件编程。 界面设计 仿照老力控工程的功图查看界面,左边为井号部分,中间为上下两块分别显示不同功图,以便对比,右边为同井同天的功图列表。和老力控不一样的是,小鸟示功图查看器界面上下两部分功能并不相同,其上方是采集功图,下方是分析功图。当一口新井在SCADA平台添加完成后,其传到功图服务器的数据不久就会被显示在上方的列表中,相关人员可以双击查看具体详情。而分析完成后的功图(上下两张)就会显示在下方区域,所以下方的井列表就是一个站―井场―井的树形结构,还会标志出未采集和未分析成功的数量,在展开列表中也有颜色区分。 数据结构设计 为了系统
6、地对程序内部变量进行管理,本文设计了一个名为数据块(QDataBlock)的结构体,以完成单位功图节点的数据存储和结构控制。 图表控件设计 为了能更科学、美观地绘制出功图曲线,本文使用了一个名为QCustomPlot的第三方开源库,QCustomPlot的功能非常强大,可以绘制各种各样的图表,但这里只需要它的QCPCurve(闭合曲线图)部分。上下两块的数据存储在QDataBlockdata中,通过调用data,往数据块里读写各种不同的数据。 扩展功能设计 功图绘制成功后,就可以在此基础上开发各种扩展功能了。最常见的有:功图的叠加、对比、
7、预览、检视等。在下方区域内,因为读取的是分析完成后的功图,所以需要在单图表区域内画两张功图曲线,这样其观看效果和油井工况平台就相差无几了。 文件系统设计 小鸟示功图查看器可以对功图文件进行多种格式的保存。之所以设计多种格式,是为了和其他软件共通,扩展其适用性。目前已实现了三种:二进制(bin)、纯文本(txt)和带格式的文本(exc)。其中,二进制是数据库中对应字段的数据,直接可以保存为文件。纯文本是用tab和换行符存储的功图散点值,这两种形式简单,但存储的数据有遗漏和缺失。exc格式也不是笔者的原创,在之前,力控的附带文档中有一个功图解析的
8、小程序,相关人员可以把数据库二进制文件解析出来,而解析出的格式就是exc文件的大致雏形。后来笔者在这个格式的基础上稍加修改,在第一行补充
此文档下载收益归作者所有