胡黃水, 常玉琪, 王宏志, 王 博
(1. 長春工業大學 計算機科學與工程學院, 長春 130012; 2. 長春市軌道交通集團有限公司, 長春 130012)
多功能車輛總線(MVB)是一種應用廣泛的列車通信網絡, 列車的速度、 加速度等運行狀態均可通過其過程變量直接反映, 而過程變量可用過程數據直接表示. 過程數據傳送時間必須短而確定, 因此它被周期發送, 是無確認的廣播信息. 由于過程數據的傳輸時延具有不確定性, 而數據的無阻塞通信是保證列車正常可靠運行的基礎, 因此, 對過程數據通信的可靠性研究具有重要意義[1-3].
為有效提高MVB網絡過程數據通信的實時性和可靠性, 文獻[4]構建了一種分布均勻的實時調度表; 為獲取過程數據受哪些通信參數影響, 文獻[5]通過排隊理論對其與傳輸速率、 輪詢周期等之間的關系進行了深入分析; 文獻[6]采用Petri網建模方法, 通過建立過程數據通信模型, 對過程數據通信過程中的數據傳輸能力、 網絡吞吐量及帶寬利用率等進行了大量測試與分析. 目前的提高過程數據傳輸可靠性方法多是通過設計調度算法從而優化周期掃描表實現. 本文基于極大代數方法, 通過建立過程數據通信數學模型(該模型面向開環總線型MVB網絡), 引入周期輸入控制, 討論在確定時間參數下, 過程數據傳送系統是否可控、 系統是否會進入周期穩態以及在何種條件下系統無阻塞, 并通過計算和仿真分析過程數據的通信阻塞性.
MVB網絡通信采用主從工作方式[7], 其通信過程如圖1所示. 首先, MVB網絡主設備的總線管理器(bus administrator, BA)從通信存儲器中周期讀取主幀(其功能碼F_code取值為[0,4]), 且該周期值固定; 然后BA將該主幀向總線廣播, 對設備中地址與主幀所指向地址相同的(即源設備)做出響應, 其從通信存儲器中讀取從幀, 并發送至總線, 該從幀被網絡中尋址的宿設備接收.

圖1 MVB網絡過程數據通信Fig.1 Process data communication of MVB network
極大代數方法常用于離散事件動態系統, 極大代數定義為
(1)

(2)
其中
⊕ai2b2j⊕…⊕aipbpj,
∑⊕可記為∑. 相應地, 矩陣A的k次冪為Ak=AAk-1.
過程數據在MVB網絡中通過在總線段和從設備節點間進行傳輸, 可將MVB過程數據通信的三要素MVB總線段、 從設備節點及過程數據構成一個離散事件動態系統, 則過程數據占用MVB總線段和從設備節點可作為一個事件. 因此, 極大代數方法可用于對MVB過程數據通信過程進行分析和研究.
MVB網絡通信系統為總線型網絡, 為保證其正常工作, 規定某一時刻只能有一個過程數據占用某個MVB從設備或MVB總線段, 因此可將MVB網絡通信系統視為一個緩沖容量為1的剛性生產線系統. 由于過程數據在MVB從設備節點和MVB總線段的處理時間上規律性較強, 因此構建一個矩陣T, 其元素表示一個過程數據報文傳輸時間, 記為T=(t1,t2,…,tn).
設u(k)表示BA在通信存儲器中讀取第k個主幀的時刻,xi(k)表示第k個過程數據從源設備i讀取從幀并發送到第i個總線段結束的時刻,y(k)表示第k個過程數據結束一次完整通信過程的時刻, 即該過程數據不再占用MVB總線的時刻. 用向量表示為: 狀態向量
X(k)=(x1(k),x2(k),…,xn(k))′;
輸出向量Y(k)=y(k); 輸入向量U(k)=u(k). 因此, 第k個過程數據完成一次完整通信所需時間為
Tk總=y(k)-x1(k).
由于只能有一個過程數據占用MVB從設備節點或MVB總線段, 而實際過程中可能出現相鄰的兩個過程數據發生沖突需要等待的情況, 因此對于某個特定的過程數據, 需分等待與不等待兩種情形考慮:
1) 對于第k個過程數據, 如果第(k-1)個過程數據并未占用第i個MVB總線段或從設備節點, 則只要該過程數據在第(i-1)個MVB總線段或從設備節點作業完畢后, 即可占用第i個MVB總線段或從設備節點, 從而有
xi(k)=ti-1?xi-1(k);
2) 當第k個過程數據在第(i-1)個MVB從設備節點和總線段上的作業結束時, 而其前一個過程數據依然占用第i個MVB從設備節點或MVB總線段, 則其需要等待前一個過程數據不再占用第i個MVB總線段或從設備節點, 從而有
xi(k)=0?xi+1(k-1).
由于BA以固定周期讀取主幀, 因此某個過程數據完成一次廣播到下次總線管理器讀取主幀之間存在一個時間差τ, 從而有
xi(k)=τ?xi+1(k-1).
于是可采用兩種形式表示第k個過程變量在任一總線段或從設備節點i的開始作業時間, 用公式表示為
xi(k)=max{ti-1+xi-1(k),0+xi+1(k-1)}=ti-1?xi-1(k)⊕0?xi+1(k-1),
(3)
xi(k)=max{ti-1+xi-1(k),τ+xi+1(k-1)}=ti-1?xi-1(k)⊕τ?xi+1(k-1).
(4)
當i=1時, 表示第一個從設備節點或總線段被第k個過程數據開始占用, 此時必滿足第(k-1)個過程數據已不再占用第一個從設備節點, 有
x1(k)=max{0+u(k),τ+x2(k-1)}=0?u(k)⊕τ?x2(k-1);
(5)
當i=n時, 即第k個過程變量最早占用最后一個區間時, 應滿足:
xn(k)=max{tn-1+xn-1(k),tn+xn(k-1)}=tn-1?xn-1(k)⊕tn?xn(k-1).
(6)
因此, 系統的狀態方程和輸出方程為
(7)
其中: 矩陣A表示第k個過程數據占用前后兩個MVB從設備節點與MVB總線段時刻之間的關系; 矩陣B表示讀取主幀時刻與第k個過程數據開始占用MVB總線段或從設備節點時刻之間的關系; 矩陣F表示第k個過程數據的當前作業時刻與(k-1)個過程數據所處作業狀態之間的關系; 矩陣C表示第k個過程數據作業結束時刻與其占用各從設備節點或MVB總線段時刻之間的關系. 各矩陣用公式表示如下:
(8)
下面對矩陣A執行A*運算, 則系統狀態方程(7)將發生變化, 表示為
(9)
其中: 矩陣A*F表示第k個與其前一個過程數據二者狀態之間的關系; 矩陣A*B表示第k個過程數據狀態與其最早占用MVB網絡總線時刻之間的關系. 根據式(9)對式(7)進行簡化. 矩陣A*F,A*B分別表示為
(10)
由上述表達式可知, 報文傳輸時間矩陣T中各值將決定系統的所有狀態.
IEC協議對MVB基本和特征周期進行了規范, 其中前者是主設備完成一次輪詢所需的時間, 后者是同一過程數據從同一個源設備兩次連續發送的間隔時間, 且固定輪詢時間和過程數據通信間隔必須得到保證. 為了實現該目標, 可引入周期輸入控制MVB過程數據通信系統的穩定無阻塞.

定義2假設λ≠-∞, 并存在某個正整數n0, 使得?n>n0,Ad+n=λdAn, 則稱A為d階λ周期陣. 其中的乘法為一般意義的加法,λd即為普通的dλ[9].
對于任意正整數n, 將周期輸入控制引入式(9):
X(n)=X(0)(A*F)n⊕U(0)A*B(μE⊕A*F)n.
(11)
由式(11)可知, MVB網絡過程數據通信系統的狀態量取決于矩陣A*F和μE. 為方便分析, 將T中的報文傳輸時間均加上一個時間差τ構成一個新的時間矩陣T′, 該時間差τ表示前一個過程數據完成一次通信過程的時刻到下一次主幀被讀取時刻之間的時間差.A*F和μE⊕A*F均為周期階數為1的周期陣[10],A*F特征值為T′中的最大值,μE⊕A*F的特征值若設為ω, 則當μ≤max{T′}時,ω=max{T′}; 當μ>max{T′}時,ω=μ.
假設λ為矩陣A*F的特征值,λ=max{T′}, 則當μ≤λ時必存在n1, 且對于任意n>n1, 均有X(n+1)=λX(n); 當μ>λ時, 必存在n2, 對于任意n>n2, 均有X(n+1)=μX(n), 且n2必小于或等于矩陣μE⊕A*F的維數. 通過引入周期控制, 使得MVB網絡過程數據通信系統的狀態量和輸入量Y(k)=C?X(k)都進入周期為1的周期穩態, 而時間矩陣T′中的最大值決定了其參數.
通過上述模型可知, 若使MVB網絡過程數據通信無阻塞, 則過程數據在前一個MVB總線段中運行完畢的時間應為下一個MVB從設備節點開始作業的時間, 需滿足:
xi(k)=ti-1?xi-1(k)≥xi+1(k-1).
(12)
且必須考慮前一個過程數據作業結束到下一次BA讀出主幀之間的時間差τ, 則
xi(k)=ti-1?xi-1(k)≥τ?xi+1(k-1).
(13)
狀態方程可表示為
X(k)=A?X(k)⊕B?U(k)或X(k)=A*B?U(k).
綜合上述分析可知, 若使過程數據通信網絡無阻塞, 則需滿足?i∈{1,2,…,n}, 均有
U(k)≥T′(i)+U(k-1),
即BA在通信存儲器中讀取主幀的時間間隔不小于T′中的最大值.
由于MVB網絡中任意兩節點間進行過程數據通信的傳輸時延不大于42.7 μs, 且連續的兩個報文之間延時差值應小于或等于4.0 BT(1.0 BT≈666.7 ns), 即兩兩報文之間的差值不超過4.0 BT, 任意兩個主幀間隔不小于9.0 BT, 因此, 某過程數據在MVB總線上完成一次通信到下一次在通信存儲器中讀取主幀的時刻兩者之間的時間差τ最大為5.0 BT[11]. 但在實際過程數據通信中, 不可避免地存在傳輸延時波動, 從而減小幀與幀之間的時間間隔, 于是發生阻塞或幀間重疊. 下面針對該問題對MVB網絡過程數據通信模型的阻塞性進行分析, 實驗選取過程數據的10次輪詢, 并令其特征周期均為基本周期, 觀察連續兩個過程數據作業時間關系判斷是否發生阻塞現象. 圖2為過程數據工作時刻比較. 由圖2可見, 第k和(k-1)個過程數據并未發生重疊, 因為前者開始工作的時刻并未與后者結束的時刻出現重疊. 圖3為過程數據通信過程的時刻差.

圖2 過程數據工作時刻比較Fig.2 Comparison of working time of process data

圖3 過程數據通信過程的時刻差Fig.3 Time discrepancy in process data communication
由圖3可見, 第k個過程數據開始工作時刻與第(k-1)個過程數據結束時刻的差值始終保持為正數, 說明兩個連續幀之間未出現阻塞, 即通信過程未出現阻塞.
綜上可見, 在滿足IEC標準的前提下, 本文采用極大代數方法, 通過對過程數據通信建立數學模型, 并引入周期輸入控制, 計算出當BA在通信存儲器中讀取主幀的時間間隔大于或等于過程數據時間矩陣中的最大值時, 不會發生阻塞. 在滿足上述條件下, 對該方法進行了仿真測試, 結果表明, MVB過程數據通信過程無阻塞, 保證了其通信的可靠性.