方志輝,任存杰,崔立卿,方 馳,房旭雪
(國網(wǎng)浙江省電力公司岱山縣供電公司,浙江岱山316200)
隨著“物聯(lián)網(wǎng)+”發(fā)展模式的不斷推進(jìn),人工智能技術(shù)的逐日普及,配網(wǎng)運行管理正在由人工粗放管理模式逐漸向人機協(xié)同智能管理模式轉(zhuǎn)變。微電網(wǎng)、分布式電源以及各類電力設(shè)備的不斷接入,使配電網(wǎng)設(shè)備管理變得更加復(fù)雜,故設(shè)備基礎(chǔ)臺賬直接影響著智能電網(wǎng)建設(shè)的安全。
為適應(yīng)配電網(wǎng)發(fā)展,規(guī)范統(tǒng)一配電網(wǎng)設(shè)備命名,確保電網(wǎng)安全運行,提高配電網(wǎng)調(diào)度運行管理水平[1],公司發(fā)布了《國網(wǎng)浙江省電力公司配電網(wǎng)設(shè)備調(diào)度命名規(guī)范》。而在制度落地執(zhí)行中,發(fā)現(xiàn)在大量設(shè)備的投運和退役,命名不斷更新變化中,人工記錄經(jīng)常會造成各類紕漏等問題。加之近幾年來公司通過安裝小電流接地故障報警裝置、三遙開關(guān),改造配網(wǎng)自動化等措施來提升配電網(wǎng)供電可靠性。系統(tǒng)高度集合和智能化大幅度減輕了人工操作的壓力,但對系統(tǒng)基礎(chǔ)臺賬的管理提出了更高要求,必須確保地區(qū)內(nèi)配網(wǎng)設(shè)備不重名。
現(xiàn)新設(shè)備申報流程無系統(tǒng)保障,無良好的閉環(huán)環(huán)節(jié),導(dǎo)致設(shè)備重命名、不規(guī)范及現(xiàn)場設(shè)備與系統(tǒng)命名不一致等情況時有發(fā)生,臺賬由各部門各自人工存檔,易丟失,難追溯命名源頭,給設(shè)備管理帶來很大不便。
再則,合理安排電力設(shè)備檢修是保障電網(wǎng)安全穩(wěn)定運行的關(guān)鍵所在,可將檢修成本降至最低[2],目前雖推行了設(shè)備全壽命周期管理制度,但缺乏自動預(yù)警功能。
本系統(tǒng)已申請了一項計算機軟件著作權(quán)及兩項外觀專利,通過對設(shè)備命名的建檔管理,既做到了對配網(wǎng)設(shè)備命名的統(tǒng)一管理、解決命名重復(fù)性問題,還加入了設(shè)備壽命告警等功能,為配網(wǎng)自動化系統(tǒng)以及AI智慧調(diào)度系統(tǒng)的應(yīng)用提供了有力基礎(chǔ)。
改進(jìn)現(xiàn)有設(shè)備命名流程,實現(xiàn)設(shè)備命名閉環(huán)管理。新設(shè)備命名申請人根據(jù)相關(guān)資料上報設(shè)備建議命名,運行單位主管及調(diào)度部門對該命名進(jìn)行層層審核,經(jīng)確認(rèn)無誤后,正式下發(fā)設(shè)備命名文件。新設(shè)備正式投運時,由現(xiàn)場人員拍攝完現(xiàn)場命名牌并上傳信息,系統(tǒng)自動進(jìn)行數(shù)據(jù)核對,完成設(shè)備命名閉環(huán)管理,如圖1所示。
圖1 設(shè)備命名流程圖
如小白膠支線C0467開關(guān)需投運,經(jīng)上述流程發(fā)文后,在投運當(dāng)日,運行人員拍攝完現(xiàn)場命名牌,由客戶端上傳圖片,系統(tǒng)自動將圖片設(shè)備名稱與數(shù)據(jù)庫內(nèi)設(shè)備名稱進(jìn)行核對,如不一致彈出“錯誤對話框”,提示“現(xiàn)場設(shè)備命名與發(fā)文設(shè)備命名不一致!請核對現(xiàn)場命名牌正確性!”,如一致,則自動填報該設(shè)備的投運日期,如圖2所示。
圖2 現(xiàn)場設(shè)備命名核對圖
本系統(tǒng)是利用QT Creator和SQlite數(shù)據(jù)庫開發(fā)的一款應(yīng)用程序[3]。
QT Creator是一款輕量級集成開發(fā)環(huán)境,能使開發(fā)人員能夠利用Qt這個應(yīng)用程序框架更加快速及輕易的完成開發(fā)任務(wù),具有優(yōu)良的跨平臺特性、良好封裝機制、豐富的API、支持2D/3D圖形渲染,支持OpenGL和擁有大量的開發(fā)文檔等優(yōu)勢。
SQLite是一款輕型的嵌入式數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中,占用資源非常低,能夠支持Windows/Linux/Unix等主流的操作系統(tǒng),并能跟很多程序語言相結(jié)。
登錄系統(tǒng)后,主界面對6大類設(shè)備進(jìn)行命名、退役管理維護(hù),分別為開關(guān)、熔斷器、刀閘、環(huán)網(wǎng)單元、開關(guān)站、配電室;用戶設(shè)置項可以切換登錄用戶;幫助文檔可以查看系統(tǒng)使用方法、版本號等相關(guān)信息。單擊設(shè)備管理樹的任一設(shè)備,看到該設(shè)備的基礎(chǔ)信息、管理信息圖,見圖2。
設(shè)備編號查重功能是本系統(tǒng)特色之一。一是通過導(dǎo)入歷史數(shù)據(jù),系統(tǒng)將自動識別是否存在設(shè)備重復(fù)命名的情況,如有,則將列出所有重復(fù)命名或編號的設(shè)備信息。二是新錄入設(shè)備,當(dāng)客戶端輸入用戶自定義編號時,系統(tǒng)將自動與已有數(shù)據(jù)庫內(nèi)的編號進(jìn)行校對,如發(fā)現(xiàn)重復(fù)命名,則會提示“該編號已被使用”,無法進(jìn)行信息錄入。三是可全面查看設(shè)備編號使用情況,紅色的代表已被使用,白色的代表未使用。運行單位可以直接從中選擇需要的編號(實現(xiàn)某一個開關(guān)站、環(huán)網(wǎng)單元或一片區(qū)域內(nèi)設(shè)備保持編號連續(xù)性),如圖3所示。
圖3 編號查重及選擇圖
電力設(shè)備在整個使用壽命周期內(nèi)呈浴盆曲線[4]。該曲線是設(shè)備在運行壽命時間內(nèi),故障發(fā)展的規(guī)律,表現(xiàn)了故障率變化的三個階段:早期故障期,偶然故障期,嚴(yán)重故障期。它是以使用時間為橫坐標(biāo),以失效率為縱坐標(biāo)的一條曲線。據(jù)調(diào)查設(shè)備運行狀態(tài)發(fā)現(xiàn)早期故障失效時間比較短,例如油開關(guān)五年內(nèi)設(shè)備運行良好,6~8年開始腐蝕、機械指示故障、開關(guān)拉不開等情況開始出現(xiàn),大于9年,開關(guān)基本無法使用、屬于危急,通過綠色、橙色、紅色分別表示設(shè)備壽命全過程的三個階段,系統(tǒng)將自動對橙色和紅色設(shè)備進(jìn)行預(yù)警提示,如圖4所示。
圖4 設(shè)備年限預(yù)警圖
運行單位根據(jù)設(shè)備預(yù)警合理安排設(shè)備檢修計劃,降低設(shè)備故障率,提高供電可靠性。
除了上述功能外,還具有新增、修改、刪除和統(tǒng)計功能。對精益化配網(wǎng)業(yè)務(wù)起了支撐作用,每一項操作都應(yīng)事出有因,都能“追本溯源”。為相關(guān)部門統(tǒng)計新設(shè)備投運情況、設(shè)備狀態(tài)分析等提供統(tǒng)一數(shù)據(jù)來源。
本系統(tǒng)基于Qt Creator環(huán)境下進(jìn)行發(fā)開,它提供了完善的窗口模板,QMainWindow具有有菜單欄、工具欄、按鈕、滾動條、框架等控件[5-6]。如圖5為系統(tǒng)開發(fā)調(diào)試時的界面。
圖5 系統(tǒng)開發(fā)調(diào)試界面圖
main()主函數(shù)實現(xiàn)系統(tǒng)初始化,用戶信息存儲,調(diào)用QDialog::LoginWindow(登錄界面)對話框,正確輸入用戶名及密碼,則login.exec()為0,退出登錄界面,顯示MainWindow(主界面)對象,它繼承QMainWindow類,最后等待各類事件發(fā)生。主函數(shù)代碼如下:
int main(int argc,char*argv[])
{ //設(shè)置程序崩潰處理回調(diào)函數(shù)
SetUnhandledExceptionFilter(exceptionFilter);
QApplication a(argc,argv);
SQLiteControl::instance();//初始化
UserInfo::instance();//用戶信息存儲實例
LoginWindow login;
if(!login.exec())return 0;
MainWindow w;
w.show();
return a.exec();
}
輸入用戶名及密碼錯誤,顯示錯誤信息對話框,在登錄按鈕的單擊信號槽添加代碼:
errordlg->setWinowTitle(“錯誤信息對話框”);
errordlg->showMessage(“請檢查用戶名或密碼!”);
MainWindow窗口是核心部分,完成創(chuàng)建界面頭部、左側(cè)菜單欄及右側(cè)頁面內(nèi)容三方面工作。
void loadSetting(); //從數(shù)據(jù)庫加載數(shù)據(jù)
void onUpdateSetting();//用戶變更刷新
1)界面頭部設(shè)計
調(diào)用 void initHeader()函數(shù),設(shè)置 QMenuBar、QTitleBar窗口部件,顯示窗體的菜單欄、標(biāo)題欄具體效果。
2)左側(cè)菜單欄設(shè)計
調(diào)用void initMenu()函數(shù),顯示設(shè)備管理樹下的開關(guān)、跌落式熔斷器、刀閘、環(huán)網(wǎng)單元、開關(guān)站、配電室6類設(shè)備,及用戶設(shè)置、幫助文檔。部分代碼如下:
QStringList listItem;
listItem.append(QStringLiteral("開關(guān)"));
listItem.append(QStringLiteral("熔斷器"));
listItem.append(QStringLiteral("刀閘"));
listItem.append(QStringLiteral("環(huán)網(wǎng)單元"));
listItem.append(QStringLiteral("開關(guān)站"));
listItem.append(QStringLiteral("配電室"));
listItem.append(QStringLiteral("用戶切換"));
listItem.append(QStringLiteral("幫助文檔"));
d->menu->setData(listItem);
3)右側(cè)頁面內(nèi)容設(shè)計
當(dāng)單擊左側(cè)菜單欄的選項按鈕,調(diào)用void init-Body()函數(shù),顯示右側(cè)頁面內(nèi)容,右上方四個功能按鈕指向一容器類:
QStringList names={QStringLiteral("新增"),QStringLiteral("修改"),QStringLiteral("刪除"),QStringLiteral("編號")};
并設(shè)置按鈕樣式、固定高度、圖標(biāo):
btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//設(shè)置按鈕樣式
btn->setFixedSize(100,35);//設(shè)置固定高度
btn->setIcon(QIcon(iconsNames[id]));//設(shè)置圖標(biāo)
右其余部分為自定義風(fēng)格表格模板:
StyledTableView::StyledTableView(QWidget*parent) :QTableView(parent)
該類用來顯示每一類設(shè)備的基礎(chǔ)信息。
4)信號與槽機制
信號與槽實現(xiàn)Qt組件對象之間的通信。當(dāng)某個事件發(fā)生之后,如按鈕檢測到被點擊,發(fā)出signal。如果有對象對此信號感興趣,就會使用connect函數(shù),將要處理的信號和自己的一個slot槽函數(shù)綁定,實現(xiàn)線程間的通信。系統(tǒng)中各按鈕與窗口均用到了信號與槽機制,實行互相切換。登錄界面,有一登錄按鈕QPushButton*login,被按下時,調(diào)用下面該按鈕的connect函數(shù):
connect(d->login,&QPushButton::clicked,this,&LoginWindow::check);
登錄界面的登錄按鈕發(fā)出信息,登錄界面接受到信息,調(diào)用槽函數(shù)LoginWindow::check,判斷賬號與密碼是否正確。
5)防程序崩潰機制
建立了防程序崩潰機制,在系統(tǒng)調(diào)試運行時,如遇突發(fā)情況導(dǎo)致程序奔潰,會彈出CrashDialog對話框,并執(zhí)行內(nèi)部函數(shù),關(guān)閉原程序,重新打開登錄界面,并發(fā)送導(dǎo)致程序奔潰的消息,根據(jù)收到的消息不斷改正完善系統(tǒng)。部分代碼如下:
QLabel*msg=new QLabel(this);
msg->setText(QStringLiteral("抱歉!應(yīng)用程序崩潰. 請點擊[奔潰文件路徑]并把文件發(fā)送給我們 以幫助我們找到錯誤 謝謝 "));
const QString email="***********@qq.com";
emailaddr->setText(QStringLiteral("聯(lián)系我們-電子郵件:")+email);
emailaddr->setAlignment(Qt::AlignCenter);
restartButton->setText(QStringLiteral("重啟"));
closeButton->setText(QStringLiteral("關(guān)閉"));
gotoButton->setText(QStringLiteral("奔潰文件路徑"));//重啟程序
void CrashDialog::restartApp()
{
qApp->closeAllWindows();Process::startDetached(qApp->applicationFilePath(),QStringList());
}
本系統(tǒng)具有很強的實際應(yīng)用功能。2017年至2019年,岱山公司調(diào)度員累計發(fā)現(xiàn)重復(fù)命名及設(shè)備不規(guī)則30起。使用系統(tǒng)后,又發(fā)現(xiàn)歷史重復(fù)命名28起,避免了設(shè)備重復(fù)命名4起,設(shè)備命名編號不一致3起,有效避免了誤操作誤調(diào)度,大大提高配網(wǎng)安全性與可靠性。系統(tǒng)目前已經(jīng)集成了《國網(wǎng)浙江省電力公司配電網(wǎng)設(shè)備調(diào)度命名規(guī)范》,可實現(xiàn)該文件要求的功能,將人工執(zhí)行規(guī)范變?yōu)橛嬎銠C自動執(zhí)行規(guī)范,杜絕了人工記錄經(jīng)常會造成各類紕漏等問題。設(shè)備名稱與編號重復(fù)性、配網(wǎng)管理粗略的問題不僅在舟山市內(nèi)存在,其他省市也存在,尤其落后地區(qū),有的設(shè)備甚至還沒有編號及名稱,故具有推廣性。下一步將繼續(xù)開發(fā)一些實用功能,如改善目前純年限預(yù)警功能,結(jié)合開關(guān)承受負(fù)荷大小、地理環(huán)境、絕緣接地、開關(guān)操作次數(shù)及已使用時間,利用數(shù)據(jù)融合手段,自動設(shè)置安全與危險不同標(biāo)志,增強設(shè)備運維管理水平與電網(wǎng)安全性。