数据库技术在电力远程视频监控系统中的应用

时间:2023-05-14 16:00:07 公文范文 来源:网友投稿

摘 要:电力远程视频监控系统(RVMCSPS)是为配合变电站实现无人值守而增设的电网辅助监控系统。介绍电力远程视频监控系统的系统结构和功能基础,描述监控系统中站端软件的功能需求基础,系统阐述站端软件数据库部分的设计和实现过程。数据库系统设计由16个基本表和3个视图构成,选择Access作为数据库管理软件,选择使用Visual C++ ODBC访问数据库,调用MFC中CRecordSet类,实现对数据库的操作。

关键词:远程视频监控;数据库技术;ODBC;电力系统

中图分类号:TP311文献标识码:B

文章编号:1004-373X(2008)24-061-03

Application of Database Technology to the Remote Video Monitoring

and Control System for Power System

HAO Huizhen,GUO Lihong

(Nanjing Institute of Technology,Nanjing,211167,China)

Abstract:Remote Video Monitoring and Control System for Power System (RVMCSPS) serve to monitor and control the unattended substation in the power system.This paper firstly introduces the structure and function of the RVMCSPS system.On the basis of the function request of the substation system,this paper describes the design and development of the database system in the RVMCSPS.This database is composed of 16 tables and 3 views.Windows Access is selected as database management system in the RVMCSPS system,Visual C++ ODBC is used to access the database,while the CRecordSet class from MFC is used to operate the database.

Keywords:remote video monitor and control system;database technology;ODBC;power system

1 引 言

随着计算机网络技术、通信技术、数字视频技术的发展,计算机监控系统在生产和生活中发挥着越来越重要的作用。在电力系统中,供电公司希望对电力设备工程进行改造,使用无人值守变电站管理模式,通过现有的电力通信网对所属变电站实现远程实时视频监控、远程故障和意外情况告警接收处理,逐步实现电网的可视化监控和调度,提高变电站运行和维护的安全性及可靠性。电力远程视频监控系统(Remote Video Monitoring and Control System for Power System,RVMCSPS)是为配合变电站实现无人值守而增设的电网辅助监控系统。它最基本的目的是将变电站的各个监视点,如主控制室的设备运行情况、主变、断路器、隔离刀闸等运行状态实时图像、防火防盗等智能设备报警信息传输到监控中心,监控人员可通过实时图像和运动信息对变电站的运行情况进行综合监控、分析。本文在介绍电力远程视频监控系统的系统结构和功能实现基础上,系统阐述监控系统中站端数据库的设计过程和实现过程。

2 RVMCSPS的系统结构

电力远程视频监控系统由3部分构成:监控中心、管理服务器和变电站端。其采用典型的客户/服务器体系结构,该系统结构如图1所示。

监控中心由监控主机和统一平台监控软件组成,在监控主机上运行的是基于C/S模式的监控软件,实现对所辖前端变电站的视频监控,主要功能包括实时视频监控、远程控制、报警管理、图像管理、安全管理、功能配置、系统管理。管理服务器端由管理服务器和Web浏览端构成,运行的是基于B/S模式的软件系统。管理服务器兼作Web服务器,管理服务器运行统一监控软件,用于变电站端设备、系统用户、权限、数据等的管理,转发视频协议单元(RVU)和监控中心的数据。主要管理功能包括用户管理、用户权限管理、数据配置、数据转发、设备运行状态判断、告警、事件、日志记录。

变电站端由监控主机(即网络硬盘录像机DVR)、站端软件(站端服务器)、视频和开关量数据采集以及控制设备构成,监控主机作为监控中心最基本的监控点,为网络多用户提供同时多路基于TCP/IP传输协议的视频流服务和设备控制。授权的监控人员如果对视频监控和云台、照明灯等设备进行控制,可以发送控制命令给站端服务器,站端服务器接收到数据包后先按照协议解析出数据包的报文类型,然后按照报文类型分析其功能,按照相应的功能对硬盘录像机进行控制,例如对云台的方位控制、灯光的开关控制、雨刷的开关控制等等,控制功能实施后,变电站端发送控制命令完成与否的确认数据包返回给监控中心给予确认。当变电站端有红外报警、烟雾报警、玻破、水浸等意外情况报警或远程故障发生时,站端软件一方面主动上传数据包给监控中心告知报警产生,另一方面按照事先配置好的联动信息对相关设备进行处理,如指定DVR主摄像头录像、云台镜头放大并旋转至预置位、报警喇叭开启,照明灯或雨刷开启等一系列联动操作,记录下报警的现场信息。

3 RVMCSPS站端软件的功能需求

站端软件作为服务器端软件,主要接收监控中心发送过来的控制报文,然后根据协议规范来解析监控中心所发报文代表的具体含义,进而控制DVR完成相应的控制操作或者取得DVR的信息,然后把控制的结果或取得的DVR信息按照通信协议打包返回给监控中心。

站端软件主要功能包括:

(1) 接受远方配置功能,接受来自服务器的布撤防、服务器设置、终端端口号等信息并按命令对本机的数据库进行修改;

(2) 接受服务器的获取信息请求,从本地数据库中获取监控模、监控节点、联动配置、录像记录等信息返回给管理服务器;

(3) 控制功能,对任一摄像机进行控制,实现对摄像机视角、方位、焦距调整,对于带预置位云台能够直接进行云台的预置和操作;雨刷开关,录像开启或者停止;全部动作停止;照明灯开关控制;报警喇叭开关控制;网桥复位控制;烟雾复位控制;

(4) 当发生报警时,根据预制开启报警录像并对各个设备进行控制,将报警信息上传,在日志中进行记录;

(5) 系统对时功能,从监控中心获取标准时间进行系统对时;

(6) 对相关操作进行日志记录,并在需要时发送给管理服务器。

4 RVMCSPS站端数据库的设计和实现

4.1 数据库的设计

根据RVMSE的系统功能要求,对站端软件设计数据库系统,实现对变电站数据的自动管理。当端软件接收到监控中心发送过来的控制报文,分析报文数据流方式和动作,如果该报文的数据流向是从管理服务器发送数据到RVU,动作是设置或者操作RVU,则在操作完成后将相应的信息和操作记录录入数据库;如果该报文的数据流向是从RVU发送数据到管理服务器,动作是管理服务器获取变电站端的配置,则从数据库中取得相应的记录按照通信协议打包返回给监控中心。

在变电站端的数据库中,主要记录3部分信息:第一部分是事先配置好的控制信息,包括用户信息、变电站信息、远程视频单元信息、监控编号信息、监控模块(摄像头)信息、监控节点信息和录像纪录;第二部分是监控中心发给变电站端的信息,包括预置位信息、预案信息、定时联动记录、数值联动记录、布撤防记录和当前告警值记录;第三部分是日值记录,包括用户登录事件记录和历史事件记录。对系统功能要求进行需求分析后,数据库系统设计完成16个基本表,3个视图。每个基本表主要考虑所含数据域个数和命名,数据域的数据类型和长度,在该数据域上有什么约束条件,包括是否是主键、是否是外键、外键参照哪个数据表中的哪个数据域,能否为空,是否有缺省值,是否允许重复等。另外,每个数据域给出说明,说明该数据域的含义以及约束条件的说明。基本表的记录格式如表1和表2所示。此外,还跟据查询功能需要设计3个视图,通过SQL查询语句实现,提高了查询速度的同时减少了数据冗余。

4.2 数据库实现

Access是基于Windows的关系数据库管理系统,特点是操作灵活、转移方便、运行环境简单。由于RVMCSPS中对数据库的操作主要是数据存储和简单的数据管理、查询,并且不需要单独的数据库操作界面,简单数据库管理系统Access完全能够满足站端软件对数据的管理要求,所以选择Access作为数据库管理软件。

变电站端的服务器端软件是基于Windows使用Visual C++实现的,Visual C++提供了多种采用数据库的方法,因此选择使用ODBC(Open Database Connectivity)访问数据库,调用MFC中CRecordSet类,实现对数据库的操作,主要步骤如下:

(1) 建立数据库:在Access中创建数据库RVU.mdb,使用Access设计器或者向导根据数据库设计中表的设计,创建RVU数据库中各个表,并将数据录入数据库;

(2) 手动创建数据源:在控制面板中,打开ODBC数据源,选择用户DSN选项,点击添加按钮,开始创建数据源,在接下来的对话框中选择数据源的驱动程序,因使用的是Microsoft Access数据库,从列表中选择Microsoft Access Driver(*.mdb)数据库驱动程序,点击完成按钮,写入数据源名,点击选择按钮,选择相对应的数据库,单击确定后,一个数据源创建完成;

(3) 用ClassWizard创建一个CRecordset的派生类,建立记录集,其字段数据成员与数据库中对应的表或者查询的各字段相对应;然后定义一个CRecordset派生类对象,该类对象与对应的数据库关联;然后调用Open成员函数查询数据源中的记录并建立记录集,在Open函数中调用GetDefaultConnect()和GetDefaultSQL()函数建立连接;在建立记录集时,CRecordset会根据一些参数构造一个SELECT语句来查询数据源,并用查询的结果创建记录集;

(4) 调用CRecordSet的成员函数用于对数据库和记录集进行添加、查找、删除、修改等操作。

4.3 数据操作

所有对数据的操作都要首先打开记录集,操作完成以后关闭记录集以完成对数据库中数据的各种操作;否则会造成数据操作丢失,造成数据库中数据不一致。

(1) 添加新记录。

调用AddNew()成员函数进入添加模式,把当前域数据成员的内容保存在缓冲区中,然后设置域数据成员,调用Update()把域数据成员中的内容作为新记录写入数据库,结束添加。

(2) 查找指定记录。

由于该数据库中各个表的数据域比较多,而数据记录比较少,所以没有使用Find()来搜索记录集中满足指定某个条件的1条记录,而是对记录逐个进行比对是否符合条件。Recordset类提供了多个成员函数用来在记录集中滚动,所以采用成员函数在记录中查找。具体方法是首先调用对象的Open()成员函数打开记录集,调用MoveFirst()滚动到记录集中的第一个记录,然后调用IsEOF()检测是否滚动超出记录集的边界,如果没有超出该记录集则通过循环对记录集中的每个记录与查询条件进行比对,如果符合要求则查找到;如果在记录集中查找多条符合条件的记录,则调用MoveNext()前进一个记录继续进行比对;否则,调用MoveNext()前进一个记录,直到查找完整个记录集。

(3) 删除记录。

首先查找到指定记录,调用Delete()成员函数,该函数会同时给记录集和数据源中当前记录加上删除标记,如果删除多条满足条件的记录,则调用MoveNext()前进1个记录继续查找,最后调用成员函数Close(),将对数据集的删除操作通过数据源写入数据库中。

(4) 修改记录。

首先查找到指定记录,调用Edit()成员函数进入了编辑模式,修改域数据成员,最后调用Update()函数完成编辑,把变化后的记录写入数据源从而录入数据库中。

5 结 语

电力远程视频监控系统将监控中心和各个无人值守的变电站联系起来,实现了对变电站的实时无人监控,节省了人力、物力。该系统结构简洁、安装简单、外围设备接入比较灵活、传输速度快、运行稳定,已经在镇江供电公司管辖的多个变电站正常运行,并且接入镇江供电公司的统一控制平台,在电力系统中发挥了重要的作用。

参考文献

[1]赵新冬.变电站远程视频监控系统统一平台的设计及应用[J].电力信息化,2006,4(12):60-62.

[2]任萱,侯林海.变电站远程网络视频监控系统统一平台[J].江苏电机工程,2006,25(5):30-32.

[3]郭丽红,杨洁,郝慧珍.电力远程视频监控系统的设计与实现[J].南京工程学院学报,2006,4(3):63-67.

[4]刘生平.Visual C++.NET数据库开发技术与实践[M].北京:清华大学出版社,2005.

[5]张永强,赵永勇,李崇德.嵌入式远程视频采集系统的设计与实现.现代电子技术,2006,29(4):75-77.

[6]杨建全,梁华,王成友.视频监控技术的发展与现状.现代电子技术,2006,29(21):84-88,91.

作者简介 郝慧珍 女,1974年出生,硕士,助教。主要研究方向为计算机通信和数据库。

推荐访问:视频监控 数据库技术 电力 系统中的应用