阮可意 曹劍馨 孫海洋



摘 要:在分析FF總線數據鏈路層協議的基礎上,對FF總線鏈路活動調度器進行了形式化建模方法研究,建立了FF設備中鏈路活動調度器LAS的有限狀態機模型,為現場總線網絡的性能分析提供理論基礎。
關鍵詞:FF總線;有限狀態機;鏈路活動調度;建模
中圖分類號:TP273.5文獻標識碼:A文章編號:1003-5168(2021)05-0021-03
Abstract: Based on the analysis of FF Bus Data link layer protocol, the formal modeling method of FF Bus link active scheduler was studied, and the finite state machine model of link active scheduler LAS in FF device was established, which provided a theoretical basis for the performance analysis of fieldbus network.
Keywords: foundation fieldbus;finite state machine;LAS;modeling
基金會現場總線簡稱為FF(Foundation Fieldbus)總線[1],由現場總線基金會組織開發,是一種多站點式、雙向、串行的通信系統。其因全數字化、全信息化和智能化,在過程自動化領域得到了廣泛應用。
1 現場總線形式化建模現狀
為提高總線的實時性與可靠性,人們對現場總線協議的關注度越來越高,以期改善現場總線系統的性能。這就需要在現場總線的開發、設計、測試、維護等各個階段對總線上的相關定義與通信機制進行精準的形式化描述。目前,對總線協議形式化建模的方法主要包括有限狀態機[2]和Petri網[3-6]的分析方法。
有限狀態機(Finite State Machine,FSM)簡單,狀態間的轉換關系直觀易懂,還可以與其他形式的方法進行組合或轉換,并且容易實現自動完成。
本文利用有限狀態機對FF總線鏈路活動調度模型器進行了建模,為現場總線網絡的性能分析提供理論基礎。
2 FF總線數據鏈路層協議分析
FF現場總線通信模型參考了開放式系統互聯通信參考模型(Open System Interconnection Reference Model, OSI),共四層結構,包括物理層、數據鏈路層、應用層及用戶層,如圖1所示。
FF總線能否進行確定、實時通信的關鍵就在于數據鏈路層。因此,在基金會現場總線的整個協議棧中,數據鏈路層的定義具有十分重要的地位。
按照設備的通信能力,FF總線將通信設備分為三類:基本設備、鏈路主設備和網橋。其中,鏈路主設備是指有能力成為鏈路活動調度器的設備,一個總線段上允許有多個鏈路主設備,但是在某個時刻僅能有一個主設備成為鏈路活動調度器。網段中其他設備就在鏈路活動調度器的調度下完成通信過程。網橋用于網段與網段間的通信連接。
主設備具備基本設備功能模塊和主設備功能模塊,網橋具備所有功能模塊。
網段內的通信活動包括周期性通信和非周期性通信兩種。周期性通信根據預訂調度時間表,到時間就由鏈路活動調度器(Link Active Scheduler,LAS)發送強制性數據(Compel Data,CD)給基本設備,主要用于完成實時數據通信,如圖2所示;非周期通信用于傳輸非實時數據,是在周期性通信的時間間隔內進行,鏈路活動調度器通過向設備發送傳遞令牌(Pass Token, PT),使設備得到發送非周期數據的權利,如圖3所示。
在以上兩種通信方式中,令牌(PT)和強制性數據(CD)是數據發送的關鍵。
令牌(PT)在傳輸非周期性通信數據時使用,鏈路活動調度器依據其中的調度時刻表實現調度,發送周期性數據時,只要設備發送數據的時刻一到,鏈路活動調度器就會向該設備發出一個強制性數據(CD),設備收到強制性數據(CD)之后,會對其緩沖區數據進行廣播或發布至現場總線上的所有設備上。
現場總線上的每個設備都有可能在周期性調度數據發送的間隔傳輸非周期性數據,具體允許哪個設備進行發送,取決于鏈路活動調度器將傳輸令牌發布到哪個設備。
3 FF鏈路活動調度模型
FF總線通過鏈路活動調度器(LAS)完成令牌總線方式的鏈路調度,鏈路活動調度器維護的調度表中,每一個條目都是發布者類型的連接端點(DLCEP)。LAS的鏈路調度模型如圖4所示。
圖4中:狀態1表示鏈路活動調度器處于空閑等待狀態;狀態2表示鏈路活動調度器發送強制性數據幀(CD)并啟動定時器VT(CD),如何發送依據調度表;狀態3表示鏈路活動調度器計算截止到下一次調度通信的時間間隔,用Tmain表示;狀態4表示鏈路活動調度器發送令牌,并且啟動定時器V(IRRD)*V(ST);狀態5表示啟動另一個定時器P(TRD)*V(ST);狀態6表示令牌被收回;狀態7表示鏈路活動調度器發送數據鏈路時間同步幀(TD幀);狀態8表示鏈路活動調度器發送探測幀(PN幀);狀態9表示鏈路活動調度器發送節點激活幀(DT幀)以通知新設備已被檢測到;狀態10表示鏈路活動調度器發送節點激活幀告知分配給新設備的地址;狀態11表示鏈路活動調度器發送節點激活幀激活新設備;狀態12表示鏈路活動調度器發送節點激活幀來公布鏈路活動表V(LL)的更新;狀態13表示鏈路活動調度器發送延遲查詢應答幀(RR幀)。
當某一條目的調度時間到來時,鏈路活動調度器(LAS)便會向其發送強制數據幀(CD),同時將定時器VT(CD)啟動。接收到的發布者會做出回應,將形成節點激活幀發送至鏈路上,與該發布者相對應的訂閱者將接收此節點激活幀。有兩種特殊情況會導致鏈路活動調度器默認此次調度完成:一是此節點激活幀被鏈路活動調度器接收到,二是直至定時器期滿也沒有接收到節點激活幀。依次循環進行受調度通信。
受調度通信完成后,開始判斷能否進行非調度通信,判斷的依據是此刻到下一次調度的時間間隔(用Tmain表示)與完成一次非調度通信所需時間的大小關系,仍然由鏈路活動調度器進行實現。
如果時間間隔能完成一次非調度通信,鏈路活動調度器會依據鏈路活動表中的設備地址發送令牌(PT),并且按照由低到高的順序發送,同時啟動定時器V(IRRD)*V(ST)。這時分兩種情況:第一,直至定時器期滿,鏈路沒有監測到任何通信活動,令牌被鏈路活動調度器收回;第二,如果在定時器期未滿前,監測到鏈路活動,啟動另一個定時器P(TRD)*V(ST)。同樣,如果定時器P(TRD)*V(ST)已計時完成,然而現場設備還沒有將令牌返還至鏈路活動調度器,LAS收回令牌,但此時仍然會對Tmain進行計算,計算的結果如果是Tmain大于發起一次非調度通信的時間,鏈路活動調度器就會繼續向鏈路活動表中V(LL)的下一條目發送令牌(PT);若計算結果為Tmain小于發起一次非調度通信的時間,鏈路活動調度器只能發送空閑幀,等待下一調度時刻到來。
在非調度時間中,鏈路活動調度器還會依照一定周期發送數據鏈路時間同步幀和探測幀。其中,探測幀用來探測節點,從而確定是否有新設備上線。接收到探測幀的新設備會向LAS回復探測響應幀。鏈路活動調度器收到探測響應幀后將新設備使用的缺省地址加入設備活動列表中,并向新設備發送節點激活幀將新設備的節點地址發送至新設備,待新設備設置完畢后,同樣以發送一個節點激活幀作為回應。接下來進入鏈路活動調度器的系統管理(System Management,SM)對新設備地址進行驗證的階段。如果驗證結果為失敗,SM回到初始化狀態,LAS只能重新開始新設備地址設定工作;若驗證結果為合格,新設備等待LAS激活,LAS向新設備發送節點激活幀DT。新設備接收到后此幀后,取出支持子協議數據單元中的標識符與之前探測響應幀中回復給LAS的標識符進行對比。若結果一致,則代表激活正確,意味著新設備設定工作完成,新設備將轉為“在線”狀態;若結果不一致,則認為分配給該設備的地址已經被其他設備占用,新設備將進入“離線”狀態,SM回到初始化狀態,重新設定地址。
在新設備所有的加入工作正確完成之后,LAS將刪除之前的缺省地址,將新設備的地址加入活動鏈表中。同時,鏈路活動調度器會向鏈路上的所有主設備發送一個幀,用以完成鏈路活動表V(LL)的更新。
4 結語
本文以有限狀態機為理論工具,以FF總線鏈路活動調度器為研究對象,建立了FF總線鏈路活動調度模型,得到了一種形式化的表達方式,對FF總線系統中的通信活動給出了清晰的說明,所建模型形象直觀、易于理解、能夠充分地表達FF總線在數據鏈路層的通信特征,可以為總線系統的設計和優化提供支持工具。
參考文獻:
[1]李正軍.現場總線及其應用技術[M].北京:機械工業出版社,2017:42-44.
[2]申冰雪.基于嵌入式技術的CAN總線多節點數據采集系統的研究[D].秦皇島:燕山大學,2017:35-62.
[3]楊曉川.一種分層遞階智能控制系統中的信息安全研究[D].北京:北京郵電大學,2016:38-43.
[4]Marwa T,Edouard L,Dimitri L.Model predictive control for discrete and continuous timed Petri nets[J].International Journal of Automation and Computing,2018(1):25-38.
[5]徐曉娜,黃曉津.高溫氣冷堆核電站計算機化規程流程的建模和驗證[J].清華大學學報(自然科學版),2018(7):658-663.
[6]尹亮.基于Petri網的移動機器人腦機系統控制方法研究[D].泉州:華僑大學,2020:52-65.