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