油田SCADA系统数据实时交互方法研究
2018-01-18谢光华韩菲任静思张富利
谢光华 韩菲 任静思 张富利
[摘 要] 随着石油行业中数字油田发展,SCADA 系统在油田中的建设规模不断扩大。基于SCADA在油田生产过程监控与调度中应用广泛和重要性,丰富的实时自动化数据与其他应用系统安全共享应用,可以促进提升企业油气生产管理水平。文章以某油田为例,介绍了一种基于SCADA系统组态软件数据访问接口,实现与其他分析应用系统之间数据实时交换的方法,并应用于视频图像与监测数据综合分析中取得良好效果,可推广应用到油田SCADA系统数据治理等领域。
[关键词] 油田SCADA;數据采集;安全共享
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 23. 028
[中图分类号] F270.7;TN914 [文献标识码] A [文章编号] 1673 - 0194(2018)23- 0069- 02
1 前 言
数据采集与监控系统(Supervisory Control And Data Acquisition,SCADA)广泛应用于电力调度、油气调度、轨道交通综合监控等工业控制领域,在提高系统运行效率,保障生产系统安全,辅助分析事故发生原因等方面起着重要作用[1]。随着网络、面向对象、数据库等技术协同发展,SCADA数据与其他系统集成应用,满足综合、安全、经济运行以及商业化运营的需要。
运用SCADA系统组态软件支持的数据接口,根据具体应用需求,选择合适的传输协议,通过程序开发数据采集工具,将自动化实时数据采集任务与数据应用分析任务分离,监测数据实时转发,第三方系统分析结果信息及时回写,实现自动化数据安全、快速、经济共享,一体化应用。
2 油田SCADA系统数据实时交互方法设计
2.1 油田SCADA系统架构简介
油田SCADA 系统是一个将生产过程控制与远程调度相互结合的自动化系统。通过对油田生产过程中的流量、温度、设备状态、密度、压力、液位、管道系统等相关信息采集,异常预警报警,从而有效地监控与管理整个油田生产过程[2]。
某油田SCADA系统常采用三层架构设计[3],分为数据采集层、数据监控层、数据应用层。现场采集层,是系统的数据源,包括仪表、PLC/RTU站库系统,由油气水井、计量站、接转站、供汽站、油气水管网站控系统,以及原油、污水、清水处理站DCS系统等构成。单井、管网站控系统通过无线方式与监控层通讯;重点站场、DCS系统通过有线光纤与监控层通讯。数据监控层是系统核心部分,数据采集、分析、管理在此层实现,起承上启下作用。由SCADA冗余主备服务器、实时数据服务器、历史数据服务器组成。也是人机接口部分,系统监视、调控、预警、策略调配等功能通过客户层实现。数据应用层,通过单向隔离网闸将自动化数据发送到油田办公网上,实现自动化数据的安全共享,在远端通过IE浏览器实现数据的管理与综合应用。
2.2 组态软件数据访问方式选择
SCADA系统采用美国GE公司旗下的IFIX软件作为上位机监控平台组态软件。IFIX 组态软件支持ODBC 方式和DAO 、RDO 、ADO 等VBA数据访问方式,可以与企业自动化管理系统无缝连接。
IFIX ODBC由SQL任务、触发块SQT、数据块SQD三部分组成。建立一个SQL任务,需要通过关系数据库SQL命令、IFIX软件SQL任务选项一系列配置操作。触发块SQT扫描周期和相位,根据系统设计规划严格设置和跟踪测试。采集任务不断增多时,若一个扫描相位设置不合理,将可能影响一组SQL任务不能正常执行完成数据转储[4]。IFIX ODBC方式操作过程复杂,安全风险高,主要限于系统管理员或专业维护工程师采用,并以实现向关系数据库周期推送数据功能为主。IFIX VBA设计中可采用ADO组件,通过配置和编程实现实时数据向关系数据库、Excel文件等的推送以及回写。此方法建立一项新的数据交互任务,需要定制大量代码,专业技术较高,同样主要限于专业人员应用。
IFIX提供开发工具包(FIX Integration Toolkit)可访问实时和历史数据,包括实时数据访问接口(EDA)和历史数据访问接口(HDA)以及其他功能函数,允许用C语言和VB.NET语言编写的程序使用相同的.NET程序集进行访问数据。工具包运行以iFIX 5.5运行为基础。采用数据访问开发工具包,设计在iFIX节点上运行的数据采集服务端程序,通过一定机制与非IFIX节点上运行的客户端程序进行数据交互。将采集客户端程序封装成函数供其他应用系统快速、简单、高效调用,实现SCADA系统数据实时交互。
2.3 数据交互服务/客户端传输协议选择
采用网络协议实现数据采集客户与服务端之间的数据交互。TCP/IP传输控制协议是Internet采用的一种标准网络协议。TCP/IP是协议组可分为四个层次:网络接口层、网络层、传输层和应用层。TCP协议与UDP协议是传输层协议。TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,在收发数据前,必须和对方建立可靠的连接,TCP建立连接要进行3次握手,而断开连接要进行4次。UDP(User Data Protocol,用户数据报协议)是一种非连接协议,传输数据前发送端和接收端不建立连接。发送端UDP传送数据的速度仅受应用程序生成数据的速度、计算机的能力和传输带宽的限制;接收端UDP将每个消息段放入队列,应用程序每次从队列中读一个消息段。一台服务机可同时向多个客户机传输相同的消息。
油田SCADA监控系统物理节点(服务器、监控机),有实时数据应用需求的系统服务器均部署在油田生产专用网络内部,网络通讯链路相对稳定、安全。UDP协议与TCP协议相比,具有资源消耗小,处理速度快的优点。同时鉴于分析对监控数据有时效性要求,选择UPD协议进行数据采集客户与服务端通讯,实现分析系统与监控系统之间的数据交互。
2.4 SCADA系统与分析系统通信设计
运用Visual Studio 2010开发环境用C#程序语言,采用对象和模块方法设计,实现UPD通信和系统数据实时交互。建立通信管道,客户端和服务器端通信进程通过Socket进行通信。Socket 类为网络通信提供了一套丰富的方法和属性。通信规则采用指定协议。基于UDP协议和数据操作需求,定义读、写操作信息编码、解码函数,统一约定客户端与和服务器端通讯信息编码、解码方式。通信进程中首先创建一个Socket对象,使用SendTo()和ReceiveFrom()方法进行通讯。SendTo()方法指定要发送的数据和目标机器IP地址。IP地址、通信端口号通过程序配置文件定义。当网络环境改变,修改配置文件中的IP和端口号,快速完成系统移植与部署。
通信客户端、服務端程序流程如图1所示。
服务端程序调用工具包(iFixToolkit.Adapter2.dll)函数,以组态软件运行为基础,实现数字、字符、Ascii等类型数据的读取或写入等操作。客户端与服务端UDP通信,将相关函数封装成接口,应用功能函数直接调用,完成数据读写任务。应用功能函数不依赖组态软件运行,降低开发难度,非SCADA系统管理员或专业维护工程师可以完成。
3 数据实时交互方法应用
运用上文数据实时交互方法,研发采集工具成功应用于某油田的注汽锅炉视频图像分析与数据一体化监控管理[5]。将视频图像分析过程任务分解,运用UDP网络通信实现数据采集任务分离,一台数据采集服务器与多台分析服务器通讯,一个采集工具与多个图像分析任务实时数据交互,解决了视频分析软件只能部署在SCADA节点上的问题,减少了对SCADA节点的操作,降低了系统部署安全风险。同时应用系统软件统一开发,通过文件参数定制方法,实现系统快速、经济部署。如图2所示。
4 结 论
运用SCADA系统组态软件提供的数据访问接口,根据应用需求选择合适的网络传输协议,通过程序编程设计一种自动化数据实时交互方法,将自动化数据采集、分析任务分离,减少分析系统直接对监控组态软件运行的依赖,实现分析系统服务器经济灵活部署。运用此方法开发的数据采集工具软件,应用于某油田锅炉视频图像、监测数据实时综合分析,实现视频报警信息写回数据监测系统和一体化监控,优化了数据、视频监控处理操作步骤和相应的岗位设置,提高了油田生产过程监控管理效率。此数据实时交互方法和数据采集软件工具可应用于SCADA系统数据标签信息治理等领域,具有良好的推广应用价值。
主要参考文献
[1]陈曦,周峰,郝鑫,等.我国SCADA系统发展现状、挑战与建议[J].工业技术创新,2015(1):103-114.
[2]王尊天.SCADA系统在油田中的应用探析[J].中国管理信息化,2016,19(15):147-148.
[3]谢光华.稠油油田生产物联网设计与建设[J].信息系统工程,2017(7):23-24.
[4]蒋能记,谢光华,李家燕.自动化实时数据转储优化[J].油气田地面工程,2010,29(7):61-62.
[5]韩菲,谢光华,姚逸龙.油田注汽锅炉视频图像分析系统设计[J].信息系统工程,2018(5):45-46.