论文部分内容阅读
SCADA (Supervisory Control And Data Acquisition,监控和数据采集)系统是以计算机为基础的过程控制和调度自动化系统。它对工业现场的设备进行监视和控制,并实现数据采集与分析、设备运行控制、异常报警等功能。SCADA系统可应用于电力、石油、化工、冶金等诸多领域,特别是在电力行业中其应用最为广泛和成熟。数据库系统作为SCADA系统中的重要模块,是进行数据采集、处理和存储的基础,也是系统中其它模块实现交互的纽带。而传统的关系型数据库在事务的处理和调度上忽略了时间因素的影响,不适合SCADA系统中所涉及的数据快速处理等时间关键型事务的处理。考虑到SCADA系统所要求的较高的实时性,就必须对数据库进行专门的设计。本文中的数据库系统是基于变电站SCADA系统进行设计和开发的。首先,对于变电站SCADA系统的实现目标和数据库处理需求进行分析,并结合数据库的理论基础和特点确定设计目标。然后,基于整个SCADA系统软件的框架,描述了数据库模块所实现的功能。在此基础之上,对数据库各部分的实现方法进行详实的阐述。同时,提出了针对变电站SCADA系统的数据库系统模型,并对数据库的基本功能,如数据采集、设备控制、参数调节、快速诊断、异常报警等进行了详尽的介绍。本课题中的数据库系统是采用综合的设计方法,将关系数据库和实时数据库集成于一个框架之中。在SCADA系统的数据处理过程中,数据库系统将事务根据不同的时间特性分别在不同的数据库中进行处理,以实现较高的事务处理效率。系统中的关系数据库采用的是成熟的SQL Server2000数据库。由于SQLServer2000具有可靠性高、操作简单、易于开发等优点,同时又具有关系数据库的基本特证,非常适用于数据库系统的开发。系统中的实时数据库则采用了内存型数据库技术。SCADA系统的各种数据和信息的分析与处理都在内存中进行,这为系统实现事务的快速处理提供了保障。当然内存型数据库在保证了SCADA系统实时性的同时也带来了一些新的问题,如对并发实时事务的处理及其优先级、多重访问数据库的锁机制、异常情况下的数据恢复等问题。本文将在利用内存型数据库满足SCADA系统的实时性要求的同时,提出对上述问题的解决方法,并作出相应的可靠性验证。在数据库系统的实现上,本课题采用Microsoft Visual C++6.0作为开发工具,采用COM (Component Object Model,组件对象模型)技术和多线程技术实现系统内不同模块和子系统对数据的访问。并采用模块化的编程方法,方便对系统的维护。本数据库系统已整合剑变电站SCADA系统中。该系统已应用在多个10KV的中小型变(配)电站中,并且运行稳定。