电力调度监控系统的设计研究
2022-06-17任学锋
任学锋
(山西焦煤霍州煤电 供电分公司,山西 霍州 031412)
1 概况
在电网中,SCADA 系统用于现场设备的数据采集、监视和过程控制,是一个基于计算机的生产过程控制和调度自动化系统,它可以完成数据采集、设备控制、测量、参数调整和各种信号报警,对提高电网运行的可靠性、安全性和经济效益具有重要作用。本文对霍州煤电集团供电分公司的霍州煤电矿井及地面生产生活的供电网络的智能化监测系统进行了分析研究,设计了一个由Java 编写的SCADA 系统,连接下层中央控制器和上层网络监控系统,作为电网智能监控平台的枢纽。介绍了电网SCADA 系统的体系结构和主要处理任务,描述了SCADA 系统的设计实现和运行测试方式,为电网的监控系统设计提供了参考。
2 电网SCADA 监控系统的设计
2.1 电网信息简介
霍州煤电集团供电分公司担负着整个霍州煤电矿井及地面生产生活的供电任务,目前在集团公司附近总计有16 个变电站,其中3 个110 kV 变电所,13 个35 kV 变电所。目前,大部分变电站视频监控系统存在画面缺失、模糊等问题,且电力调度监控主站无法清晰、流畅的调度各变电站的监控画面,部分变电所的摄像机及各部件已经损坏。因此有必要对电网的监控系统进行智能化改造。
2.2 电网中SCADA 系统的体系结构
霍州煤电矿井及地面生产生活的供电网络主要由电网硬件系统和电网智能监控平台组成,此次设计的SCADA 系统的架构如图1 所示。SCADA 系统收到上层客户端控制指令后,将指令解析,解析后的数据存储在MySQL 数据库中,并通过UART 以太网发送给下层中央控制器。
图1 SCADA系统的体系结构Fig.1 Architecture of SCADA System
2.3 SCADA 系统中的业务处理
SCADA 系统调用线程类的“start”方法来启动线程。“start”方法调用将异步调用该线程类的“运行”方法,业务处理在“运行”方法中。系统以“运行”方式通过IO 流接收Modbus/TCP 协议数据帧。在对数据帧进行解析和验证之后,会根据协议数据帧中的控制代码字段对其进行分类。根据分类结果,数据以5 种不同的方式进行处理,即电气报文业务处理、报警报文业务处理、客户请求系统核对时间的报文业务处理、上位监控系统发送控制指令的报文业务处理、上位监控系统给出发电计划指令的报文业务处理。SCADA 系统的业务处理流程如图2 所示。
图2 电网SCADA系统中的业务处理流程Fig.2 Business process in SCADA system
系统将汇总的电气数据插入电网电气表中,当数据被插入到电网电气数据库表中时,系统首先判断是否存在当前日期的电网电气表,若不存在则创建该表格并插入数据;如果该表存在,则直接将数据插入其中。SCADA 系统每5 s 收集一次微电网电气数据,一天将有17280 项,数据量巨大,因此每次访问这些表时,即使是简单的数据库连接也可能会影响效率。本文使用缓存机制来解决这个问题,缓存机制通过当前电网电气表的缓存识别当前日期电网电气表存在或不存在,并结合“不存在则创建表”语句解决系统重启时缓存清空问题,保证电网电气数据采集在SCADA 系统中的稳定性。
3 监控系统测试
3.1 系统启动测试
首先,在命令行控制台输入“net start mysql”来启动mysql 数据库,然后输入“java -jar server.jar”来启动SCADA 系统。SCADA 系统启动时会创建一个“ServerSocket”连接套接字,提供2 个参数绑定计算机的IP 地址和端口号。系统开始读取配置文件,并将通过静态块完成配置信息的读取并加载配置文件中的启动模块。
静态块是在JVM 加载的初始化阶段执行的,并且只执行一次。系统在第一次加载启动模块时会创建一个线程池。线程池的最大容量从配置文件中获取,按照线程池最大容量的10%预先在线程池中创建一定数量的线程。接着,系统创建2 个链接表,记录下层中央控制器连接信息的中央控制器链接表(mcu 链接表),以及记录上层网络监控系统连接信息的上层网络监控系统链接表(网络链接表)。最后,系统调用“ServerSocket”连接套接字的“accept”方法来阻塞和等待来自客户机的连接请求。结果显示这些线程的状态,包括它们的序列号和一个标记是否被使用的标志。测试结果如图3、图4 所示。
图3 MySQL的服务器启动Fig.3 Server startup of MySQL
图4 监控和数据采集系统启动Fig.4 Monitoring and data acquisition system startup
3.2 客户端连接测试
SCADA 系统启动完成后,客户端可以向SCADA 服务器发送连接请求。如果客户端的IP 地址在合法的权限范围内,系统会通过IO 流接收协议数据帧并解析。如果根据Modbus 协议规范,解析的协议数据帧是合法的,并且线程池中有可用的线程,则建立连接,否则连接断开。测试结果如图5、图6 所示。
图5 SCADA系统收到非法连接请求Fig.5 SCADA system receives illegal connection request
图6 SCADA系统接收合法连接请求Fig.6 SCADA system receives legitimate connection request
3.3 安全模块测试
当多个客户端连接到SCADA 系统时,系统可以正常运行,因此该系统具有良好的可扩展性。此外,任何异常客户端都不会影响客户端与SCADA服务器之间的正常通信,测试结果如7 图所示。
图7 多个客户端连接到SCADA系统Fig.7 Multiple clients connected to SCADA system
3.4 控制指令解析和传输测试
当发电量不足以供应所有负载时,管理员可以指示系统断开一个负载与电网系统的连接。如图8 所示,管理员在WEB 监控系统中选择要与电网系统断开的负载1,点击“确认”按钮,后台程序将根据前台界面的指令形成一帧控制。然后,控制帧将通过socket 的IO 流发送到SCADA 系统。接下来,SCADA 系统在解析该指令后通过UART以太网模块将该指令发送到中央控制器,并将该操作插入MySQL 数据库的“microEventTable”。最后,电网硬件平台执行指令切断负载,保证电网安全稳定。
图8 WEB监控系统中的实时控制用户界面Fig.8 Real-time control user interface in WEB monitoring system
4 结语
本文对霍州煤电集团供电分公司的霍州煤电矿井及地面生产生活的供电网络的智能化监测系统进行了分析研究,针对目前存在的问题,设计了一个由Java 编写的SCADA 系统。介绍了SCADA 系统在电网中的重要性和功能,提出了作为电网中间件的SCADA 系统的体系结构,并详细描述了SCADA 系统的Java 程序设计。该系统能够实现实时数据采集与存储、控制命令解析与传输、系统安全与稳定,保障电网的负载平衡和资源回收。运行测试证明了该系统的实用性和可行性。