组态王在采油集输中的应用论文_钱楠

组态王在采油集输中的应用论文_钱楠

钱楠

(江苏油服建设总公司 225261)

摘要:以油田采油站为例,介绍了使用组态王进行自控系统设计,详细阐述了该系统的系统结构、软件组成部分,以及通讯的实现。在数据存储方面,采用SQL技术讲数据保存到ACCESS中并且利用VBA技术奖数据检索到EXCEL中。

关键词:组态王;自控系统;VBA;数据存储

在某采油集输自控系统设计中,采用组态王6.53、OPTO、ACCESS和EXCEL的结合设计了整个系统。上位机采用研华的工控PC机,系统监控采用亚控组态王软件;底层数据采集和控制由PLC、OPTO、智能仪表完成。由于组态王在数据库功能上比较薄弱,在设计中采用SQL技术将数据保存到ACCESS中,并且通过VBA(Visual Basic For Application)编程实现EXCEL对ACCESS数据库的查询。

1、系统概述

系统中存在多种不同类型的监控变量,其中有一部分需要控制的变量(如压力等),这可以利用PLC实现控制;有一部分变量只需要采集(如液位、温度等),这些变量可以通过用组态王支持的智能仪表进行采集。

整个系统结构上采用多级分布式结构,分为两个数据采集站和一个监控总站;按照功能划分本系统则分为设备现场控制、现场数据采集、远程设备监控三部分。

底层由PLC、OPTO、智能仪表组成。其中,PLC主要完成现场控制设备的控制。OPTO和智能仪表完成对现场数据的采集。数据采集站作用是与底层的PLC、OPTO和智能仪表通讯,获取生产过程的数据,显示工艺流程,历史曲线图,实时曲线图,报警画面,生成数据库等。监控总站与数据采集站通过以太网连接,以获取生产工艺参数,报警记录 等数据信息。监控总站可以根据操作人员的选择切换监视各个数据采集系统的运行情况。监控总站计算机还完成网络服务器的功能,将这些生产参数上网传输,实现网络化远程监控。

2、软件设计

整个监控软件以组态王6.53作为编辑平台。整个监控系统具有如下主要功能:

1)总体监控:显示采集数据的实时值,组态王通过底层PLC、智能仪表和OPTO通讯,访问相关设备寄存器来获得各设备的运行情况,并通过动画连接、实时曲线等显示出来。

2)历史曲线:显示系统运行时各个主要变量的历史记录,可以查询以前的历史记录时段,任意时间的记录。

3)控制功能:在上位机可对底层PLC、智能仪表进行控制,实现远程控制。

4)数据存储:每隔一定时间将数据保存到ACCESS中,方便以后的查询,所保存的数据还可以通过EXCEL进行查询,进行二次处理。

5)报警功能:当有事故或故障发生时,微机通过外接音箱发出语音报警,并在微机屏幕上给出提示;报警画面上可以设置报警的上限、上上限、下限和下下限,当超过了设置的范围时就会有报警,保证了系统的安全运行。

6)打印功能:打印各种报表、历史曲线、运行记录、报警数据等。

PLC和组态王所支持的智能仪表与组态王之间的通讯不需要编写程序读取设备的内部寄存器的值,相关的驱动程序已经集成在组态王中,只需要在组态王中定义对应的设备,并定义相应的I/O变量即可读取设备内部寄存器的值。

期刊文章分类查询,尽在期刊图书馆

3、数据处理

3.1数据存储

组态王虽然可定义数据文件在硬盘中的保存日期(超过该日期自动从硬盘中删除),但如果要保存的时间较长,保存的数据量将非常庞大,不仅造成硬盘的浪费,而且由于组态王的数据文件结构形式复杂,年终时报表处理也需要花费大量的处理时间。因此,在本系统中使用SQL技术,将数据隔一定的时间(如一小时)保存到ACCESS中。

具体实现步骤如下:首先,建立一个ACCESS数据库,再次命名为“变量数据”,并且建立相应的数据表“温度数据”,然后在控制面板中的ODBC数据源中添加一个基于驱动程序ACCESS Driver的数据源,在本系统中取名为“工作站”,并将该数据源连接到刚刚建立的ACCESS数据库“变量数据”。在组态王中用语句SQLConnect(DeviceID,“dsn=工作站;uid=;pwd=”)实现和数据库的连接。接着在组态王中建立对应的记录体,记录体名应和数据表名相同;记录体中的字段名称也需和数据表中的字段名称相同。建好记录体后,可以在组态王命令语言中的“运行时”使用SQLInsert(DeviceID,“温度数据”,“温度数据”)语句将组态王的数据保存到ACCESS数据库中,当系统退出运行时语句SQLDISCONNECT(DeviceID)断开和数据库的连接。

3.2、数据检索

考虑到组态王提供的报表格式有限,不能满足工程的需要,而使用EXCEL可以方便地进行表格式数据综合管理和分析等二次处理的功能,系统添加了EXCEL对ACCESS数据库进行查询的功能。EXCEL提供了“宏”的概念来进行功能扩展,宏是存储在Visual Basic模块中的一系列命令和函数,当需要执行该项任务时可随时运行宏。其开发环境称之为VBA(Visual Basic For Application),VBA提供了一套基于VB的面向对象的系统开发工具,很多语法继承于VB语言,可以像编写VB程序那样来编写VBA程序,实现特定的功能。支持VBA二次开发的应用程序都内建许多对象,这些对象都具有方法和属性。VBA通过改变这些对象的属性,调用相应的方法访问这些对象,实现编程目的。EXCEL中的VBA主要在VB中增加了关于EXCEL工作薄、工作表、区域、数据透视表等对象的属性、事件和方法。

要使用VBA进行数据库查询必须先添加“Xlodbc.xla”加载宏,该宏中封装了对数据库访问、搜索、查询的功能,该宏在office安装盘中可以找到,添加方式为“EXCEL-工具-宏-Visual Basic编辑器-工具-引用”。

在使用VBA编程时,首先要注意在EXCEL中工作薄定义为“Workbook”工作表为“worksheet”区域为“range”单元为“cell”。在编程时对单元格进行操作,必须指明单元格所在的工作表以及所在的区域。以下语句示例将Sheet1上A1单元格的值设置为3.1,Worksheets(“Sheet1”).Range(“A1”).Value=3.1。

下面介绍几个重要的数据库检索函数:

chan=SQLOpen(“DSN=sever”)建立与数据源的连接,其中sever为数据源名。

SQLExecQuery(Connection,Text)函数在该数据源上执行查询。

Connection指定要查询的数据源的唯一连接标识;Text要在数据源上执行的查询内容。

Set output=Worksheets(“电流”).Range(A1”)将查询结果显示在表“电流”的A1单元格中。

通过在VBA中编程,实现了在EXCEL中对ACCESS数据库的查询,查询的结果可以利用EXCEL强大的数据处理、统计分析功能进行数据的二次处理。

结束语

系统采用SQL技术将数据定时保存到ACCESS数据库中,解决了历史数据库占用磁盘空间大的问题,而且保存的数据可以使用EXCEL进行查询,生成EXCEL形式的报表,解决了组态王提供的报表格式不能满足实际标准或实际工程的需要问题。

参考文献:

[1]穆亚辉,组态王软件实用技术[M].河南:黄河书水利出版社,2012-06-01

[2]宪惠,现场总线技术及其应用[M].北京:清华大学出版社,2008.10.01

[3]刘明俊,计算机控制原理与技术[M].湖南:国防科技大学出版社,1999-06-01

[4]李红萍,工控组态技术及应用[M].西安:西安电子科技大学出版社,2013-01

论文作者:钱楠

论文发表刊物:《电力设备》2015年3期

论文发表时间:2015/11/2

标签:;  ;  ;  ;  ;  ;  ;  ;  

组态王在采油集输中的应用论文_钱楠
下载Doc文档

猜你喜欢