周崇亮,潘云嵩,萬曉冬
(南京航空航天大學(xué) 自動(dòng)化學(xué)院,江蘇 南京 211106)
隨著國(guó)家“智能電網(wǎng)”和高級(jí)測(cè)量體系的建設(shè)以及相關(guān)技術(shù)的推進(jìn),智能電表作為基礎(chǔ)元件和核心設(shè)備發(fā)揮著舉足輕重的作用[1-3]。隨著科技的發(fā)展,對(duì)電表的數(shù)據(jù)采集要求越來越快速和穩(wěn)定[4]。但最重要的是對(duì)電表的測(cè)試越來越關(guān)鍵,而這些測(cè)試都是圍繞電表進(jìn)行的,在實(shí)際實(shí)驗(yàn)中需要大量的實(shí)物電表作為依據(jù)的。由于實(shí)物電表的客觀性,電表本身存在一定的電子元器件老化,環(huán)境等不確定因素影響,并且實(shí)物電表在資產(chǎn)管理、接線上電等工序上會(huì)增加大量的成本,造成額外的投入。而且在對(duì)智能電表進(jìn)行檢測(cè)時(shí),需要做一些故障性實(shí)驗(yàn),比如過電壓、過電流等,若在實(shí)物上進(jìn)行會(huì)對(duì)電表造成損傷,一定程度上也增加了實(shí)驗(yàn)成本,并且也無法得到預(yù)期的結(jié)果[5]。
鑒于上述問題,為保障電表測(cè)試的安全可靠性和測(cè)試的連續(xù)性以及減少成本,亟需設(shè)計(jì)一款虛擬智能電表仿真系統(tǒng),實(shí)現(xiàn)對(duì)電表的實(shí)時(shí)檢測(cè)。
目前,國(guó)內(nèi)外的虛擬電表一般只是用于電能表及電能量采集的開發(fā)過程中的仿真環(huán)節(jié),部分用于檢測(cè)目的的虛擬電表也只是設(shè)備測(cè)試軟件的模塊,無法獨(dú)立運(yùn)行。同時(shí)當(dāng)前市場(chǎng)上的虛擬電表多數(shù)都是只對(duì)單個(gè)電表進(jìn)行模擬仿真,沒有考慮到當(dāng)多個(gè)電表同時(shí)測(cè)試或者仿真電表數(shù)量可變以及不同電表的協(xié)議不同時(shí)如何調(diào)整的情況。例如,威勝的IEC 62056的電表模型,是依據(jù)IEC 62056規(guī)約實(shí)現(xiàn)的一塊虛擬電表,其中包括邏輯設(shè)備單元、管理邏輯設(shè)備,每個(gè)管理邏輯設(shè)備又由若干個(gè)COSEM接口類對(duì)象組成;所謂通訊協(xié)議就是虛擬電表對(duì)外部設(shè)備單元與通信協(xié)議棧之間的交通通道,發(fā)送命令通過協(xié)議傳送到虛擬電表完成功能的實(shí)現(xiàn),是虛擬電表與功能實(shí)現(xiàn)之間的重要交流保障。
武漢大學(xué)的多功能多協(xié)議仿真電表[6-7],將仿真電表系統(tǒng)分為數(shù)據(jù)存儲(chǔ)模塊、底層通信模塊和高層管理模塊,并且實(shí)現(xiàn)了一條鏈路上的多種協(xié)議電表的仿真。系統(tǒng)中雖然考慮到了多種協(xié)議,但沒有考慮到當(dāng)仿真電表數(shù)量動(dòng)態(tài)可變時(shí)或者在仿真系統(tǒng)運(yùn)行同時(shí)想加入其他電表進(jìn)行仿真,該如何調(diào)節(jié),如何添加等情況。
針對(duì)目前的虛擬電表仿真系統(tǒng)的實(shí)際情況,結(jié)合上述存在的問題,依據(jù)實(shí)際智能電表的功能要求[8],本文利用QT視圖、XML文件與數(shù)據(jù)庫相結(jié)合的技術(shù)實(shí)現(xiàn)電表動(dòng)態(tài)配置仿真與報(bào)警提示功能仿真系統(tǒng)[9]。
虛擬智能電表仿真系統(tǒng)包括用戶界面(user interface, UI)、信號(hào)發(fā)生器、XML(extensible markup language,可擴(kuò)展標(biāo)記語言)文件數(shù)據(jù)庫、MySQL數(shù)據(jù)庫、規(guī)約解析單元和通信單元。其系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)框圖如圖1所示。
在虛擬智能電表仿真系統(tǒng)運(yùn)行時(shí)首先通過XML文件將所存儲(chǔ)的電表通信協(xié)議和規(guī)約參數(shù)加載到虛擬智能電表中,以便于后期的數(shù)據(jù)采集和故障監(jiān)測(cè)等一系列操作;然后模擬信號(hào)發(fā)生器給虛擬智能電表發(fā)送一系列特定的指令,用來采集電表的基本參數(shù)數(shù)據(jù),產(chǎn)生通信協(xié)議中所要求的各項(xiàng)數(shù)據(jù)項(xiàng),并將采集的數(shù)據(jù)保存到數(shù)據(jù)庫中。同時(shí)還可以發(fā)送一些錯(cuò)誤的指令用來采集電表故障事件的數(shù)據(jù),便于后期對(duì)電表進(jìn)行預(yù)測(cè),將由于錯(cuò)誤指令產(chǎn)生的事件記錄到XML文件中;最后通過通信層和協(xié)議解析,讓虛擬電表通過RS-485轉(zhuǎn)接口將實(shí)物與電腦相連接,以備實(shí)驗(yàn)室測(cè)試以及實(shí)際應(yīng)用[10]。
圖1 系統(tǒng)總體框圖
考慮到目前市面上的電能表仿真測(cè)試系統(tǒng)已經(jīng)無法滿足現(xiàn)實(shí)需求,同時(shí)基于上述總體系統(tǒng)的設(shè)計(jì),本文主要介紹在電能表系統(tǒng)仿真時(shí),智能電表數(shù)量和種類能夠?qū)崟r(shí)添加,做到電表與參數(shù)的對(duì)應(yīng)匹配并在仿真界面上能夠直接看到當(dāng)前仿真電表所有參數(shù)的性能指標(biāo),以及數(shù)據(jù)的實(shí)時(shí)采集等功能。簡(jiǎn)潔、強(qiáng)大、合理的界面操作提供是仿真系統(tǒng)質(zhì)量的保證,而界面的功能需求是實(shí)現(xiàn)友好界面的基礎(chǔ)[11-12],各個(gè)功能層次的模塊單元框圖如圖2所示。
圖2 系統(tǒng)具體功能模塊框圖
1) 通信管理是實(shí)現(xiàn)對(duì)串口有效的控制,并對(duì)數(shù)據(jù)通信狀況進(jìn)行監(jiān)控。
2) 電表動(dòng)態(tài)設(shè)定是用于實(shí)現(xiàn)多個(gè)電表的仿真和實(shí)現(xiàn)電能表數(shù)量種類的添加、修改、刪除等操作的管理。
3) 電表數(shù)據(jù)配置是實(shí)現(xiàn)各個(gè)電能表的參數(shù)數(shù)據(jù)顯示、添加、刪除、設(shè)置等操作的管理以及電能表參數(shù)數(shù)據(jù)的查詢等。
電表動(dòng)態(tài)設(shè)定模塊和電表數(shù)據(jù)配置模塊結(jié)合數(shù)據(jù)庫與XML文檔技術(shù),可實(shí)現(xiàn)電表動(dòng)態(tài)可配置的功能。當(dāng)仿真時(shí)動(dòng)態(tài)添加電能表數(shù)量或增加電能表種類時(shí),并將其獨(dú)有的參數(shù)一同添加到數(shù)據(jù)庫中,此時(shí)在數(shù)據(jù)庫內(nèi)部會(huì)自動(dòng)將電能表與參數(shù)進(jìn)行匹配操作。當(dāng)仿真時(shí)調(diào)用電能表與之對(duì)應(yīng)的參數(shù)也會(huì)一并顯示在仿真界面上,實(shí)時(shí)動(dòng)態(tài)可配置的同時(shí)確保仿真電能表的準(zhǔn)確性。
4) 協(xié)議管理是為了查看協(xié)議的數(shù)據(jù)幀格式和屬性,并實(shí)現(xiàn)協(xié)議的添加、修改、刪除的管理。不同種類的電能表通信協(xié)議會(huì)有差異,此模塊用來實(shí)現(xiàn)電能表仿真系統(tǒng)的通用性。
5) 動(dòng)態(tài)電表數(shù)據(jù)管理實(shí)現(xiàn)了多個(gè)電能表多個(gè)數(shù)據(jù)的同時(shí)變化。根據(jù)實(shí)際情況的需要,在界面上用戶能夠自定義電能表和參數(shù)數(shù)據(jù)變化的方式,同時(shí)通過分析數(shù)據(jù),以圖像的形式呈現(xiàn)在界面上,便于更直觀地查看變化。
6) 附加功能主要是對(duì)用戶錯(cuò)誤操作時(shí)彈出相應(yīng)的提示信息,以及對(duì)電能錯(cuò)誤信息的反饋顯示。便于用戶直觀地觀察當(dāng)前仿真系統(tǒng)出現(xiàn)的錯(cuò)誤信息。
功能界面是用來實(shí)現(xiàn)系統(tǒng)與人工操作的完美結(jié)合,也稱人機(jī)交互。包括用戶登錄界面、模擬電能表主體界面和仿真圖像顯示界面。其中最主要也是最關(guān)鍵的是模擬電表中電表事件單元。
用戶界面作為程序啟動(dòng)后的初始化界面,主要實(shí)現(xiàn)仿真系統(tǒng)與主體界面的連接以及系統(tǒng)與數(shù)據(jù)庫的連接。主要實(shí)現(xiàn)系統(tǒng)與數(shù)據(jù)庫的實(shí)時(shí)數(shù)據(jù)共享,便于后續(xù)對(duì)系統(tǒng)的一系列操作所產(chǎn)生的數(shù)據(jù)進(jìn)行保存或讀取。是實(shí)現(xiàn)人機(jī)交互的接入口。用戶登錄界面如圖3所示。
首先數(shù)據(jù)庫驅(qū)動(dòng)里QT自帶的QSQLITE和QMYSQL、QMYSQL3和QODBC等一系列數(shù)據(jù)庫驅(qū)動(dòng)可供選擇。數(shù)據(jù)庫名、用戶名和密碼都是用戶提前設(shè)定好的,但是主機(jī)名和端口號(hào)必須是用戶本身主機(jī)的名字和端口,不可以隨意更改,否則無法正確地連接數(shù)據(jù)庫。
圖3 用戶登錄界面
登錄界面之后就進(jìn)入主體界面,大體分為通信層、模擬電表和協(xié)議解析3部分,共同組成系統(tǒng)的具體功能配置界面。其中模擬電表部分尤為重要,主要包括電表數(shù)據(jù)管理、通信協(xié)議、規(guī)約參數(shù)和電表事件4個(gè)單元。
1) 模擬電表單元
電表數(shù)據(jù)管理單元主要是用來對(duì)采集到的數(shù)據(jù)進(jìn)行處理并顯示到界面上,并且隨著時(shí)間的推移過程中,界面上的數(shù)據(jù)也隨之實(shí)時(shí)變化,同時(shí)在需要時(shí)能夠?qū)?shù)據(jù)進(jìn)行添加刪除等操作,體現(xiàn)數(shù)據(jù)操作的靈活性。
通信協(xié)議單元的最終框架是形成一個(gè)用戶根據(jù)需要手動(dòng)配置的界面。在需要某種協(xié)議的時(shí)候,用戶直接通過界面添加所需要的協(xié)議數(shù)據(jù)項(xiàng),并同時(shí)對(duì)添加的協(xié)議進(jìn)行解析和封裝,在使用時(shí)從數(shù)據(jù)庫中直接調(diào)用,而不需要修改程序。
規(guī)約解析單元主要用來對(duì)電表的各個(gè)參數(shù)類型進(jìn)行限制規(guī)定,使其在限定范圍內(nèi)活動(dòng),一旦超出界限就會(huì)報(bào)警。
電表事件包括兩個(gè)方面,一個(gè)是電表與參數(shù)的匹配配置單元;另一個(gè)是電表對(duì)故障事件的報(bào)警和記錄單元。其中電表與參數(shù)匹配單元是關(guān)鍵。實(shí)現(xiàn)以界面化的方式觀察到仿真電表個(gè)數(shù)種類添加的情況。可以通過手動(dòng)設(shè)置表號(hào)、表地址、采用的協(xié)議和所需要匹配的參數(shù)類型,并在提交后自動(dòng)添加到數(shù)據(jù)庫中保存。此時(shí)在數(shù)據(jù)庫中會(huì)自動(dòng)給電表項(xiàng)和參數(shù)項(xiàng)各添加一個(gè)主鍵用來對(duì)于兩者之間進(jìn)行匹配,實(shí)現(xiàn)電表與參數(shù)的實(shí)時(shí)準(zhǔn)確添加顯示,以便隨時(shí)調(diào)用。電能表實(shí)時(shí)添加界面實(shí)現(xiàn)如圖4所示。
在添加完電表和相對(duì)應(yīng)的參數(shù)后,即可在電表和參數(shù)匹配單元中看到剛添加的電表類型和對(duì)應(yīng)的所有參數(shù)類型。在此單元界面上,初始時(shí)電表和參數(shù)單元格顯示的是數(shù)據(jù)庫中所保存的所有電表和參數(shù)類型。當(dāng)單擊其中一個(gè)電表類型時(shí),系統(tǒng)會(huì)自動(dòng)鎖定電表在數(shù)據(jù)庫中的主鍵,并用此主鍵在數(shù)據(jù)庫參數(shù)表中索引與之電表相匹配的參數(shù),并顯示到參數(shù)單元格中,而與之不相匹配的參數(shù)則會(huì)自動(dòng)隱藏,實(shí)現(xiàn)了電表與對(duì)應(yīng)參數(shù)實(shí)時(shí)匹配的性能。在電表與參數(shù)匹配的同時(shí)在另一個(gè)區(qū)域內(nèi)可以更直觀地看到當(dāng)前所選擇的電表類型和與之相對(duì)應(yīng)參數(shù)數(shù)量及當(dāng)前所觀察的具體參數(shù)類型,并可以通過加載XML的方式將各個(gè)參數(shù)的性能指標(biāo)顯示出來。通過此主從視圖實(shí)現(xiàn)系統(tǒng)仿真電表數(shù)量的實(shí)時(shí)添加,參數(shù)匹配和參數(shù)性能指標(biāo)的靈活性,也更加的人性化,充分達(dá)到人機(jī)交互的目的。
圖4 電能表實(shí)時(shí)添加界面
其中系統(tǒng)仿真電表事件的主從視圖模塊界面,主要包括4個(gè)單元格,分別是電表、參數(shù)、詳細(xì)信息和XML文檔顯示,每個(gè)單元格的功能在上述都已介紹。電表、參數(shù)實(shí)時(shí)操作界面如圖5所示。
圖5 電表、參數(shù)實(shí)時(shí)操作界面
此界面主要用來實(shí)現(xiàn)電能表和參數(shù)的動(dòng)態(tài)可配置。結(jié)合數(shù)據(jù)庫XML,不僅可以實(shí)現(xiàn)仿真時(shí)電能表動(dòng)態(tài)配置,還能夠?qū)崟r(shí)觀察對(duì)應(yīng)電能表參數(shù)的性能指標(biāo)。
綜合上述的介紹,主體界面上電表事件的工作流程圖如圖6所示。
剛開始程序運(yùn)行時(shí),先連接數(shù)據(jù)庫,再進(jìn)行數(shù)據(jù)庫檢索,將符合要求的電表和參數(shù)一次性都顯示到界面相應(yīng)的單元格內(nèi)。當(dāng)點(diǎn)擊其中一個(gè)電表類型時(shí),會(huì)獲取此電表對(duì)應(yīng)的主鍵,并在數(shù)據(jù)庫中搜索與此主鍵相匹配的參數(shù),最終顯示到界面上,并將不相關(guān)的參數(shù)全部隱藏。
最后可以通過加載XML的形式,將選擇的參數(shù)性能指標(biāo)顯示出來。在系統(tǒng)仿真的時(shí)候,可以在任意時(shí)刻點(diǎn)擊添加電表按鈕,在出現(xiàn)的界面上,將需要添加新電表的信息一一輸入,最后將電表和參數(shù)類型保存到數(shù)據(jù)庫,參數(shù)的性能指標(biāo)保存到XML文件中。最終實(shí)現(xiàn)電表的動(dòng)態(tài)添加及實(shí)時(shí)仿真的效果。
圖6 電表事件操作流程圖
2) 通信單元和協(xié)議解析單元
通常通信單元和協(xié)議解析單元是聯(lián)系在一起的,只有在協(xié)議解析的基礎(chǔ)上才能進(jìn)行正常的通信。其中通信單元包括串口設(shè)置和數(shù)據(jù)通信兩部分,而協(xié)議解析單元包括協(xié)議顯示和協(xié)議幀的接收響應(yīng)兩部分。這兩部分主要用在系統(tǒng)仿真的前期對(duì)數(shù)據(jù)的采集和后期對(duì)數(shù)據(jù)進(jìn)行處理兩個(gè)階段。具體的實(shí)現(xiàn)流程如圖7所示。
在前期,首先利用串口工具對(duì)智能電表發(fā)送請(qǐng)求幀命令,此時(shí)對(duì)協(xié)議的幀命令進(jìn)行解析,并響應(yīng)幀,則可以將電表中的數(shù)據(jù)進(jìn)行讀取并保存到數(shù)據(jù)庫中。在后期操作過程中,只要對(duì)存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行讀取即可。
圖7 通信與協(xié)議的工作流程圖
針對(duì)目前市面上對(duì)仿真電能表系統(tǒng)的不夠完善,并分析對(duì)仿真電能表系統(tǒng)的需求,提出基于QT界面設(shè)計(jì)完成的仿真電能表和參數(shù)在線實(shí)時(shí)匹配系統(tǒng)。結(jié)合MySQL數(shù)據(jù)庫與XML文件管理技術(shù)實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)處理與參數(shù)性能指標(biāo)的設(shè)定。該系統(tǒng)的建立相對(duì)于其他的仿真系統(tǒng)具有如下幾個(gè)優(yōu)勢(shì):
1)有效改善了仿真時(shí)電能表的實(shí)時(shí)操作性,更加靈活。
2)大大提高了對(duì)電能表仿真的效率。
3)理論上虛擬智能電表仿真系統(tǒng)還可以促進(jìn)協(xié)議測(cè)試的創(chuàng)新。
4)該系統(tǒng)還可以為用電信息采集系統(tǒng)的建立奠定堅(jiān)實(shí)基礎(chǔ)。
[1] 張文亮, 劉壯志, 王明俊,等. 智能電網(wǎng)的研究進(jìn)展及發(fā)展趨勢(shì)[J]. 電網(wǎng)技術(shù), 2009,33(13):1-11.
[2] 陳樹勇, 宋書芳, 李蘭欣,等. 智能電網(wǎng)技術(shù)綜述[J]. 電網(wǎng)技術(shù), 2009, 33(8):1-7.
[3] 張東霞, 苗新, 劉麗平,等. 智能電網(wǎng)大數(shù)據(jù)技術(shù)發(fā)展研究[J]. 中國(guó)電機(jī)工程學(xué)報(bào), 2015(1):2-12.
[4] 王臻. 多功能多協(xié)議仿真電能表的設(shè)計(jì)與實(shí)現(xiàn)[D]. 武漢:武漢理工大學(xué), 2008.
[5] 蘇慧玲, 王忠東, 蔡奇新,等. 大規(guī)模智能電能表自動(dòng)化檢定的關(guān)鍵技術(shù)[J]. 中國(guó)電力, 2016, 49(6):126-131.
[6] 曾維, 羅粟, 黃宏,等. 封裝串口數(shù)據(jù)通信協(xié)議的設(shè)計(jì)[J]. 微型機(jī)與應(yīng)用, 2014(18):56-57.
[7] 趙兵, 翟峰, 李濤永,等. 適用于智能電表雙向互動(dòng)系統(tǒng)的安全通信協(xié)議[J]. 電力系統(tǒng)自動(dòng)化, 2016,40(17):93-98.
[8] 廣澤晶, 王坤乾. 虛擬智能電表仿真系統(tǒng)的研究[J]. 電力系統(tǒng)通信, 2011, 32(9):83-86.
[9] Bayindir R, Hossain E, Vadi S. The path of the smart grid -the new and improved power grid[C]// International Smart Grid Workshop and Certificate Program, 2016(4):138-141.
[10] 張志, 李琮琮, 王平欣,等. 智能電能表RS485接口設(shè)計(jì)方案綜述[J]. 電測(cè)與儀表, 2016, 53(5):124-128.
[11] Tang H. Study on Influence Evaluation of Big Data and Cloud Computing Technologies for Intelligent Distribution Power Grid[J]. Electric Power Science & Engineering, 2016.
[12] Mahmood K, Chaudhry S A, Naqvi H, et al. A lightweight message authentication scheme for Smart Grid communications in power sector [J]. Computers & Electrical Engineering, 2016, 52(6):114-124.