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