◆夏浩軍
電能量遠方終端串口通信實時性研究
◆夏浩軍
(楊凌職業技術學院 陜西 712100)
電能量遠方終端通過串口與多功能電能表進行通信,通過對電能量數據進行實測并采集,從而證明了串口通信的實時性是衡量終端性能的重要指標。為了進一步證實,本文研究了電能量遠方終端串口通信的實時性建模方法,通過采集實測數據進而驗證了串口數據的傳輸實時性及處理的準確性,分析并研究數據傳輸的時間誤差,從而實現電能量遠方終端數據傳輸的實時通信。
電能量;遠方終端;串口通信;實時性
作為電能量計量計費系統(TMR)中的重要核心設備,電能量遠方終端(ERTU)能夠根據計費系統的要求,將抄錄取得的數據進行存儲并進行預處理和遠傳[1],從而保障計費系統計量和結算數據的準確、完整、可靠和安全[2],進一步保證電力市場中各方在供應、銷售等過程中對于電量計費的公平與公正。
電能量計量計費系統(以下簡稱計量系統)通過對各計量點計量數據的采集、存儲,以及處理。為用電系統提供準確、可靠的電量計量數據;在實際電力調度過程中為用電管理、電網及設備管理、建設與分析提供了科學依據和管理手段,并為電力市場的商業管理提供強有力的技術支撐。作為計量系統核心設備之一,電能量數據采集遠方終端非常重要[3],為深入分析研究系統串行通信的實時性能,根據以太網和串行口的特點,針對串行數據包產生傳輸時延建立了數學模型。在試驗中,通過對實測數據的采集來驗證所建立的模型的準確性,最終分析研究了電能量遠方終端串口通信的實時性。
通過在以太網里接收串口數據幀,并將實時數據上傳給計量系統主站是電能量遠方終端的主要任務和功能[4]。數據傳輸方法為:裝置通過串行口接收電能量數據包,按先進先出的規則對數據包進行排列并存入緩沖區,當緩沖區存放的數據達到一定的限度時,裝置開始處理串口數據包并采用數據幀的形式將數據上傳給計量系統主站;反之,當有數據幀到達時,通過裝置把獲得的數據幀解包,并作相應處理。在固定的硬件條件下,多功能電能表在單位時間內發送的數據包個數不變,而且在處理器處理頻率不變的情況下,電能量遠方終端在單位時間內處理的數據包也是恒定的。由于裝置對數據的處理是以數據包為單位進行的,因此終端處理數據包使用的時間是單調連續函數[5],處理時間與數據包的長度成正比。除此以外,裝置發送以太網數據幀時,是通過TCP/IP協議與計量系統主站進行數據傳輸。
為了進一步檢測串口傳輸數據包的實時性能,通過搭建如下圖1所示的設備連接平臺來進行測試。在該平臺中配置了兩臺性能相對比較高的計算機和一臺工業控制計算機,其中一臺高性能計算機作為主站,通過100M以太網連接到以太網交換機(CISCO2610XM 10/100 Ethernet Router w/ Cisco IOS IP),數據終端服務器采用的是一臺80386工業控制計算機,另外一臺高性能計算機作為串口數據生成器與數據終端服務器之間通過RS485線路連接,并通過傳統的以太網連接方式連到交換機上。
圖1中數據終端服務器的軟件平臺采用的是嵌入式操作系統μC/OS-II,可采用兩種通信協議:TCP/IP協議和UDP/IP協議進行數據傳輸。TCP/IP作為網絡中(包括互聯網)普遍使用的網絡通訊協議,是一種面向連接的通訊協議,采用其傳輸數據可靠性較高。該協議在數據傳輸過程中如發現某個數據幀沒有收到時,數據發送方會一直發送該數據直到對方接收,繼而才處理下一個數據幀。對于UDP/IP協議則采用的是一種無連接的方式進行通訊,它的數據傳輸實時性能要比TCP/IP高的多,但是,當網絡里的數據流量較大時很難能保證數據傳輸的準確性與可靠性。由于電能量計量計費系統中電能量遠方終端網絡里面的數據流量較小,但是它對數據傳輸的準確性要求較高,因此在本試驗中采用可靠性較高的TCP/IP協議作為數據通信協議。

圖1 實時性能試驗平臺
在圖1所示平臺中,作為系統主站的一方完成數據包的接收與發送,當它每接收到一個數據包時,就會立刻將該數據包發送出去。數據終端服務器立刻會將數據通過串口接收和處理,并通過網絡發送給主站。而串口數據生成器會定時發送單位數據包,并啟動計數器,在接收返回數據包同時計算傳輸時間。也就是說通過對串口數據生成器(途經數據終端服務器和交換機)到主站的數據傳輸往返時間的計算,來對串口通信系統的實時性進行評估。
系統假設:(1)由于使用交換機的同時數據包流量以及長度都較小,故而網絡里幾乎不會出現數據包沖突及碰撞現象;(2)串行線上數據包的傳輸時間tc(μs)是數據包大小l的連續函數,并設其二階可導。
3.1 實時性問題
串口數據生成器發送的數據包到主站的往返時間t可用下列公式表示:

式(1)中:ti(μs)表示以太網上數據傳輸使用的時間,ti= ti1+ ti2,ti1為以太網交換機對數據包的處理時間,ti2為數據包在傳輸介質上傳輸使用的時間;td(μs):數據終端服務器數據包處理時間與長度成正比;tc(μs):數據包在串行線上傳輸使用的時間。
假設以太網數據流量很小并且交換機的處理時間可以忽略不計,故而設ti1= 0;以此來計算一個數據幀在該以太網中的傳輸時間ti2,如下圖2 所示[6],數據經過封裝過程并進入協議棧。

圖2 以太網數據幀格式
圖2中,該網絡數據幀的傳輸時間為[7]:

式(2)中:max(576,8l+432)作為網絡中規定數據包傳輸的大小,根據上圖2中所要求的數據幀格式確定;tf=96為傳輸數據幀相鄰的幀間距,在IEEE802.13中作為96位數據的傳輸時間;tb為以太網上一位數據的傳輸時間,100Mbps以太網tb=0.01μs/bit。
串行線中長度為l的數據包其傳輸時間為:

式(3)中:l(bytes)為數據包的大小(長度范圍0bytes~48bytes);λ(bps)為串口波特率;h為數據頭部位數,是除去數據位以外的位數;C為串口轉換器對數據包進行處理時所附加的固定長度的標志,通常情況下可假設為常數;td=f(l)為數據終端服務器對數據進行處理的時間,其與數據包的長度成正比(一般低至微秒級)[8]。
由式(1)~(3)可知:

式(4)中:vt(Mbps)以太網的傳輸速度(vt= 100Mbps);f(l)為隱式函數。
3.2 數據傳輸模型
假設有兩組實測數據:其中L為數據包的長度向量,另外兩組數據的串口波特率依次為λ1和λ2,即:

對上述兩組數據做差值,有:

把式(4)代入式(5)得:

式(6)中Y為C的常量,若Y=[C1,C2,C3,···,Cn],則(取整)。已知Y,由式(4)可求出差值函數:

由式(7)得到函數點列(L,f(L)),作為響應函數,描述的是串口服務器數據幀的處理時間。f(L)為隨L成正比的單調連續函數,采用多項式函數逼近。對數據使用最小二乘二階多項式進行擬合,得到f(L)函數:

通過構建的試驗平臺實測得兩組實驗數據,在實驗中對裝置串口轉換器數據幀頭部進行設置:一個作為停止位、一個作為奇偶校驗位以及八位數據位,因此h= 2。在圖1所示試驗系統中,假設兩組數據使用的波特率分別為1λ= 4800bps和2λ= 2400bps,其每組數據樣本的具體個數為3000個。對這3000個數據進行取均值,得到以下實驗數據:
L= [6 12 24 36 48 ]為數據包長度的向量;

取C?50bits,將以上數據代入式(6),得:
Y= [ 50.0324 50.2453 50.1432 50.2112 50.1743 ]
取λ1=4800bps,將數據T1代入式(7)得:
f(L)=[88863.611 90711.432 100611.172 103220.329 110021.826]
應用最小二乘二階多項式擬合上述數據,得擬合多項式函數f(l),其表達式為:

通過(1)~(9)的分析可知,一個數據包在圖1所示設備連接系統中的傳輸時間為:

4.1 數據傳輸誤差
通過上述分析推導出波特率為1λ= 4800bps以及2λ= 2400bps的兩組實測數據傳輸時間的均值公式。為進一步驗證計算公式的準確性,實測了串口通信數據傳輸時間。實驗中,測得波特率為9600bps,L=[12 24 36 48](單位:byte)時的數據傳輸時間。按前式(10)計算數據傳輸時間的理論值,實測值與理論均值對比如表1所示。

表1 實測數據和理論均值數據
由表1可知理論值和實測值基本一致,二者誤差可由式(11)計算,表示為:

式(11)中:?t為理論傳輸時間均值,?f為實測傳輸時間均值。由式(11)可得表1中數據傳輸時間理論均值和實測值的相對誤差最大為0.67%,表明數據傳輸實時性理論計算方法準確。
4.2 數據傳輸實時性分析
通過上述理論分析發現,在串口數據生成器產生的數據傳輸頻率恒定不變的情況下,數據包傳輸時間與其大小成正比,與它的傳送波特率成反比。但是,串口波特率對傳輸時間影響較大,當波特率小于4800bps時,數據的傳輸延遲與波特率成反比。因此,在實時數據傳輸系統中,為提高電能量遠方終端數據傳輸的實時性能,須盡可能提高電能量遠方終端串口數據傳輸波特率。
在構建的網絡平臺中,假設?l=32bytes,其串口波特率為9600bps,得到它的數據幀傳輸時間如表2所示。

表2 數據幀傳輸時間
由表2可知,數據在網絡中傳輸時間占總時間的0.28%,假定以太網數據幀傳輸時間約占數據終端服務器處理數據幀時間的10%,由此可知數據終端服務器軟件對數據的處理時間為78.4sμ。上述分析表明,在設計電能量遠方終端時,需縮短終端的通信線路,提高系統硬件平臺性能,能夠提高系統處理電能量數據的速度;此外,應優化系統軟件功能,選擇較高波特率,減小串口線數據傳輸時間,提高電能量數據傳輸實時性能。
(1)通過對電能量遠方終端數據傳輸實時性模型的建立,分析并推導了基于TCP/IP通信協議的數據傳輸時間的理論計算公式。
(2)通過對數據傳輸實驗平臺的搭建,通過對電能量遠方終端數據傳輸時間的實測,進而討論并分析了電能量遠方終端串口通信的實時性能。
[1]蔡利敏,劉國華,王勇.智能變電站電能量計量系統方案設計[J].中國電力,2011.
[2]童曉陽,廖晨淞,周立龍,等.基于IEC61850-9-2的變電站通信網絡仿真[J].電力系統自動化,2010.
[3]張勝.電能計量終端的遠程實時監視[J].電力系統自動化,2006.
[4]Jim Turley.Missing μC/OS-II Other RTOSes[J].Embe dded Systems Programming,2005.
[5]孟憲偉,王曉輝.載人潛器串口設備轉接工業以太網的實時性建模與分析[J].儀器儀表學報,2006.
[6]佘小莉,唐禎敏.基于TCP/IP協議的串口網關實時性的建模與分析[J].計算機工程與設計,2007.
[7]尹迅雷,陳在平,姚曉偉.工業以太網時延分析與建模研究[J].天津理工大學學報,2005.
[8]裴瑋,鄧衛,孔力等.分布式發電環境下的嵌入式電力負荷管理系統設計與實現[J].電力自動化設備,2007.
楊凌職業技術學院科學研究基金計劃項目,編號:A2015022。