◆夏浩軍
電能量遠方終端串口通信實時性研究
◆夏浩軍
(楊凌職業(yè)技術(shù)學(xué)院 陜西 712100)
電能量遠方終端通過串口與多功能電能表進行通信,通過對電能量數(shù)據(jù)進行實測并采集,從而證明了串口通信的實時性是衡量終端性能的重要指標。為了進一步證實,本文研究了電能量遠方終端串口通信的實時性建模方法,通過采集實測數(shù)據(jù)進而驗證了串口數(shù)據(jù)的傳輸實時性及處理的準確性,分析并研究數(shù)據(jù)傳輸?shù)臅r間誤差,從而實現(xiàn)電能量遠方終端數(shù)據(jù)傳輸?shù)膶崟r通信。
電能量;遠方終端;串口通信;實時性
作為電能量計量計費系統(tǒng)(TMR)中的重要核心設(shè)備,電能量遠方終端(ERTU)能夠根據(jù)計費系統(tǒng)的要求,將抄錄取得的數(shù)據(jù)進行存儲并進行預(yù)處理和遠傳[1],從而保障計費系統(tǒng)計量和結(jié)算數(shù)據(jù)的準確、完整、可靠和安全[2],進一步保證電力市場中各方在供應(yīng)、銷售等過程中對于電量計費的公平與公正。
電能量計量計費系統(tǒng)(以下簡稱計量系統(tǒng))通過對各計量點計量數(shù)據(jù)的采集、存儲,以及處理。為用電系統(tǒng)提供準確、可靠的電量計量數(shù)據(jù);在實際電力調(diào)度過程中為用電管理、電網(wǎng)及設(shè)備管理、建設(shè)與分析提供了科學(xué)依據(jù)和管理手段,并為電力市場的商業(yè)管理提供強有力的技術(shù)支撐。作為計量系統(tǒng)核心設(shè)備之一,電能量數(shù)據(jù)采集遠方終端非常重要[3],為深入分析研究系統(tǒng)串行通信的實時性能,根據(jù)以太網(wǎng)和串行口的特點,針對串行數(shù)據(jù)包產(chǎn)生傳輸時延建立了數(shù)學(xué)模型。在試驗中,通過對實測數(shù)據(jù)的采集來驗證所建立的模型的準確性,最終分析研究了電能量遠方終端串口通信的實時性。
通過在以太網(wǎng)里接收串口數(shù)據(jù)幀,并將實時數(shù)據(jù)上傳給計量系統(tǒng)主站是電能量遠方終端的主要任務(wù)和功能[4]。數(shù)據(jù)傳輸方法為:裝置通過串行口接收電能量數(shù)據(jù)包,按先進先出的規(guī)則對數(shù)據(jù)包進行排列并存入緩沖區(qū),當(dāng)緩沖區(qū)存放的數(shù)據(jù)達到一定的限度時,裝置開始處理串口數(shù)據(jù)包并采用數(shù)據(jù)幀的形式將數(shù)據(jù)上傳給計量系統(tǒng)主站;反之,當(dāng)有數(shù)據(jù)幀到達時,通過裝置把獲得的數(shù)據(jù)幀解包,并作相應(yīng)處理。在固定的硬件條件下,多功能電能表在單位時間內(nèi)發(fā)送的數(shù)據(jù)包個數(shù)不變,而且在處理器處理頻率不變的情況下,電能量遠方終端在單位時間內(nèi)處理的數(shù)據(jù)包也是恒定的。由于裝置對數(shù)據(jù)的處理是以數(shù)據(jù)包為單位進行的,因此終端處理數(shù)據(jù)包使用的時間是單調(diào)連續(xù)函數(shù)[5],處理時間與數(shù)據(jù)包的長度成正比。除此以外,裝置發(fā)送以太網(wǎng)數(shù)據(jù)幀時,是通過TCP/IP協(xié)議與計量系統(tǒng)主站進行數(shù)據(jù)傳輸。
為了進一步檢測串口傳輸數(shù)據(jù)包的實時性能,通過搭建如下圖1所示的設(shè)備連接平臺來進行測試。在該平臺中配置了兩臺性能相對比較高的計算機和一臺工業(yè)控制計算機,其中一臺高性能計算機作為主站,通過100M以太網(wǎng)連接到以太網(wǎng)交換機(CISCO2610XM 10/100 Ethernet Router w/ Cisco IOS IP),數(shù)據(jù)終端服務(wù)器采用的是一臺80386工業(yè)控制計算機,另外一臺高性能計算機作為串口數(shù)據(jù)生成器與數(shù)據(jù)終端服務(wù)器之間通過RS485線路連接,并通過傳統(tǒng)的以太網(wǎng)連接方式連到交換機上。
圖1中數(shù)據(jù)終端服務(wù)器的軟件平臺采用的是嵌入式操作系統(tǒng)μC/OS-II,可采用兩種通信協(xié)議:TCP/IP協(xié)議和UDP/IP協(xié)議進行數(shù)據(jù)傳輸。TCP/IP作為網(wǎng)絡(luò)中(包括互聯(lián)網(wǎng))普遍使用的網(wǎng)絡(luò)通訊協(xié)議,是一種面向連接的通訊協(xié)議,采用其傳輸數(shù)據(jù)可靠性較高。該協(xié)議在數(shù)據(jù)傳輸過程中如發(fā)現(xiàn)某個數(shù)據(jù)幀沒有收到時,數(shù)據(jù)發(fā)送方會一直發(fā)送該數(shù)據(jù)直到對方接收,繼而才處理下一個數(shù)據(jù)幀。對于UDP/IP協(xié)議則采用的是一種無連接的方式進行通訊,它的數(shù)據(jù)傳輸實時性能要比TCP/IP高的多,但是,當(dāng)網(wǎng)絡(luò)里的數(shù)據(jù)流量較大時很難能保證數(shù)據(jù)傳輸?shù)臏蚀_性與可靠性。由于電能量計量計費系統(tǒng)中電能量遠方終端網(wǎng)絡(luò)里面的數(shù)據(jù)流量較小,但是它對數(shù)據(jù)傳輸?shù)臏蚀_性要求較高,因此在本試驗中采用可靠性較高的TCP/IP協(xié)議作為數(shù)據(jù)通信協(xié)議。
圖1 實時性能試驗平臺
在圖1所示平臺中,作為系統(tǒng)主站的一方完成數(shù)據(jù)包的接收與發(fā)送,當(dāng)它每接收到一個數(shù)據(jù)包時,就會立刻將該數(shù)據(jù)包發(fā)送出去。數(shù)據(jù)終端服務(wù)器立刻會將數(shù)據(jù)通過串口接收和處理,并通過網(wǎng)絡(luò)發(fā)送給主站。而串口數(shù)據(jù)生成器會定時發(fā)送單位數(shù)據(jù)包,并啟動計數(shù)器,在接收返回數(shù)據(jù)包同時計算傳輸時間。也就是說通過對串口數(shù)據(jù)生成器(途經(jīng)數(shù)據(jù)終端服務(wù)器和交換機)到主站的數(shù)據(jù)傳輸往返時間的計算,來對串口通信系統(tǒng)的實時性進行評估。
系統(tǒng)假設(shè):(1)由于使用交換機的同時數(shù)據(jù)包流量以及長度都較小,故而網(wǎng)絡(luò)里幾乎不會出現(xiàn)數(shù)據(jù)包沖突及碰撞現(xiàn)象;(2)串行線上數(shù)據(jù)包的傳輸時間tc(μs)是數(shù)據(jù)包大小l的連續(xù)函數(shù),并設(shè)其二階可導(dǎo)。
3.1 實時性問題
串口數(shù)據(jù)生成器發(fā)送的數(shù)據(jù)包到主站的往返時間t可用下列公式表示:
式(1)中:ti(μs)表示以太網(wǎng)上數(shù)據(jù)傳輸使用的時間,ti= ti1+ ti2,ti1為以太網(wǎng)交換機對數(shù)據(jù)包的處理時間,ti2為數(shù)據(jù)包在傳輸介質(zhì)上傳輸使用的時間;td(μs):數(shù)據(jù)終端服務(wù)器數(shù)據(jù)包處理時間與長度成正比;tc(μs):數(shù)據(jù)包在串行線上傳輸使用的時間。
假設(shè)以太網(wǎng)數(shù)據(jù)流量很小并且交換機的處理時間可以忽略不計,故而設(shè)ti1= 0;以此來計算一個數(shù)據(jù)幀在該以太網(wǎng)中的傳輸時間ti2,如下圖2 所示[6],數(shù)據(jù)經(jīng)過封裝過程并進入?yún)f(xié)議棧。
圖2 以太網(wǎng)數(shù)據(jù)幀格式
圖2中,該網(wǎng)絡(luò)數(shù)據(jù)幀的傳輸時間為[7]:
式(2)中:max(576,8l+432)作為網(wǎng)絡(luò)中規(guī)定數(shù)據(jù)包傳輸?shù)拇笮?,根?jù)上圖2中所要求的數(shù)據(jù)幀格式確定;tf=96為傳輸數(shù)據(jù)幀相鄰的幀間距,在IEEE802.13中作為96位數(shù)據(jù)的傳輸時間;tb為以太網(wǎng)上一位數(shù)據(jù)的傳輸時間,100Mbps以太網(wǎng)tb=0.01μs/bit。
串行線中長度為l的數(shù)據(jù)包其傳輸時間為:
式(3)中:l(bytes)為數(shù)據(jù)包的大小(長度范圍0bytes~48bytes);λ(bps)為串口波特率;h為數(shù)據(jù)頭部位數(shù),是除去數(shù)據(jù)位以外的位數(shù);C為串口轉(zhuǎn)換器對數(shù)據(jù)包進行處理時所附加的固定長度的標志,通常情況下可假設(shè)為常數(shù);td=f(l)為數(shù)據(jù)終端服務(wù)器對數(shù)據(jù)進行處理的時間,其與數(shù)據(jù)包的長度成正比(一般低至微秒級)[8]。
由式(1)~(3)可知:
式(4)中:vt(Mbps)以太網(wǎng)的傳輸速度(vt= 100Mbps);f(l)為隱式函數(shù)。
3.2 數(shù)據(jù)傳輸模型
假設(shè)有兩組實測數(shù)據(jù):其中L為數(shù)據(jù)包的長度向量,另外兩組數(shù)據(jù)的串口波特率依次為λ1和λ2,即:
對上述兩組數(shù)據(jù)做差值,有:
把式(4)代入式(5)得:
式(6)中Y為C的常量,若Y=[C1,C2,C3,···,Cn],則(取整)。已知Y,由式(4)可求出差值函數(shù):
由式(7)得到函數(shù)點列(L,f(L)),作為響應(yīng)函數(shù),描述的是串口服務(wù)器數(shù)據(jù)幀的處理時間。f(L)為隨L成正比的單調(diào)連續(xù)函數(shù),采用多項式函數(shù)逼近。對數(shù)據(jù)使用最小二乘二階多項式進行擬合,得到f(L)函數(shù):
通過構(gòu)建的試驗平臺實測得兩組實驗數(shù)據(jù),在實驗中對裝置串口轉(zhuǎn)換器數(shù)據(jù)幀頭部進行設(shè)置:一個作為停止位、一個作為奇偶校驗位以及八位數(shù)據(jù)位,因此h= 2。在圖1所示試驗系統(tǒng)中,假設(shè)兩組數(shù)據(jù)使用的波特率分別為1λ= 4800bps和2λ= 2400bps,其每組數(shù)據(jù)樣本的具體個數(shù)為3000個。對這3000個數(shù)據(jù)進行取均值,得到以下實驗數(shù)據(jù):
L= [6 12 24 36 48 ]為數(shù)據(jù)包長度的向量;
取C?50bits,將以上數(shù)據(jù)代入式(6),得:
Y= [ 50.0324 50.2453 50.1432 50.2112 50.1743 ]
取λ1=4800bps,將數(shù)據(jù)T1代入式(7)得:
f(L)=[88863.611 90711.432 100611.172 103220.329 110021.826]
應(yīng)用最小二乘二階多項式擬合上述數(shù)據(jù),得擬合多項式函數(shù)f(l),其表達式為:
通過(1)~(9)的分析可知,一個數(shù)據(jù)包在圖1所示設(shè)備連接系統(tǒng)中的傳輸時間為:
4.1 數(shù)據(jù)傳輸誤差
通過上述分析推導(dǎo)出波特率為1λ= 4800bps以及2λ= 2400bps的兩組實測數(shù)據(jù)傳輸時間的均值公式。為進一步驗證計算公式的準確性,實測了串口通信數(shù)據(jù)傳輸時間。實驗中,測得波特率為9600bps,L=[12 24 36 48](單位:byte)時的數(shù)據(jù)傳輸時間。按前式(10)計算數(shù)據(jù)傳輸時間的理論值,實測值與理論均值對比如表1所示。
表1 實測數(shù)據(jù)和理論均值數(shù)據(jù)
由表1可知理論值和實測值基本一致,二者誤差可由式(11)計算,表示為:
式(11)中:?t為理論傳輸時間均值,?f為實測傳輸時間均值。由式(11)可得表1中數(shù)據(jù)傳輸時間理論均值和實測值的相對誤差最大為0.67%,表明數(shù)據(jù)傳輸實時性理論計算方法準確。
4.2 數(shù)據(jù)傳輸實時性分析
通過上述理論分析發(fā)現(xiàn),在串口數(shù)據(jù)生成器產(chǎn)生的數(shù)據(jù)傳輸頻率恒定不變的情況下,數(shù)據(jù)包傳輸時間與其大小成正比,與它的傳送波特率成反比。但是,串口波特率對傳輸時間影響較大,當(dāng)波特率小于4800bps時,數(shù)據(jù)的傳輸延遲與波特率成反比。因此,在實時數(shù)據(jù)傳輸系統(tǒng)中,為提高電能量遠方終端數(shù)據(jù)傳輸?shù)膶崟r性能,須盡可能提高電能量遠方終端串口數(shù)據(jù)傳輸波特率。
在構(gòu)建的網(wǎng)絡(luò)平臺中,假設(shè)?l=32bytes,其串口波特率為9600bps,得到它的數(shù)據(jù)幀傳輸時間如表2所示。
表2 數(shù)據(jù)幀傳輸時間
由表2可知,數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時間占總時間的0.28%,假定以太網(wǎng)數(shù)據(jù)幀傳輸時間約占數(shù)據(jù)終端服務(wù)器處理數(shù)據(jù)幀時間的10%,由此可知數(shù)據(jù)終端服務(wù)器軟件對數(shù)據(jù)的處理時間為78.4sμ。上述分析表明,在設(shè)計電能量遠方終端時,需縮短終端的通信線路,提高系統(tǒng)硬件平臺性能,能夠提高系統(tǒng)處理電能量數(shù)據(jù)的速度;此外,應(yīng)優(yōu)化系統(tǒng)軟件功能,選擇較高波特率,減小串口線數(shù)據(jù)傳輸時間,提高電能量數(shù)據(jù)傳輸實時性能。
(1)通過對電能量遠方終端數(shù)據(jù)傳輸實時性模型的建立,分析并推導(dǎo)了基于TCP/IP通信協(xié)議的數(shù)據(jù)傳輸時間的理論計算公式。
(2)通過對數(shù)據(jù)傳輸實驗平臺的搭建,通過對電能量遠方終端數(shù)據(jù)傳輸時間的實測,進而討論并分析了電能量遠方終端串口通信的實時性能。
[1]蔡利敏,劉國華,王勇.智能變電站電能量計量系統(tǒng)方案設(shè)計[J].中國電力,2011.
[2]童曉陽,廖晨淞,周立龍,等.基于IEC61850-9-2的變電站通信網(wǎng)絡(luò)仿真[J].電力系統(tǒng)自動化,2010.
[3]張勝.電能計量終端的遠程實時監(jiān)視[J].電力系統(tǒng)自動化,2006.
[4]Jim Turley.Missing μC/OS-II Other RTOSes[J].Embe dded Systems Programming,2005.
[5]孟憲偉,王曉輝.載人潛器串口設(shè)備轉(zhuǎn)接工業(yè)以太網(wǎng)的實時性建模與分析[J].儀器儀表學(xué)報,2006.
[6]佘小莉,唐禎敏.基于TCP/IP協(xié)議的串口網(wǎng)關(guān)實時性的建模與分析[J].計算機工程與設(shè)計,2007.
[7]尹迅雷,陳在平,姚曉偉.工業(yè)以太網(wǎng)時延分析與建模研究[J].天津理工大學(xué)學(xué)報,2005.
[8]裴瑋,鄧衛(wèi),孔力等.分布式發(fā)電環(huán)境下的嵌入式電力負荷管理系統(tǒng)設(shè)計與實現(xiàn)[J].電力自動化設(shè)備,2007.
楊凌職業(yè)技術(shù)學(xué)院科學(xué)研究基金計劃項目,編號:A2015022。