基于自动化采集数据的设备运行管理系统设计与实现[2006年11月15日]关键词:设备,系统,数据,采集,运转,运行,scada,实现,信息,摘要:本文介绍了如何从油田SCADA系统、原油集输处理站DCS系统中组织、提取设备运行参数信息,如何采用ORACLE数据库来存储这些信息,以及如何对采集的数据进行管理。
该系统实现了原油处理站机泵设备、油区抽油机等设备的数据采集、远程存储、自动生成和打印日运转记录报表、设备保养和月运转时间自动清零、设备信息网上发布等管理功能。
关键词:DCS;SCADA;ADO;动态数据交换(DDE)Abstract:The paper brings out the method to obtain the real-time data from SCADA and DCS,and store it to ORACLE database for other application. It has the following function: data acquisition of all kinds of device; remote accessing; creation and printing daily report forms automatically; device maintains; the date find in the LAN.Key words:DCS;SCADA;ADO;Dynamic Data Exchange(DDE)引言随着工控技术的高速发展,尤其是计算机技术、网络通信技术、自动化测控技术、信息存储等技术的进一步融合,在作业区内部形成了先进、高速的信息网络化平台,改变了油田的生产和经营管理模式,提高了油田生产自动化水平,实现了低成本、高效率的生产管理。
作业区自建立以来,先后建设了油田生产自动化监控系统(以下简称SCADA系统),原油集输处理集散监控系统(以下简称DCS系统),生产区和市区机关办公楼局域网,并建立了后台数据应用服务器等。
这些环境的建成,为各部门提供快速、有效、可靠、全面的信息支持,为全面实现信息化管理奠定了基础。
设备运行管理系统投用前,原油处理站机泵设备、油区抽油机设备运转资料都是通过人工采集,然后形成设备运转纸档案。
如今,利用现有自动化系统和设备运行管理系统,实现了设备运行资料采集、保养管理、运转记录报表自动生成、网上查询等功能,并可大幅降低设备管理劳动强度,提高设备资料的共享度。
1系统总体结构设备资料采集端分别布置在DCS系统和SCADA系统的自动化监控室,它主要完成处理站机泵设备、油区抽油机设备运转资料的采集和远传、自动生成和打印日运转记录报表,提供设备基本资料录入、设备保养管理和月运转时间自动清零等功能。
通过设备资料采集端的远程存储功能,设备数据通过双绞线或光纤、中心交换机存储到ORACLE数据库中。
然后,系统采用基于ORACLE数据库的设备数据查询服务,实现了设备数据的分类查询和打印功能。
系统总体结构图如图1所示。
2系统软件结构系统采用C/S/B软件架构进行设计。
添加设备模块可以向数据库添加设备基本信息,并且能修改或删除设备信息。
对于处理站机泵和抽油井等设备的数据采集,系统可以根据SCADA系统和DCS系统的特点,通过报表组态和用户录入数据模块采集设备数据。
然后,通过设备运行管理系统的存储设备数据模块把数据存入ORACLE数据库中。
这样,用户可以通过设备运转报表生成及打印模块打印每天的日运转报表。
同时,局域网内的用户也可以通过设备数据查询应用子系统查询各个设备的运行状况。
另外,系统能给油田公司的“设备管理系统”提交所需的设备运转数据。
系统数据流程图如图2所示。
3 系统实现系统采用Visual Basic以及JSP编程技术,结合Microsoft Excel的强大功能,实现了数据采集、存储和管理设备运转数据。
图1 系统总体结构图图2 系统数据流程图3.1建立虚拟逻辑设备对于原油处理站机泵设备、油区抽油机等设备资料的采集,几乎都能通过SCADA系统和DCS系统采集所需设备的数据。
但是,由于有少量设备没有安装自动化设备,或没有采集相应的设备运行状态、时间等参数,因此,在系统的设计时,分别在SCADA系统和DCS系统中增加这类设备控制画面,并在画面上设置设备启动按钮、停止按钮以及时间清零按钮。
这样,操作员点击工艺流程画面上的设备启、停按钮后,系统根据程序执行周期和设备运行状态累计设备运行时间。
其设计思路如下:IF YI302=TRUE THENT0_YI302:=T0_YI302+0.5/3600;END_IF其中,YI302是指设备的位号,TRUE是指设备处于运行状态,T0_YI302是指设备的累计时间,程序的执行周期为0.5秒。
3.2设备数据导入EXCELMicrosoft Excel是Window平台下报表统计和分析的强有力的工具,它支持各种类型的报表,如表格、图形等。
根据SCADA系统和DCS系统的特点,系统把Microsoft Excel作为设备资料采集端。
在原油集输处理站DCS系统中,设备运行数据导入EXCEL分两种情况:第一:把DCS系统的FacView组态软件作为DDE服务器,Excel作为DDE客户端,在Excel中用“Citect|V ariable!Tag”来请求DDE服务,然后,DDE服务把DCS系统中该标签的数据返回给Excel。
其中“Citect”是FacView数据库作为DDE服务器时的服务名称,“V ariable”是话题名称。
“T ag”是数据库中的点名,也就是DDE项目名称。
第二:利用DCS系统提供的“报表编辑”功能,设置设备数据的趋势点和时间间隔。
这样,当触发一个Excel表时,设备数据就被导入到Excel中。
这种方式适用于高版本DCS系统。
自动化SCADA系统中的抽油井数据采集:一是从SCADA系统的ORACLE历史数据库读取,二是用户录入的少量数据。
3.3 EXCEL数据存入ORACLE系统利用EXCEL的宏功能来实现数据的存储。
EXCEL提供一个Visual Basic编辑器,打开Visual Basic 编辑器,其中有一工程属性窗口,点击右键菜单的“插入模块”或“插入用户窗体”,则增加一个“模块”或“用户窗体”,在此模块或窗体中就可以运用Visual Basic语言编写函数和过程。
其中,在模块中编写的函数和过程称为宏。
当所需数据都写入到EXCEL后,通过设备运行管理系统的存储设备数据模块把设备的数据存入ORACLE数据库中。
其中,存储设备数据模块是通过Excel的VB接口和ADO(数据访问对象)技术把数据远程存入ORACLE数据库中。
具体实现方法如下:定义连接ORACLE数据库的连接字符串:Public Const strconn = "Provider=ORAOLEDB.ORACLE.1;User_ID=equipment;Password=ll;Data Source=equipdms;"定义连接数据库所需的变量:Public cnora As New ADODB.ConnectionPublic rsora As New ADODB.Recordset打开数据库连接:cnora.Open strconn打开数据库记录集:rsora.Open "shebeiinfo", cnora, adOpenKeyset, adLockPessimistic, adCmdTable然后,通过以下操作记录集的方法,向ORACLE数据库存入数据:rsora.AddNewrsora.Fields(0).V alue = Sheet1.Cells(1, 1) …把EXECL单元格第1行第1列的值存入数据库rsora.Update其中,原油集输处理站设备的数据库表结构如下:设备基本信息表(设备名称,安装地点,设备编号,设备型号,出厂编号,启用日期,备注);设备日运转记录表(设备名称,安装地点,设备编号,点检时间,电压,频率,电流,进口压力,出口压力,平衡压力,泵前温度,泵后温度,机前温度,机后温度,定子温度);设备日交接记录表(设备名称,安装地点,设备编号,交接时间,班运转时间,一保后时间累计,二保后时间累计,班故障停时间累计,月运转时间,总累计时间,泵温状况,机温状况,轴承状况,润滑状况,稳定状况,振动状况,平衡状况,紧固状况,声音状况,泄漏状况,保养状况,启停状况,配电状况,辅机状况,班次,交岗人,接岗人,备注);抽油机设备的数据库表结构如下:设备基本信息表(井号,设备型号,所属队站,出厂编号,设备编号,启用日期,备注);日运转记录表(井号,日期,当日运转小时,一保后累计小时,二保后累计小时,原始累计小时);月度总结表(井号,填表日期,上月止原始累计小时,上次一保后累计小时,上次二保后累计小时,完好天数,出勤天数,故障停机小时,运行小时,备注,单位负责人,填表人)。
关键词:设备,系统,数据,采集,运转,运行,scada,实现,信息,图3设备一保时间提示图4设备二保时间提示3.4 设备保养管理系统实现了原油处理站机泵设备、油区抽油机等设备的一保、二保时间自动统计,并能根据设备保养时间通知用户何时应该保养。
当用户确认后,系统会自动把一保或二保时间清零,设备一保和二保时间提示如图3和图4。
同时,到每月25号,系统会自动把设备月运转时间清零。
3.5 报表生成及打印VB是常用的应用软件开发工具之一,但是,VB的报表功能有限。
当报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。
因此系统充分利用EXECL的强大报表功能来完成设备日运转报表的生成和打印,便于用户调整表格,减少编程的工作量。
但VB与EXCEL由于分别属于不同的应用系统,因此,需在系统工程中引用Microsoft Excel类型库,并定义EXCEL对象,才能通过VB程序调用EXCEL报表。
Dim xlApp As Excel.Application 定义EXCEL类Dim xlBook As Excel.Workbook 定义工件簿类Dim xlsheet As Excel.Worksheet 定义工作表类Set xlApp = CreateObject("Excel.Application") 创建EXCEL应用类xlApp.Visible = True 设置EXCEL可见Set xlBook = xlApp.Workbooks.Open("e:设备运转记录表.xls") 打开EXCEL工作簿Set xlsheet = xlBook.Worksheets(1) 打开EXCEL工作表xlsheet.Activate 激活工作表xlsheet.Cells(1, 1) = rsora.Fields(0).V alue 给EXECL单元格第1行第1列赋值3.6 WEB发布为了方便各职能部门对设备数据的需求,系统采用三层结构和JSP技术,开发了设备数据查询应用子系统。