PROFINET如何实现实时性
有一句話說的是“文藝作品要源于生活而高于生活”,想必大家不會陌生。PROFINET是基于工業以太網的,這句話可以說得文藝范一點兒:“PROFINET是源于以太網而高于以太網的”。那么,PROFINET是怎么做到“高于以太網”的呢?
要做到比普通以太網要犀利,重要的是PROFINET要做到實時性,而要做到實時性,首先就要解決確定性的問題。前面提到普通以太網會出現介質訪問沖突的問題,不滿足“確定性”的標準。那么一般解決沖突的方法有哪些呢?
1. 既然PROFIBUS總線和PROFINET關系密切,先看看總線是如何的解決方法吧。PROFIBUS的通信方式是主從式,使用“令牌”控制,就像十字路**通信號燈的作用;
2. 可以想辦法改進普通以太網所用的CSMA/CD,或者無線局域網(WLAN)所使用的CSMA/CA;
3. 廣域網中使用信道復用,分為頻分復用(FDM)和時分復用(TDM)。頻分復用將一條高帶寬的信道劃分成帶寬較小的多個信道,就像在一條公路上劃分出多個車道;時分復用通過把通信數據包分配在不同時隙進行傳輸來實現信道復用。
PROFINET的通信方式是生產者/消費者,各個通信節點是平等的,隨時都可以收發數據,所以總線的那種“令牌”控制不能適用,只能在后兩個方案中想辦法。從而也造就了前面所提到的PROFINET不同于PROFIBUS的地方。
1、交換技術
普通以太網設備有可能會出現數據碰撞,也就是所謂的CSMA/CD造成了數據發送的延遲,從而不能保證通信的確定性,也就無法談及通信的實時性。而且前面提到沖突域的范圍是有大小的。普通以太網使用傳統的交換機(switch)或者是集線器(Hub)構成局域網,使用集線器連接使得整個局域網都是一個數據的沖突域。那是不是可以在從沖突域的角度對普通以太網改進一下,以彰顯PROFINET的“先進性”呢?答案是肯定的。
PROFINET采用支持IEEE 802.Q標準的交換機,或者PROFINET設備本身就集成一個帶交換功能的雙網口,使得同時有多個設備和一個設備所使用的帶寬都是一樣(100M),這樣數據沖突的區域縮小到設備本身的區域內。因為端口可能有多個用戶與該端口連接的用戶通信,有可能發生介質訪問沖突,支持IEEE 802.Q標準的交換機還采用了帶有優先級的方式安排發送順序,于是將沖突域縮小到一個具體的端口,從兩個方面大大縮小了數據沖突區域,確保了通信的確定性。
打個比方說,在兩條道路交匯的十字路口,東南西北四個方向的車不可能同時通過,得通過交通信號燈來進行指引,交換機相當于建了個立交橋,甚至是多層立交橋,使得多個方向的車輛能夠同時通行。而在局域網中使用支持IEEE 802.Q標準的交換機,將通信網絡搭建得像滬寧高速公路一樣,在一個方向中劃分出多個車道(雙向8車道),并且規定大車在一般不得占用內側的車道,不僅大大提高了通行效率,而且行車的安全性也大大提高了。
2、循環通信
如上圖所示,對于由控制器、設備組成的PROFINET IO系統來說,工作的方式就是輸入、處理、輸出,這一過程循環罔替,周而復始。處理是循環的,T1是PLC程序的循環掃描時間;而且通信也是循環的,T2是總線刷新時間,也就說每個循環周期(Cycle1…n),控制器與設備之間會進行通信。從這個角度說,PROFINET運用了時分復用中時隙的概念,這將大大提高整個網絡的通信效率。時隙這個話題將在后面的章節中詳細描述。
3、精簡協議棧
前面提到PROFINET IO系統是循環通信的,在一個周期內(總線刷新時間)做的事情無非是發送與接收,包括以下過程:
1. 在生產者的應用程序中創建一個變量;
2. 通過PROFINET通信報文的形式將該變量發送給通信伙伴(消費者);
3. 在消費者的應用程序中再次獲得該變量。
這個過程所花費的時間如圖所示,是T1到T5的累加,詳細說明如下。
普通以太網通信使用TCP/IP協議,設備處理報文的時間是ms級別。對于PROFINET實時通信來說,PROFINET使用100Mbps(快速以太網)的傳輸速率,以傳輸一個最長的PROFINET報文1522字節為例,其傳輸時間T3大約是125μs,與采用TCP/IP協議報文的處理時間相比,傳輸時間T3是很短的。于是,要縮短刷新時間,最有效的辦法就要精簡通信協議棧,也就是縮短了T2和T4。
這種簡化信息接受難度的做法就像鄙人當年逃課收看NBA總決賽的現場直播,現場畫面和主持人的講解讓人能很快、很直接的、很“實時”的感受到現場氣息,獲得身臨其境的效果,讓鄙人看完比賽后會意猶未盡、得意洋洋地向老老實實上課的球迷同學炫耀。如果當時只有文字直播,需要花一些時間通過文字理解去想象比賽畫面,你覺得還有必要逃課去當鐵桿球迷嗎?
另外,PROFINET精簡了通信堆棧的結構,對于時間要求苛刻的數據采用特別報文及協議,不使用TCP/IP協議棧處理,從而大大縮短了通信時間,保證了通信的實時性。這也屬于實時報文類型,將會在后面章節將會詳細描述。
總而言之,PROFINET采用精簡的通信堆棧結構,100Mbps快速以太網,使用交換機或者帶交換功能的IO設備,還有就是其循環通訊的協議機制,這些是PROFINET實時的原因。
總結
以上是生活随笔為你收集整理的PROFINET如何实现实时性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米手机简单检测手机故障方法
- 下一篇: 5种方式将数字转成千分位