1 ? ?概述
????????? PROFINET實時以太網是由Profibus?International(PI)組織提出的基于以太網的自動化標準。從2004年4月開 始,PI與Interbus?Club總線俱樂部聯手,負責合作開發與制定標準。PROFINET構成從I/O級直至協調治理級的基于組件的分布式自動化 系統的體系結構方案,并可以將Profibus技術和Interbus現場總線技術在整個系統中無縫地集成。PROFINET能為緊要任務提供最低限度的 性能保證服務,同時也能為非緊要任務提供盡力服務。
2 ? PROFINET的實時通訊分類
????????? PROFINET區分兩類不同性能的實時周期通訊,一種是實時(RT)通訊,主要用于工廠自動化,這一類沒有時間同步要求,一般只要求響應時間為 5-10ms。另一種是等時同步實時(IRT),主要用于有苛刻時間同步要求的場合例如運動控制,電子齒輪。與此對應,PROFINET提供兩類實時通訊 通道具體分為RT實時通道和IRT實時通道。另外還包括一個標準通訊通道,標準通道是使用TCP/IP協議的非實時通訊通道,主要用于設備參數化、組態和 讀取診斷數據。
????????? 實時通道RT是軟實時SRT(Software?RT)?方案,它旁路TCP/IP層,同時為優化通訊功能,PROFINET?RT幀根據 IEEE802.1Q/P定義了報文的優先級,最多可用7級。PROFINET?RT幀中的狀況信息域用來標識設備和數據的狀況(例如:運行,停止,出 錯)。其通訊協議及幀結構如圖1。
????????
圖1?PROFINET?RT通訊協議及其幀結構
????????? 實時通道IRT是硬實時HRT(Hardware?RT)?方案,實時性是基于一個建立在快速以太網Layer2上的時間觸發(time- triggered)協議,由內嵌的Switch-ASIC同步實時交換芯片保證。這樣可以進一步縮短通訊棧軟件的處理時間,特別適用于高性能傳輸、過程 數據的等時同步傳輸、以及快速的時鐘同步運動控制。由于基于硬件實現,IRT幀中通常無需RT幀中的IEEE802.1Q?VLAN標識。 PROFINET的IRT通訊協議及幀結構如圖2。
圖2?PROFINET?IRT通訊協議及其幀結構
????????? 從圖1,圖2也可以看出,PROFINET?實時數據幀(包括RT和IRT?幀)都是在按IEEE802.3所定義的標準化的幀格式基礎上略作改動, 讓其L/T字段的值>1500,這是一個保存的EtherTypeⅡ,可以用于唯一地識別PROFINET的實時數據幀以區別于其他采用標準IT協 議的以太網幀,優先進行傳輸。PROFINE的以太網類型標識中用0x0800標識IP幀,使用0x8892標識PROFINET實時幀。幀中的應用標識 符(frame-ID)域標識所接收的數據的傳輸,即標識周期傳輸和非周期傳輸(報警和事件)。
????????? 按照PROFIBUS國際組織提供的數據[1],PROFINET在IRT通訊方式下應用在同步運動控制場合,其性能比目前的現場總線方案要提升 100倍。這種基于硬件的同步實時(IRT)通訊解決方案能夠在大量數據需要傳遞的情況下保持足夠高的時間確定性;同時,可緩解PROFINET設備上處 理器的通訊任務。因此,本文以下對它進行具體分析。
3 ? ?PROFINET對IEEE?1588的改進
????????? PROFINET?IRT所采用的時間同步協議是基于改進的IEEE1588[2]。IEEE?1588?的基本功能是使分布式網絡內的最精確時鐘 (reference?clock)與其它時鐘保持同步,它定義了一種精確時間協議PTP(Precision?Time?Protocol),用于對標 準以太網或其它采用多播技術的分布式總線系統中的傳感器、執行器以及其他終端設備中的時鐘進行亞微秒級同步。
????????? 一個IEEE?1588?精密時鐘(?PTP)?系統包括多個節點,?可以以為每一個都代表一個時鐘,時鐘之間經過網絡連接。IEEE?1588?將 整個網絡內的時鐘分為兩種,普通時鐘OC(Ordinary?Clock)和邊界時鐘BC(Boundary?Clock),只有一個PTP?通訊端口的 時鐘是普通時鐘,有一個以上PTP?通訊端口的時鐘是邊界時鐘,每個PTP端口提供獨立的PTP通訊。其中,邊界時鐘BC通常用在網橋(交換機)和路由器 等這些用來劃分子網的網絡設備中,用于防止這些網絡設備產生大的延遲抖動。普通時鐘通常用在節點上。
????????? 隨著溫度變化和時間推移,發送節點和接收節點的時鐘頻率將發生偏差,由此會造成漂移(drifts)。為此,在PTP中需要通過一個閉環控制(loop)進行補償,以如下PI-loop為例。
????????
????????? 其中,?y[k]是被控量,?x[k]是偏差變量,?k代表同步循環。?KR,Kn?是 控制參數。T是采樣時間,它即是PTP同步信息(Sync信息)之間的發送間隔。每個PTP從屬時鐘以及BC的每個從屬時鐘端口都必須含有類似的閉環控 制,閉環控制的設計直接關系到時間同步的精度。如圖3上半部分所示,在BC中的時鐘振蕩器(Oscillator)將會參照PTP?Slave,以一定的 函數關系進行調節,調節后的時鐘將成為下一個網段的PTP?Master。以此類推,反復進行,直至目的節點Time?Client。這樣,當在總線式拓 撲中有多個網橋鏈式聯結時,這種方式實質上產生了控制循環的級聯(cascade),會導致不穩定,從而使得IEEE?1588無法滿足苛刻的同步要 求?[3]?。
????????


圖3?IEEE1588邊界時鐘和PROFINET旁路時鐘對比
????????? 相對于IEEE1588的“Boundary?Clock”,?PROFINET進行了修正,修正后稱之為旁路時鐘BpC(Bypass?clock)[5]。
????????? 時間同步的關鍵題目是網橋等網絡設備中的時延不定常,從而造成時間抖動。假如能找出計算網橋中時延的方法,那么就可以對它進行補償。如圖3下半部分所 示,PROFINET的BpC正是基于這種思想,通過對PTP報文進行必要的操縱和處理(Message?processing)來對時延進行補償,具體 的處理操縱可能涉及貿易秘密,尚未見公然報道。基本思想如下:
????????? 1)?假設一個PTP網橋在端口s收到一個Sync報文,那么接收時間戳Trx,s將會產生,?當BpC的其它端口j開始向下游傳遞該Sync報文時,發送時間戳Ttx,j將會產生。這樣,可以得到所需的時鐘校正值(clock?correction):Ttx,j?-Trx,s?。
????????? 2)?如圖4所示,使用Ldi代表傳輸間隔造成的延遲,bdi代表網橋中的時延,將所得到的本網橋內時延bdi和本段傳輸時延Ldi的信息加進到將要 轉發的Sync報文中,這樣目的節點就可以得到報文所盡歷的精確時延。PTP?主時鐘到PTP?從屬時鐘的累積時延為:
????????
????????? 借助這以一方式,就可以把網橋看成具有定常時延的網絡組件,從而避開了控制循環的級聯。
圖4?時延疊加
5 ? ?
????????? PROFINET將極大的改善現有自動化技術發展過程中的通訊瓶頸,同時實現自動化技術從以實現控制任務為主導向實現高度集成和優化的信息收集、分析 和處理任務為主導的轉移,使得實現控制任務將成為未來自動化平臺的低層次要求。本文希看通過對PROFINET實時通訊較具體的分析,能有助于將來我國自 有產業以太網標準的發展。