周崇亮,潘云嵩,萬曉冬
(南京航空航天大學 自動化學院,江蘇 南京 211106)
隨著國家“智能電網”和高級測量體系的建設以及相關技術的推進,智能電表作為基礎元件和核心設備發揮著舉足輕重的作用[1-3]。隨著科技的發展,對電表的數據采集要求越來越快速和穩定[4]。但最重要的是對電表的測試越來越關鍵,而這些測試都是圍繞電表進行的,在實際實驗中需要大量的實物電表作為依據的。由于實物電表的客觀性,電表本身存在一定的電子元器件老化,環境等不確定因素影響,并且實物電表在資產管理、接線上電等工序上會增加大量的成本,造成額外的投入。而且在對智能電表進行檢測時,需要做一些故障性實驗,比如過電壓、過電流等,若在實物上進行會對電表造成損傷,一定程度上也增加了實驗成本,并且也無法得到預期的結果[5]。
鑒于上述問題,為保障電表測試的安全可靠性和測試的連續性以及減少成本,亟需設計一款虛擬智能電表仿真系統,實現對電表的實時檢測。
目前,國內外的虛擬電表一般只是用于電能表及電能量采集的開發過程中的仿真環節,部分用于檢測目的的虛擬電表也只是設備測試軟件的模塊,無法獨立運行。同時當前市場上的虛擬電表多數都是只對單個電表進行模擬仿真,沒有考慮到當多個電表同時測試或者仿真電表數量可變以及不同電表的協議不同時如何調整的情況。例如,威勝的IEC 62056的電表模型,是依據IEC 62056規約實現的一塊虛擬電表,其中包括邏輯設備單元、管理邏輯設備,每個管理邏輯設備又由若干個COSEM接口類對象組成;所謂通訊協議就是虛擬電表對外部設備單元與通信協議棧之間的交通通道,發送命令通過協議傳送到虛擬電表完成功能的實現,是虛擬電表與功能實現之間的重要交流保障。
武漢大學的多功能多協議仿真電表[6-7],將仿真電表系統分為數據存儲模塊、底層通信模塊和高層管理模塊,并且實現了一條鏈路上的多種協議電表的仿真。系統中雖然考慮到了多種協議,但沒有考慮到當仿真電表數量動態可變時或者在仿真系統運行同時想加入其他電表進行仿真,該如何調節,如何添加等情況。
針對目前的虛擬電表仿真系統的實際情況,結合上述存在的問題,依據實際智能電表的功能要求[8],本文利用QT視圖、XML文件與數據庫相結合的技術實現電表動態配置仿真與報警提示功能仿真系統[9]。
虛擬智能電表仿真系統包括用戶界面(user interface, UI)、信號發生器、XML(extensible markup language,可擴展標記語言)文件數據庫、MySQL數據庫、規約解析單元和通信單元。其系統總體結構設計框圖如圖1所示。
在虛擬智能電表仿真系統運行時首先通過XML文件將所存儲的電表通信協議和規約參數加載到虛擬智能電表中,以便于后期的數據采集和故障監測等一系列操作;然后模擬信號發生器給虛擬智能電表發送一系列特定的指令,用來采集電表的基本參數數據,產生通信協議中所要求的各項數據項,并將采集的數據保存到數據庫中。同時還可以發送一些錯誤的指令用來采集電表故障事件的數據,便于后期對電表進行預測,將由于錯誤指令產生的事件記錄到XML文件中;最后通過通信層和協議解析,讓虛擬電表通過RS-485轉接口將實物與電腦相連接,以備實驗室測試以及實際應用[10]。

圖1 系統總體框圖
考慮到目前市面上的電能表仿真測試系統已經無法滿足現實需求,同時基于上述總體系統的設計,本文主要介紹在電能表系統仿真時,智能電表數量和種類能夠實時添加,做到電表與參數的對應匹配并在仿真界面上能夠直接看到當前仿真電表所有參數的性能指標,以及數據的實時采集等功能。簡潔、強大、合理的界面操作提供是仿真系統質量的保證,而界面的功能需求是實現友好界面的基礎[11-12],各個功能層次的模塊單元框圖如圖2所示。

圖2 系統具體功能模塊框圖
1) 通信管理是實現對串口有效的控制,并對數據通信狀況進行監控。
2) 電表動態設定是用于實現多個電表的仿真和實現電能表數量種類的添加、修改、刪除等操作的管理。
3) 電表數據配置是實現各個電能表的參數數據顯示、添加、刪除、設置等操作的管理以及電能表參數數據的查詢等。
電表動態設定模塊和電表數據配置模塊結合數據庫與XML文檔技術,可實現電表動態可配置的功能。當仿真時動態添加電能表數量或增加電能表種類時,并將其獨有的參數一同添加到數據庫中,此時在數據庫內部會自動將電能表與參數進行匹配操作。當仿真時調用電能表與之對應的參數也會一并顯示在仿真界面上,實時動態可配置的同時確保仿真電能表的準確性。
4) 協議管理是為了查看協議的數據幀格式和屬性,并實現協議的添加、修改、刪除的管理。不同種類的電能表通信協議會有差異,此模塊用來實現電能表仿真系統的通用性。
5) 動態電表數據管理實現了多個電能表多個數據的同時變化。根據實際情況的需要,在界面上用戶能夠自定義電能表和參數數據變化的方式,同時通過分析數據,以圖像的形式呈現在界面上,便于更直觀地查看變化。
6) 附加功能主要是對用戶錯誤操作時彈出相應的提示信息,以及對電能錯誤信息的反饋顯示。便于用戶直觀地觀察當前仿真系統出現的錯誤信息。
功能界面是用來實現系統與人工操作的完美結合,也稱人機交互。包括用戶登錄界面、模擬電能表主體界面和仿真圖像顯示界面。其中最主要也是最關鍵的是模擬電表中電表事件單元。
用戶界面作為程序啟動后的初始化界面,主要實現仿真系統與主體界面的連接以及系統與數據庫的連接。主要實現系統與數據庫的實時數據共享,便于后續對系統的一系列操作所產生的數據進行保存或讀取。是實現人機交互的接入口。用戶登錄界面如圖3所示。
首先數據庫驅動里QT自帶的QSQLITE和QMYSQL、QMYSQL3和QODBC等一系列數據庫驅動可供選擇。數據庫名、用戶名和密碼都是用戶提前設定好的,但是主機名和端口號必須是用戶本身主機的名字和端口,不可以隨意更改,否則無法正確地連接數據庫。

圖3 用戶登錄界面
登錄界面之后就進入主體界面,大體分為通信層、模擬電表和協議解析3部分,共同組成系統的具體功能配置界面。其中模擬電表部分尤為重要,主要包括電表數據管理、通信協議、規約參數和電表事件4個單元。
1) 模擬電表單元
電表數據管理單元主要是用來對采集到的數據進行處理并顯示到界面上,并且隨著時間的推移過程中,界面上的數據也隨之實時變化,同時在需要時能夠對數據進行添加刪除等操作,體現數據操作的靈活性。
通信協議單元的最終框架是形成一個用戶根據需要手動配置的界面。在需要某種協議的時候,用戶直接通過界面添加所需要的協議數據項,并同時對添加的協議進行解析和封裝,在使用時從數據庫中直接調用,而不需要修改程序。
規約解析單元主要用來對電表的各個參數類型進行限制規定,使其在限定范圍內活動,一旦超出界限就會報警。
電表事件包括兩個方面,一個是電表與參數的匹配配置單元;另一個是電表對故障事件的報警和記錄單元。其中電表與參數匹配單元是關鍵。實現以界面化的方式觀察到仿真電表個數種類添加的情況??梢酝ㄟ^手動設置表號、表地址、采用的協議和所需要匹配的參數類型,并在提交后自動添加到數據庫中保存。此時在數據庫中會自動給電表項和參數項各添加一個主鍵用來對于兩者之間進行匹配,實現電表與參數的實時準確添加顯示,以便隨時調用。電能表實時添加界面實現如圖4所示。
在添加完電表和相對應的參數后,即可在電表和參數匹配單元中看到剛添加的電表類型和對應的所有參數類型。在此單元界面上,初始時電表和參數單元格顯示的是數據庫中所保存的所有電表和參數類型。當單擊其中一個電表類型時,系統會自動鎖定電表在數據庫中的主鍵,并用此主鍵在數據庫參數表中索引與之電表相匹配的參數,并顯示到參數單元格中,而與之不相匹配的參數則會自動隱藏,實現了電表與對應參數實時匹配的性能。在電表與參數匹配的同時在另一個區域內可以更直觀地看到當前所選擇的電表類型和與之相對應參數數量及當前所觀察的具體參數類型,并可以通過加載XML的方式將各個參數的性能指標顯示出來。通過此主從視圖實現系統仿真電表數量的實時添加,參數匹配和參數性能指標的靈活性,也更加的人性化,充分達到人機交互的目的。

圖4 電能表實時添加界面
其中系統仿真電表事件的主從視圖模塊界面,主要包括4個單元格,分別是電表、參數、詳細信息和XML文檔顯示,每個單元格的功能在上述都已介紹。電表、參數實時操作界面如圖5所示。

圖5 電表、參數實時操作界面
此界面主要用來實現電能表和參數的動態可配置。結合數據庫XML,不僅可以實現仿真時電能表動態配置,還能夠實時觀察對應電能表參數的性能指標。
綜合上述的介紹,主體界面上電表事件的工作流程圖如圖6所示。
剛開始程序運行時,先連接數據庫,再進行數據庫檢索,將符合要求的電表和參數一次性都顯示到界面相應的單元格內。當點擊其中一個電表類型時,會獲取此電表對應的主鍵,并在數據庫中搜索與此主鍵相匹配的參數,最終顯示到界面上,并將不相關的參數全部隱藏。
最后可以通過加載XML的形式,將選擇的參數性能指標顯示出來。在系統仿真的時候,可以在任意時刻點擊添加電表按鈕,在出現的界面上,將需要添加新電表的信息一一輸入,最后將電表和參數類型保存到數據庫,參數的性能指標保存到XML文件中。最終實現電表的動態添加及實時仿真的效果。

圖6 電表事件操作流程圖
2) 通信單元和協議解析單元
通常通信單元和協議解析單元是聯系在一起的,只有在協議解析的基礎上才能進行正常的通信。其中通信單元包括串口設置和數據通信兩部分,而協議解析單元包括協議顯示和協議幀的接收響應兩部分。這兩部分主要用在系統仿真的前期對數據的采集和后期對數據進行處理兩個階段。具體的實現流程如圖7所示。
在前期,首先利用串口工具對智能電表發送請求幀命令,此時對協議的幀命令進行解析,并響應幀,則可以將電表中的數據進行讀取并保存到數據庫中。在后期操作過程中,只要對存儲在數據庫中的數據進行讀取即可。

圖7 通信與協議的工作流程圖
針對目前市面上對仿真電能表系統的不夠完善,并分析對仿真電能表系統的需求,提出基于QT界面設計完成的仿真電能表和參數在線實時匹配系統。結合MySQL數據庫與XML文件管理技術實現系統數據處理與參數性能指標的設定。該系統的建立相對于其他的仿真系統具有如下幾個優勢:
1)有效改善了仿真時電能表的實時操作性,更加靈活。
2)大大提高了對電能表仿真的效率。
3)理論上虛擬智能電表仿真系統還可以促進協議測試的創新。
4)該系統還可以為用電信息采集系統的建立奠定堅實基礎。
[1] 張文亮, 劉壯志, 王明俊,等. 智能電網的研究進展及發展趨勢[J]. 電網技術, 2009,33(13):1-11.
[2] 陳樹勇, 宋書芳, 李蘭欣,等. 智能電網技術綜述[J]. 電網技術, 2009, 33(8):1-7.
[3] 張東霞, 苗新, 劉麗平,等. 智能電網大數據技術發展研究[J]. 中國電機工程學報, 2015(1):2-12.
[4] 王臻. 多功能多協議仿真電能表的設計與實現[D]. 武漢:武漢理工大學, 2008.
[5] 蘇慧玲, 王忠東, 蔡奇新,等. 大規模智能電能表自動化檢定的關鍵技術[J]. 中國電力, 2016, 49(6):126-131.
[6] 曾維, 羅粟, 黃宏,等. 封裝串口數據通信協議的設計[J]. 微型機與應用, 2014(18):56-57.
[7] 趙兵, 翟峰, 李濤永,等. 適用于智能電表雙向互動系統的安全通信協議[J]. 電力系統自動化, 2016,40(17):93-98.
[8] 廣澤晶, 王坤乾. 虛擬智能電表仿真系統的研究[J]. 電力系統通信, 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接口設計方案綜述[J]. 電測與儀表, 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.