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