曾海潤
(廣東電網(wǎng)有限責(zé)任公司湛江供電局,廣東湛江524000)
伴隨著工業(yè)發(fā)展和居民生活水平的提高,對電力的需求不斷增長,電網(wǎng)設(shè)備也不斷增多,加大了電網(wǎng)企業(yè)維護壓力。從大量自動化設(shè)備采集回來的設(shè)備運行數(shù)據(jù)是分析設(shè)備運行狀態(tài)的主要依據(jù)。配電網(wǎng)問題庫的數(shù)據(jù)填寫、質(zhì)量評價的傳統(tǒng)做法主要通過人工完成,數(shù)據(jù)量大,處理效率低?;诖?,本文提出了基于VBA的具備數(shù)據(jù)自校驗功能的配電網(wǎng)問題庫模板開發(fā),以解決人工處理量大且易錯的問題,可為電網(wǎng)企業(yè)收資、發(fā)布電網(wǎng)運行問題庫提供參考,以提高問題庫發(fā)布效率。
項目主要目標(biāo)為實現(xiàn)問題庫的數(shù)據(jù)自動校驗、錯誤數(shù)據(jù)自動著色,并針對錯誤數(shù)據(jù)生成報表。問題庫需要校驗的內(nèi)容主要含完整性、格式、邏輯三方面,為此,需梳理配電網(wǎng)規(guī)劃問題庫中的邏輯關(guān)系,通過VBA編程方式轉(zhuǎn)換成可執(zhí)行的程序語言,并建立報錯機制,從而實現(xiàn)軟件代替人工校驗的功能。方案框架如圖1所示。
圖1 方案框架圖
問題庫中邏輯按所屬表格分,可分為表內(nèi)邏輯、表間邏輯。其中,表內(nèi)邏輯數(shù)據(jù)在同一個工作表內(nèi),本文主要梳理出了配電網(wǎng)現(xiàn)狀表、負(fù)荷報裝情況表、中壓線路現(xiàn)狀表及問題表、公用配變現(xiàn)狀及問題表等四個表的表內(nèi)邏輯,共計69個;而表間邏輯數(shù)據(jù)在同一工作簿的不同工作表,本文主要梳理出了配電網(wǎng)現(xiàn)狀表、負(fù)荷報裝情況表、中壓線路現(xiàn)狀表及問題表、抗風(fēng)能力現(xiàn)狀及問題表、線路安全隱患及殘舊情況表、公用配變現(xiàn)狀及問題表等六個表的表內(nèi)邏輯,共計25個。
可分為枚舉類邏輯、計算類邏輯、比較類邏輯。其中,枚舉類邏輯指數(shù)據(jù)只能是某些特定值,如線路類別只能是“架空線路”或“電纜線路”;計算類邏輯指數(shù)據(jù)間可通過特定計算公式建立某種聯(lián)系,如線路總長度應(yīng)是電纜、架空絕緣線、架空裸導(dǎo)線相加之和;比較類邏輯值數(shù)據(jù)之間存在大于、等于、小于等數(shù)值關(guān)系,如線路總長度應(yīng)大于等于供電半徑等。
本文以Excel為開發(fā)平臺,應(yīng)用Excel內(nèi)嵌的VBA程序開發(fā)平臺,對配電網(wǎng)問題庫進行二次開發(fā)。采用該軟件進行開發(fā)的優(yōu)勢在于原有配電網(wǎng)問題庫格式為Excel文本,采用VBA程序進行開發(fā)無需再額外安裝其他開發(fā)軟件,數(shù)據(jù)調(diào)用均在同一平臺,調(diào)用方便,兼容性高。
根據(jù)前文邏輯梳理所述,配電網(wǎng)問題庫的二次開發(fā)需要實現(xiàn)數(shù)據(jù)跨表調(diào)用,數(shù)據(jù)算數(shù)計算、大小比較、條件邏輯運算等功能。
為實現(xiàn)問題庫中算數(shù)邏輯的校驗,需要對問題庫中的基礎(chǔ)數(shù)據(jù)進行計算,以線路總長度為例,線路負(fù)載率φ是根據(jù)線路電流I、線路安全電流Ie按公式(1)計算得出的。
為此,需調(diào)用中壓線路基礎(chǔ)數(shù)據(jù)表“fb1-4”中的線路電流I數(shù)據(jù)和安全電流數(shù)據(jù),并進行計算。VBA中的算數(shù)運算符如表1所示。
表1 VBA中的算數(shù)運算符
為實現(xiàn)問題庫中大小比較,僅需調(diào)用需比較的兩個數(shù)據(jù),并按表1所示公式進行校驗即可。以線路供電半徑和線路總長為例,線路總長上應(yīng)大于等于線路供電半徑。為此,需調(diào)用中壓線路基礎(chǔ)數(shù)據(jù)表“fb1-4”中的線路總長L和線路供電半徑R,并進行比較。VBA中的比較運算符如表2所示。
表2 VBA中的比較運算符
VBA中的條件判斷語句主要有if語句、select語句,每一種又分為單條件判斷和多條件判斷。if語句和select語句有不同的用法,本文主要采用if語句進行條件邏輯判斷。
如圖2所示,本文采用先校驗數(shù)據(jù)完整性,再校驗數(shù)據(jù)格式,最后校驗數(shù)據(jù)邏輯性的校驗方案,若數(shù)據(jù)不完整或格式錯誤則不再進行相應(yīng)邏輯校驗,以提高程序運行效率。
本文通過梳理問題庫的邏輯關(guān)系,采用VBA編程方式對配電網(wǎng)問題庫模板進行二次開發(fā),實現(xiàn)配電網(wǎng)問題庫的數(shù)據(jù)邏輯自動校驗、數(shù)據(jù)跨表自動填充等功能。通過軟件方式代替人工校驗問題庫內(nèi)容、格式及邏輯,縮短了該項工作的時間,可提高電網(wǎng)運行問題庫的發(fā)布效率。
圖2 程序執(zhí)行流程圖