基于Python的計(jì)量電能表管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
引言
計(jì)量電能表是電力系統(tǒng)連接用戶的一種終端設(shè)備,對計(jì)量電能表的入庫、統(tǒng)計(jì)、維護(hù)等工作也是供電所基層班組工作的重要部分。根據(jù)精益化管理相關(guān)要求,對于電能表的管理應(yīng)遵循規(guī)定,嚴(yán)格做好臺賬管理、出入庫登記管理等。而在當(dāng)前的供電所電能表管理中,主要由人工管理,通常使用Excel表格或紙質(zhì)記錄本等傳統(tǒng)工具。
使用軟件實(shí)現(xiàn)辦公信息化主要體現(xiàn)出以下兩點(diǎn)優(yōu)勢:第一,工作效率高,填寫紙質(zhì)表格,手寫速度比不上電腦輸入(尤其是具備自動(dòng)輸入功能的軟件),對于大批量的入庫、領(lǐng)用等,差距更加凸顯,同時(shí)頻繁記錄增加了工作量,不利于基層班組減負(fù),而辦公信息化軟件可實(shí)現(xiàn)大批量的管理:第二,使用Excel表格或紙質(zhì)記錄本記錄,需要核對的內(nèi)容較多,尤其是對于目前的電能表來說,臺賬記錄點(diǎn)多,記錄起來較為繁瑣,若不一一核對,容易發(fā)生遺漏或記錯(cuò)等。而使用二維碼技術(shù),既可做到快速識別,還能保證準(zhǔn)確率。
1系統(tǒng)設(shè)計(jì)架構(gòu)分析
本設(shè)計(jì)采用Python+Py0t5+s0Lite的系統(tǒng)架構(gòu),Python作為當(dāng)前流行的編程語言,具有豐富和強(qiáng)大的庫,幾乎涵蓋了計(jì)算機(jī)技術(shù)的各個(gè)領(lǐng)域,具有良好的編程生態(tài),在圖像處理以及數(shù)字識別領(lǐng)域也發(fā)揮了其重要作用[1]。同時(shí),Python的特性讓它在處理數(shù)據(jù)時(shí)擁有開發(fā)速度快、代碼量少、成本低的特點(diǎn),而且其豐富的數(shù)據(jù)處理包可以幫助人們方便地進(jìn)行數(shù)據(jù)處理。而對于這類數(shù)據(jù)量不大的系統(tǒng),s0Lite數(shù)據(jù)庫的優(yōu)勢也較為突出,s0Lite是一個(gè)輕量級、嵌入式數(shù)據(jù)庫,使用起來非常方便,不需要安裝,免費(fèi)使用。此外,為適應(yīng)目前辦公電腦多為windows系統(tǒng)的現(xiàn)狀,本次編譯環(huán)境采用windows操作系統(tǒng),編譯的軟件在其他電腦可直接運(yùn)行,無需安裝Python和數(shù)據(jù)庫。
2系統(tǒng)功能分析
本系統(tǒng)主要實(shí)現(xiàn)以下兩方面功能:
2.1基本功能
作為電能表的管理系統(tǒng),首先需具備基本功能,也就是對于電能表臺賬的增、查、刪、改功能。
2.2拓展功能
為提高日常管理效率,本系統(tǒng)結(jié)合二維碼進(jìn)行出入庫管理,當(dāng)前使用的電能表通常已做好資產(chǎn)編號及相應(yīng)的條形碼、二維碼,無需生成新的二維碼,管理起來更加方便快捷:
同時(shí),本系統(tǒng)也具備生成二維碼的功能,可結(jié)合標(biāo)簽機(jī)打印出二維碼。
3系統(tǒng)功能設(shè)計(jì)
為達(dá)到便于維護(hù)、便于操作的目的,提高使用效率,本系統(tǒng)采用模塊化的架構(gòu)設(shè)計(jì),主要包括電能表庫存臺賬管理模塊、人員登錄和信息校驗(yàn)?zāi)K、庫存查詢模塊、庫存修改模塊、出庫入庫模塊、二維碼生成模塊,如圖1所示。
31庫存臺賬管理模塊
具備庫存的電能表臺賬管理功能,直觀展示了庫存中的電能表的廠商、型號、資產(chǎn)編碼、在倉庫中的位置、入庫時(shí)間等信息。
3.2人員登錄和信息校驗(yàn)?zāi)K
本系統(tǒng)采用普通登錄和權(quán)限校驗(yàn)兩種不同登錄方式,為提高備品的入庫、出庫效率,在進(jìn)行電能表出庫、入庫時(shí),無需輸入密碼,只需在登錄位置選擇登錄的人員即可,此處通過Py0t5中的combox下拉按鈕實(shí)現(xiàn)人員選擇,在Python中調(diào)用combox函數(shù)來進(jìn)行人員選擇;如需要修改庫存數(shù)據(jù),則需校驗(yàn)登錄人的密碼權(quán)限,目的在于防止維護(hù)人員在操作過程中誤修改數(shù)據(jù)。設(shè)計(jì)login.py模塊來實(shí)現(xiàn)登錄窗口,當(dāng)需修改庫存信息時(shí),調(diào)用login.py模塊,驗(yàn)證賬號和密碼正確后實(shí)現(xiàn)人員登錄修改。
3.3庫存查詢模塊
設(shè)計(jì)select函數(shù),先讀取信息框的輸入數(shù)據(jù),然后連接s0Lite數(shù)據(jù)庫,通過搜索數(shù)據(jù)庫的庫存數(shù)據(jù)表,篩選出符合的數(shù)據(jù)并顯示到窗口,同時(shí)具備模糊查詢和精確查詢功能,輸入關(guān)鍵字后能快速篩選相關(guān)信息,快速定位。
3.4庫存修改模塊
實(shí)現(xiàn)庫存信息修改、清空庫存、清空出庫記錄等功能,需要驗(yàn)證管理員密碼才能操作。通過精確搜索庫存數(shù)據(jù)表中的數(shù)據(jù)與輸入數(shù)據(jù)匹配,刪除相應(yīng)行的數(shù)據(jù),并顯示剩余庫存,清空庫存和清空出庫記錄分別設(shè)計(jì)clearin和clearo一t函數(shù)模塊實(shí)現(xiàn)。
35出庫入庫模塊
電能表入庫方面,設(shè)計(jì)insert函數(shù),連接s0Lite數(shù)據(jù)庫,將輸入的數(shù)據(jù)先寫入庫存數(shù)據(jù)表中,再調(diào)用shouwb函數(shù)輸出到圖形界面;出庫方面,設(shè)計(jì)welete函數(shù),先根據(jù)輸入數(shù)據(jù)讀取庫存數(shù)據(jù)表中的數(shù)據(jù),將其寫入出庫數(shù)據(jù)表中,然后將庫存數(shù)據(jù)表中的數(shù)據(jù)刪除,再調(diào)用shouwbd函數(shù)輸入到出庫記錄圖形界面。
3.6二維碼生成模塊
在Python中導(dǎo)入02cowe和Pil模塊,先通過無線掃碼器讀取設(shè)備編碼信息,然后通過maRe函數(shù)生成二維碼,再調(diào)用save函數(shù)保存二維碼的png格式圖片到當(dāng)前目錄,將電腦連接到標(biāo)簽打印機(jī)上,直接打印出二維碼,粘貼到電能表上即可。
4系統(tǒng)應(yīng)用
4.1入庫、查詢管理
事先規(guī)劃好倉庫中電能表所存放的位置,在圖形入庫界面上輸入電能表的廠商、型號、位置、設(shè)備資產(chǎn)編號(也可通過掃碼器掃碼實(shí)現(xiàn)快速輸入),在人員登錄出選擇當(dāng)前操作人員,點(diǎn)擊入庫即可實(shí)現(xiàn)入庫,同時(shí)自動(dòng)記錄當(dāng)前時(shí)間生成入庫時(shí)間。在數(shù)據(jù)查詢出輸入電能表型號關(guān)鍵字,可通過關(guān)鍵字模糊查詢篩選出相關(guān)電能表,可直接看到位置、資產(chǎn)編號等全部信息。
4.2數(shù)據(jù)修改
點(diǎn)擊數(shù)據(jù)修改界面,輸入準(zhǔn)備刪除的電能表編號,彈出權(quán)限驗(yàn)證框,驗(yàn)證管理員賬號密碼正確后即可刪除。
4.3出庫管理
(1)普通出庫模式:輸入電能表的設(shè)備資產(chǎn)編號點(diǎn)擊出庫即可。
(d)快速出庫模式:點(diǎn)擊出庫輸入框,使用無線掃碼器進(jìn)行掃碼即可自動(dòng)出庫,且無需操作可連續(xù)掃碼,實(shí)現(xiàn)快速大批量出庫。
5結(jié)語
在辦公信息化的大趨勢下,供電所基層班組人員自主研發(fā)了基于Python的計(jì)量電能表管理系統(tǒng),結(jié)合二維碼讀寫技術(shù),實(shí)現(xiàn)電能表倉儲的信息化管理,為維護(hù)人員節(jié)省了大量時(shí)間,提高了工作效率。相對于依靠第三方軟件,自主設(shè)計(jì)的軟件不僅節(jié)省費(fèi)用,且在維護(hù)上和功能調(diào)整上更加靈活、方便;同時(shí),基于Python語言的簡潔性和面向?qū)ο筇匦?本系統(tǒng)經(jīng)過簡單改動(dòng)即可應(yīng)用到其他辦公場合,可見,本設(shè)計(jì)也是對于使用Python語言實(shí)現(xiàn)辦公信息化的一次探索。