任學鋒
(山西焦煤霍州煤電 供電分公司,山西 霍州 031412)
在電網中,SCADA 系統用于現場設備的數據采集、監視和過程控制,是一個基于計算機的生產過程控制和調度自動化系統,它可以完成數據采集、設備控制、測量、參數調整和各種信號報警,對提高電網運行的可靠性、安全性和經濟效益具有重要作用。本文對霍州煤電集團供電分公司的霍州煤電礦井及地面生產生活的供電網絡的智能化監測系統進行了分析研究,設計了一個由Java 編寫的SCADA 系統,連接下層中央控制器和上層網絡監控系統,作為電網智能監控平臺的樞紐。介紹了電網SCADA 系統的體系結構和主要處理任務,描述了SCADA 系統的設計實現和運行測試方式,為電網的監控系統設計提供了參考。
霍州煤電集團供電分公司擔負著整個霍州煤電礦井及地面生產生活的供電任務,目前在集團公司附近總計有16 個變電站,其中3 個110 kV 變電所,13 個35 kV 變電所。目前,大部分變電站視頻監控系統存在畫面缺失、模糊等問題,且電力調度監控主站無法清晰、流暢的調度各變電站的監控畫面,部分變電所的攝像機及各部件已經損壞。因此有必要對電網的監控系統進行智能化改造。
霍州煤電礦井及地面生產生活的供電網絡主要由電網硬件系統和電網智能監控平臺組成,此次設計的SCADA 系統的架構如圖1 所示。SCADA 系統收到上層客戶端控制指令后,將指令解析,解析后的數據存儲在MySQL 數據庫中,并通過UART 以太網發送給下層中央控制器。

圖1 SCADA系統的體系結構Fig.1 Architecture of SCADA System
SCADA 系統調用線程類的“start”方法來啟動線程。“start”方法調用將異步調用該線程類的“運行”方法,業務處理在“運行”方法中。系統以“運行”方式通過IO 流接收Modbus/TCP 協議數據幀。在對數據幀進行解析和驗證之后,會根據協議數據幀中的控制代碼字段對其進行分類。根據分類結果,數據以5 種不同的方式進行處理,即電氣報文業務處理、報警報文業務處理、客戶請求系統核對時間的報文業務處理、上位監控系統發送控制指令的報文業務處理、上位監控系統給出發電計劃指令的報文業務處理。SCADA 系統的業務處理流程如圖2 所示。

圖2 電網SCADA系統中的業務處理流程Fig.2 Business process in SCADA system
系統將匯總的電氣數據插入電網電氣表中,當數據被插入到電網電氣數據庫表中時,系統首先判斷是否存在當前日期的電網電氣表,若不存在則創建該表格并插入數據;如果該表存在,則直接將數據插入其中。SCADA 系統每5 s 收集一次微電網電氣數據,一天將有17280 項,數據量巨大,因此每次訪問這些表時,即使是簡單的數據庫連接也可能會影響效率。本文使用緩存機制來解決這個問題,緩存機制通過當前電網電氣表的緩存識別當前日期電網電氣表存在或不存在,并結合“不存在則創建表”語句解決系統重啟時緩存清空問題,保證電網電氣數據采集在SCADA 系統中的穩定性。
首先,在命令行控制臺輸入“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
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
當多個客戶端連接到SCADA 系統時,系統可以正常運行,因此該系統具有良好的可擴展性。此外,任何異常客戶端都不會影響客戶端與SCADA服務器之間的正常通信,測試結果如7 圖所示。

圖7 多個客戶端連接到SCADA系統Fig.7 Multiple clients connected to SCADA system
當發電量不足以供應所有負載時,管理員可以指示系統斷開一個負載與電網系統的連接。如圖8 所示,管理員在WEB 監控系統中選擇要與電網系統斷開的負載1,點擊“確認”按鈕,后臺程序將根據前臺界面的指令形成一幀控制。然后,控制幀將通過socket 的IO 流發送到SCADA 系統。接下來,SCADA 系統在解析該指令后通過UART以太網模塊將該指令發送到中央控制器,并將該操作插入MySQL 數據庫的“microEventTable”。最后,電網硬件平臺執行指令切斷負載,保證電網安全穩定。

圖8 WEB監控系統中的實時控制用戶界面Fig.8 Real-time control user interface in WEB monitoring system
本文對霍州煤電集團供電分公司的霍州煤電礦井及地面生產生活的供電網絡的智能化監測系統進行了分析研究,針對目前存在的問題,設計了一個由Java 編寫的SCADA 系統。介紹了SCADA 系統在電網中的重要性和功能,提出了作為電網中間件的SCADA 系統的體系結構,并詳細描述了SCADA 系統的Java 程序設計。該系統能夠實現實時數據采集與存儲、控制命令解析與傳輸、系統安全與穩定,保障電網的負載平衡和資源回收。運行測試證明了該系統的實用性和可行性。