0 引言
基金會現場總線是一種雙向、串行、全數字通信的工業現場級網絡控制系統。基金會現場總線由兩部分組成:HSE部分和H1部分。前者是以標準的百兆以太網構建的現場總線網絡,主要用于完成組態、診斷等管理功能;后者是以一種全新的令牌總線網構建的現場總線網絡,主要用于現場儀表設備級別的通信,用于完成最底層的回路控制、報警等功能。通過鏈接設備將這兩部分網絡連接起來。HSE部分利用H1部分提供的實時信息對整個網絡系統進行管理。
由于H1部分位于整個網絡控制系統的最低層,直接用于完成現場的控制任務,所以對于這部分通信系統的可靠性和實時性要求非常高。可靠性是通過冗余、數據校驗和協議棧軟件的糾錯機制等手段來保證的,而實時性這一點主要是依賴H1網絡通信的令牌機制。根據通信調度表,FFH1的令牌機制可以使那些實時的數據在確定的時刻發送到網絡上。相比之下,標準的以太網之所以實時性差是由于它的CSMA/CD的總線訪問機制使得數據幀何時能發送到網絡上變得不可預測。
該文簡單介紹了令牌機制所處的網絡層次,重點從令牌管理者和令牌使用者兩個角度研究了令牌管理機制,最后分析了兩種提高網絡性能的方法。
在FF協議棧軟件開發中,借助實時操作系統實現了這種令牌管理機制,從而保證了網絡的實時通信,為完成上層功能實現奠定了基礎。
1 網絡結構
整個FFH1網絡可以由多個網段組成,網段之間用網橋連接。從不同的網絡層次上可以看到的網絡結構是不同的。令牌是數據鏈路層上的一個概念。在一個網段內,物理上的拓撲結構可以是總線型的、菊花鏈型的(一般不使用)和星型的等,也可以是總線型和星型的組合。在一個網段內物理信號在整個網段上是廣播的。但是在數據鏈路層上上述各種拓撲結構的邏輯結構是相同的:令牌總線結構。
從數據鏈路層的角度看,可以把網絡上的設備分為基本設備,主設備和網橋。與令牌機制相關的只是前兩者,就是說令牌的傳遞和使用只是在一個網段內進行。主設備通過競爭可以成為令牌管理中心,稱為鏈路活動調度器(LAS),競爭失敗的主設備都是LAS的冗余備份,所有的設備都可以是令牌使用者。因此從數據鏈路層上看到的網絡邏輯結構如圖1所示。
圖1 H1網段網絡邏輯結構圖
2 令牌機制的基本原理
FFH1網段采用集中令牌管理方式。一個網段上有且僅有一個令牌管理器(LAS),網段上的所有設備(包括LAS本身)只有持有令牌的時候才能向網絡上發送數據。
圖2 令牌關系圖
網段上存在3種令牌:調度令牌、授權令牌和應答令牌。當某種令牌處于使用中時,這種令牌就稱為當前網段上的支配令牌,所以支配令牌就是使用總線的權力。這3種令牌不是平等的關系,而是一種令牌生成另一種令牌,被生成的令牌使用完后返還給生成它的那個令牌,這種關系如圖2所示。
調度令牌具有最高的優先級,只有LAS才能持有該令牌,這種令牌用來發起周期性通信和產生其他兩種令牌;授權令牌用來進行非周期通信和生成應答令牌;應答令牌只是持有其他兩種令牌的設備,給某個其他設備一個暫時通信的權力,持有應答令牌的設
備只能發送一個幀。
根據調度表,在要進行周期性通信的時刻,LAS持有的調度令牌成為支配令牌,LAS向要發布數據的設備發送一個CD幀,在該設備內生成一個應答令牌,該應答令牌成為支配令牌,該設備就使用這個應答令牌向網絡上發布一個數據幀。
在非周期性通信的時間內,也就是在周期性通信之間的間隔內,持有調度令牌的LAS向其他設備發送一個PT幀,在該設備內生成一個授權令牌,該令牌成為支配令牌,該設備在規定的時間內使用這個令牌發送數據。在這段時間內該設備也能向其他設備發放應答令牌(用來生成應答令牌的幀不一定是CD幀,有可能是RQ幀等),從而給另一個設備以暫時的通信權力。整個過程如圖3所示。圖中1,4,6時間內調度令牌是支配令牌;2,7時間內應答令牌是支配令牌;3,5時間內授權令牌是支配令牌。
圖3 一個周期內網段上的支配令牌
3 LAS的令牌發放機制
LAS是一個網段上的令牌管理中心,由它發放授權令牌(必要時授權令牌也能發放應答令牌)和應答令牌。
LAS根據調度表,在指定的周期性通信開始的時刻,向指定的設備通過CD幀發放一個應答令牌。然后開始監視網絡,如果在一個令牌恢復時間內網絡上沒有出現數據,LAS就將應答令牌收回,并用調度令牌進行下一個活動。
在周期性通信之間,如果有足夠的時間,LAS就按照設備地址從小到大依次通過PT幀發放授權令牌。然后開始監視網絡,如果在一個令牌恢復時間內網絡上沒有出現數據,LAS就將授權令牌收回,并用調度令牌進行下一個活動。否則當網絡上的一個幀傳輸完畢的時候,又要按上述的過程開始監視網絡,重復這個過程,直到授權令牌返回。整個過程如圖4所示。
圖4 LAS發出授權令牌后的監視過程
如果發現到下一個周期性通信開始所剩余的時間不足于發放授權令牌,就等待下一個周期性通信的開始,必要時(網絡上沒有數據傳輸的時間太長時)就向網段上廣播IDLE幀來表示LAS還是處于活動中的。
LAS的整個令牌發放過程如圖5所示。
圖5 LAS令牌發放流程圖
4 設備的令牌使用機制
收到令牌的設備就有權力向網絡上發送數據。設備根據收到的兩種令牌的不同,發送不同的數據。如果設備收到了LAS以CD幀發過來的應答令牌,該設備就將令牌中指定緩沖器中的數據發送到網段上。
如果設備收到的是LAS以PT幀發過來的授權令牌,該設備就在一個規定的時間內享有對網段的控制權。在這一段時間內,該設備的數據鏈路層會去查找那些已經在排隊等待的數據,如果發現有數據的優先級(關于優先級的描述見第6部分)比令牌的優先級高或者相等就把這個數據幀發送到網絡上,所有的數據發完后令牌時間還有剩余,就在最后一個數據幀中將令牌捎帶返回。如果沒有符合要求的數據要發送,就直接用RT幀將令牌返回。如果規定的時間內不足以把所有請求的數據發送完成,就在規定時間內發送完盡可能多的數據幀,然后用RI幀返回令牌,同時向LAS申請更多的時間。
5 一些提高網絡性能的措施
FF H1的數據鏈路層通過以下一些措施可以提高網絡的性能。
5.1 優先級
為每臺設備要發送的非周期性數據劃分3個優先等級:最高、中等、最低。根據數據緊急性的要求,為其分配一個優先等級。通過動態地改變授權令牌的優先級,可以在網段上通信繁忙的時候讓那些優先級高的非周期性數據有更多的機會發送到網段上。由上文的描述可知只有數據的優先級高于或等于令牌的優先級時才能發送,所以當網絡繁忙的時候提高令牌的優先級就可以限制低優先級的數據發送而使高優先級的數據得到更多的發送權力。網絡是否繁忙可以這樣確定:記錄完成網段上一個授權令牌發放周期所花的時間V(ATRT),如果這個值小于另一個標志網絡繁忙的值V(TTRT),說明網絡空閑,此時就降低令牌的優先級;當V(ATRT)大于V(TTRT),說明網絡繁忙,就提高令牌優先級。LAS開始調度時發送的第一塊令牌的優先級總是中等,并且在一個令牌發放周期內的令牌優先級都是一樣的。整個過程如圖6所示。
圖6 令牌優先級遷移圖
5.2 令牌持有時間
在LAS向某個設備發放授權令牌的時候會規定該設備使用令牌時間,這就是令牌持有時間。對于通信棧用戶來說,為了令牌的發放、返回而占用的網絡時間是一種浪費,因為在這段時間內沒有在網絡上傳輸有用的數據。例如:某個設備有50幀數據需要發送,而授權令牌中規定的令牌持有時間只允許發送一個幀,這樣令牌收發占用了很大比例的網絡時間,要50個令牌才能將數據幀發送完成。如果發給該設備的令牌持有時間允許發送50個幀,那么只要一個令牌就能將數據發送完成,大大提高了網絡利用率。
FF H1使用RI這個幀來實現這一點。當使用授權令牌的設備發現自身有很多數據要發,而令牌持有時間不夠的時候,先盡可能多的發送數據幀,最后用RI幀向LAS返回令牌,并且申請更多的令牌持有時間。LAS在下一次給該設備發放授權令牌的時候,只要網絡剩余時間足夠,就像該設備提供所申請的令牌持有時間。
另外,由于FF H1網段上一般不會出現大量的數據,只有在向某臺設備進行域上載下載時才會出現比較多的數據幀。所以上述的這種方法不會使得某臺設備長時間地占用網絡時間而嚴重影響網段上其他設備的非周期通信。
6 結束語
數據鏈路層之上的各個通信協議棧層次并不關心總線何時、如何存取的,它們總是認為總線是可以使用的,從而直接將數據發送的請求發送下來。在數據鏈路層,網段上的LAS和其他設備通過令牌來協調數據何時發送和怎樣發送。
協議中只是規定了基本的令牌傳遞規則,具體的令牌參數可以由網絡組態確定,比如V(TTRT)多大才表示網絡繁忙。甚至協議實現者可以自己添加一些措施來提高網絡性能,只要這些措施不會影響到協議一致性和設備互可操作性就可以。這是需要進一步研究的。
參考文獻:
[1] Fieldbus Foundation. Foundation Fieldbus Technical Overview[M]·FD043 Revision 3. 0., 2003·
[2] IEC.Digital data communications formeasurement and controlFieldbus for use industrial control system Part 4: Data Link Protocol Specification, IEC 61158-4[S].2003.
[3] Fieldbus Foundation. FoundationTMSpecification Data Link Services Specification Subset [S]. 2001.
[4] Fieldbus Foundation. FoundationTMSpecification Data Link ProtocolSpecification[S]. 2001.
[5] Fieldbus Foundation. FoundationTMSpecification System Architecture [S]. 2003.