黃東生,黃海軍,陳慶松
(1.廣西百色銀海發電有限責任公司,廣西 百色 533615;2.華電云南發電有限公司,云南 昆明 650228)
電力現貨市場[1-3]轉入正式運行后,發電廠的有功調整愈發頻繁多變,原人工下令的模式不再適應,依據發電計劃曲線自動下令的方式悄然間成為了主流。由于應用時間不長,多數的技術研究都針對計劃曲線的編制[4-7]、下令[8-9]、接收[10-11]等環節開展,而后續的運行監視環節研究較少。
在實際工作中,準備不充分、功能不完備、測試不全面等因素客觀存在,電力市場的運行難免存在一些不安全、不穩定的因素。同時,由于計算機監控系統廠商普遍使用C/C++開發通信程序,使用C++或Java開發界面程序,封裝性強、保密性好,導致了運用過程中的異常難以檢測,加上后期組態維護需要配置數據庫、修改程序等產生調度影響的復雜操作,不再具備及時修改的條件。因此,曲線接收雖然無異常,但程序及參數的不足引起的漏監視、漏控制的現象偶有發生,甚至可能觸發一些嚴重的電力調度問題。綜上,必須進一步研究和完善計劃曲線應用過程中的參數檢測、異常診斷以及報警等功能。
首先需要獲取計劃曲線及系統的相關數據。
南網總調采用IEC60870-5-104規約中的ASDU 137號報文[8]下發有功計劃曲線和電壓上下限曲線,每條曲線包含0:00-23:55時間段內每5 min為間隔的288個時刻中的各個拐點的計劃值[12]。
以J集控中心的曲線報文為例:

報文中每個拐點由3個時間字節+2個計劃值字節組成。計劃值字節為歸一化值;時間字節由曲線起始地址疊加時間序號來表示,公式為:

式中:hn、mn為第n(1≤n<289)個拐點的小時、分鐘值,And為曲線第n個拐點的十進制地址、Ah為曲線的十六進制起始地址,hex2dec為十六進制轉換為十進制的函數。
根據公式1和104報文規則,可知第1個拐點為 44 69 00 22 01,其時間為0:05(44 69 00)、計劃值為290 MW(22 01)。
拐點n后的數據保持不變,直到拐點n+1的前一個時刻x,該時刻到拐點n+1間的計劃值擬合公式為:

式中:Pn、Pn+1為前后兩個拐點的計劃值,Px是[5n-5,5n)時段內第x min的理論值(0≤x<5)。
曲線的日期對應于最后的7個字節,為CP56Time2a 格式(見圖1),如00 00 00 00 f5 03 15(2021/03/21),可用于校驗曲線有無誤用等。

圖1 CP56Time2a數據幀格式示意圖
上述數據通過bash、Python或者batch腳本語言來獲取,在不破壞系統安全性、穩定性的情況下,形成“嵌入式”報警程序。當然,南自、南瑞、中水科等主流的計算機監控系統均支持用子程序來獲取上述數據或有關的字符串;同樣可以使用腳本語言來截取字符串、轉換數據類型等,使得報警程序的開發和應用更為高效。
通常,廠站調度通信服務器負責信息接收和預處理,然后發送給各個服務器;主機完成邏輯運算等處理后,將報警推送至操作員站(見圖2,括號中數文字表示冗余網絡或機器的標識)。
本方案在運算機上使用腳本語言編程,進行數據的分析、判斷、報警等,并將新的信息廣播至操作員站,最終實現發電警報功能。
在常規報警的基礎上,增加控制模式、控制權限的判別,精確識別模式變換、負荷波動等電力現貨市場中的異常,降低了報警量,為運行監視提供有效的技術支撐。

圖2 電力生產通信網絡結構示意圖
2.2.1 控制模式的識別
南網總調的控制狀態信息格式為:“3+功率控制模式碼+功率調節模式碼”,見表1、表2:

表1 常見功率控制模式一覽表

表2 功率調節方式一覽表
實際的控制狀態多達35種,如果逐一進行判別,那么編程的復雜度明顯過高。通過腳本語言的字符處理函數可以快速甄別模式,大大減少了if或case的層級,提高運算速度。同時,針對電力管理的重點,可對電力市場的相關模式進行重點監控,能夠充分釋放運行人員的監屏壓力。
2.2.2 控制機構的識別
發電警報的實時性、必要性需要考慮控制權所有者。特別是在電力市場下,指令變化快,處理時限短,自動化要求明顯提高。通過及時識別控制權的變化,結合控制權考慮報警的頻次,有助于運行人員快速響應電力市場要求。
當曲線模式投入時,判斷曲線有無正常下發。
超時報警:判斷有無正常下發,判斷時間翻轉是否正確。
新接收提醒:接收到新曲線后進行提醒。
數值越限報警:根據機組的運行工況精準調整有功上下限,并判斷數值有無越限。
數據變化報警:如果前后兩個周期間數值有變化,那么彈出報警。
數據變化過大報警:如果前后兩個周期數值偏差過大,且機組沒有在調整過程中,那么推送報警;以便運行人員及時開停機。
偏差報警計算條件:計算給定和實發的差值,如果差值大于全廠調節死區,那么進入判斷。
單周期差值過大報警:如果單個運算周期內差值過大,那么報警。
多周期偏差過大報警:如果連續3個周期都偏差過大,那么推送一級報警。
累積變化量過大報警:機組通常在40 s左右完成功率調整,如果30 s累積變化量過大,那么推送一級報警。
報警程序中,首先通過腳本語言獲得計劃曲線相關數據后,進行分析、統計,構建報警模型(邏輯設計見圖3),然后通過SSH啟動操作員站的語音報警,達成發電報警的目的。

圖3 算法邏輯簡圖
上述語音文件通過離線TTS引擎合成,而SSH遠程播音可以使用play等工具,如圖4:

圖4 語音報警的廣播演示
腳本語言不光可以實現“嵌入式”的報警程序,同樣可以與現有的計算機監控系統進行交互。
調用系統子程序,可以對實時數據庫的測點進行讀、寫操作,實現數據交互效果。見圖5:

圖5 數據動態監測和文本報警演示
文本報警:在數據交互的基礎上,改變已有的或新增的開關量測點當前值,從而借助計算機監控系統自身的簡報功能進行文本報警。
語音報警:調用系統已有的語音程序,直接進行語音廣播(無須SSH遠程調用),從而啟用系統的語音報警。
腳本程序獨立地根據曲線報警模型進行報警,并寫入一個實時測點p1去觸發計算機監控系統的內部報警;同時,定期檢測該測點p1有無復位,如果復位,那么同步復位(終止)循環報警程序。
計算機監控系統內部,由于測點p1被腳本程序置位,因此點亮p1光字牌,直至人工操作復位為止。由此,兩個程序通過一個實時測點(p1)就實現了內外部之間的操作交互,見圖6。

圖6 報警程序與系統程序的交互邏輯示意
發電報警程序的開發應用,提高了電力現貨市場下設備的運行管理水平。該程序部署在云南省某大型水電流域集控中心,使用已近一年,解決了原有設備系統中計劃跳變、計劃突變等無法檢測的問題,提高了設備狀態監測能力,為準確、及時、高效地按照電力現貨市場需求提前完成機組開停機提供了技術支撐;特別是數據的交互設計功能,大大增強了夜間防止漏監視、漏調整的能力,保障了供電的穩定性。
采用“嵌入式”腳本的方式進行設備系統的功能擴展開發,不會改變原有系統的穩定性和安全性,具有較強的實用意義;非設備廠商的技術人員參照上述方法,也可以基于已有的設備系統進行二次開發,提高了發電運行經驗的快速落地,彌補了廠商系統的不足,亦有助于提高所在單位的發電運行水平。