小鸟 SCADA辅助工具的设计与开发

(整期优先)网络出版时间:2019-12-05
/ 1

小鸟 SCADA辅助工具的设计与开发

张颜伊 袁高翔

长庆油田分公司第七采油厂,陕西 西安 710200

摘要:SCADA系统的建设以来,出现过很多问题,这些问题造成了繁重的工作量,对指导生产的副作用非常明显。为了解决这些包括在离线开发阶段和运行阶段所遇到的种种困难,简化繁琐操作,提高工作效率,我用Qt Creator设计开发了这款“小鸟SCADA辅助工具”。主系统投入运行后,帮助了运行阶段新增井、删井、加数据点等操作的高效进行。

关键词:SCADA软件开发创新创效

这是一个基于C++的软件开发项目,暂命名“小鸟SCADA辅助工具”,属于黑盒应用级软件。旨在帮助解决SCADA建设中遇到的系统和组态问题,提高建设效率,减轻维护强度。本软件开发以来,一直在以需求引领功能,建设带动开发的模式下不断的更新完善,并取得了显著的成效。软件还在根据实际需求继续更新中,下面就对此项目的软件工程进行简要的汇报。

一、需求分析

1.离线开发阶段

力控组态的核心为两部分:IO设备组态和数据库组态。围绕着核心数据的是界面上的八大模块和无数的图形界面。离线开发阶段,所有的数据库和UI界面都要做好,为后续的运行打下坚实的基础。为此需要解决的需求如下:

5de8ccbbc3b8d_html_9ba9d164e9ead1e7.gif

表1.离线开发需求

2.运行阶段

SCADA投入运行后,面临的问题主要是数据的更新。主要有新设备、新井的添加和删除,生产基础数据的更新,以及临时需要补充的新功能等。需要解决的需求如下:

5de8ccbbc3b8d_html_bbeb18dded6dc300.gif

表2.运行需求

、概要设计

1.结构规划

因为力控组态程序是一个并不十分开放的程序,虽然核心是类似VBA和Java的语法结构,但暴露的接口太少成了二次开发的瓶颈。在白盒开发无法实现的情况下,黑盒开发的重要部分是分析收集好的各项数据文档,进行处理加工而生成SCADA各模块需要的点表、脚本、代码或有帮助的辅助信息。称为“开发模块”,在数据处理阶段简化操作步骤,提高准确率,能提升建设和维护的效率。其层次图如下:

5de8ccbbc3b8d_html_c878d4ed401ba62b.gif

图1.开发模块层次图

除了开发模块,程序还需要一些数据处理的功能,包括主机点表到历史点表的转换(在点表构成中区别为是本地访问还是远程访问数据源)、功图数据的获取和分析、实时通讯数据的监控等。称为“维护模块”,在维护中使用,增加软件的功能,提高对SCADA系统的维护能力,并尽可能的让其多功能化,以适用各种需求。其层次图如下:

5de8ccbbc3b8d_html_a208e56c108b82bb.gif

图2. 维护模块层次图

2.接口设计

开发模块需要导入提前编写好的油水井数据表,称为Infor表,文件名为“站名_Infor.xls”,根据环境不同,也可以是“站名_Infor.csv”,该文件的格式有统一的规定,具体如下:

5de8ccbbc3b8d_html_eda4adde0d15efb2.gif

表3.Infor表基本结构

Infor表导入完成后,程序就能生成所需要的各项数据了。这是使用本辅助工具进行开发的首要步骤。维护模块不需要此步骤,直接根据要求使用相应的功能即可。

、应用效果

产生的主要效益是降低了SCADA建设和维护的劳动强度,例如,原先添加、删除一口油水井的操作需要8小时以上才能完成,还容易发生错误。现在利用软件,就能在1小时内全部完成,极大的提高了工作效率。而且程序算法将人工错误率大幅度降低,避免了误操作返工的成本。另外因为软件具有人性化界面,可以帮助其他人略过以往繁琐的步骤,顺利上手,学会SCADA的日常维护,节约了培训成本。

在没有这个工具的时候,因为力控组态本身的缺陷,让SCADA维护成为了阻碍日常工作的绊脚石,而本项目的创新点,就是将这块绊脚石粉碎并逐步消灭。

参考文献

[1]Ian Sommerville.软件工程[M]. 机械工业出版社,2011.

[2].陈锐.数据结构[M].机械工业出版社,2010.

[3].Jasmin Blanchette,Mark Summerfield. C++ GUI Qt 4编程[M].电子工业出版社,2013.

[4].北京三维力控有限公司.力控SCADA平台组态软件eForceCon[M],2014