PROFINET及其同步實時通訊分析

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實時通訊較具體的分析,能有助于將來我國自 有產業以太網標準的發展。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255942.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255942.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255942.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【劍指offer15.二進制中1的個數】——位操作(左移右移等)

目錄 二進制的表示 二進制的位操作 應用: 劍指offer15.統計二進制中1的個數(多種方法,位右移操作、與操作等) 轉自:https://www.jianshu.com/p/3a31065a8e58 紅色為自己添加 我們都知道在計算機中所有的信息最終都…

java 異常處理機制(java 編程思想)

一、概念  “異常”這個詞有“我對此感到意外”的意思。問題出現了,你也許并不清楚該如何處理,但你的確知道不應該置之不理;你要停下來,看看是不是有別人或在別的地方,能夠處理這個問題。只是在當前的環境中還沒有足夠…

怎樣在CentOS 7.0上安裝和配置VNC服務器

這是一個關于怎樣在你的 CentOS 7 上安裝配置 VNC 服務的教程。當然這個教程也適合 RHEL 7 。在這個教程里,我們將學習什么是 VNC 以及怎樣在 CentOS 7 上安裝配置 VNC 服務器 。 我們都知道 這是一個關于怎樣在你的 CentOS 7 上安裝配置 VNC 服務的教程。當然這個教…

MOTOMAN機器人網絡控制的實現

最初程序員在Unix系統下使用Berkeley Socket編寫網絡程序,隨著Windows操作系統的普及,Microsoft、Sun等公司聯合開發了Winsock接口API。它實質上是一種進 程間通信,將之從單機環境擴展到網絡環境以適合于開發主機/客戶機通信程序。網絡通信的…

【劍指offer】——【python中return函數中的and和or表達式的返回值】

目錄 1、# and 結果為真,返回最后一個表達式的結果,若結果為假返回第一個為假的表達式的結果 2、# or 結果為真,返回第一個為真的表達式的結果,若結果為假,返回最后一個表達式的結果 3、應用[劍指 Offer 64. 求12…n…

Spring Cloud構建微服務架構:消息驅動的微服務(入門)【Dalston版】

2019獨角獸企業重金招聘Python工程師標準>>> 之前在寫Spring Boot基礎教程的時候寫過一篇《Spring Boot中使用RabbitMQ》。在該文中,我們通過簡單的配置和注解就能實現向RabbitMQ中生產和消費消息。實際上我們使用的對RabbitMQ的starter就是通過Spring C…

CXF 客服端調用報錯

服務端已經發布了WSDL,現在在客服端生成web service客服端代碼,在eclipse中新建一個project,然后new->web services->web service client生產客戶端代碼 在調用的時候報如下錯誤 解決:缺少axis相應的jar包,加入包…

20145225 《信息安全系統設計基礎》第10周學習總結

cp1.c 進行復制文件的操作,需要有源文件和目的文件,第一次命令沒有加入所以沒有正常完成復制文件的操作fileinfo.c 用來實現顯示文件信息。先判斷命令是否有操作數,有的話才能繼續進行下去,如果沒有報錯就打印出來相關文件信息&am…

做演員是圓夢 做生意學會面對現實

田樸珺是一位擁有多重身份的女性。她是一名演員,也是一位商人,還擔任過電影《中國合伙人》的制片人。 作為演員,田樸珺的作品并不是很多,也一直不溫不 火。但這并不代表她將放棄演藝生涯。她表示,如果機會合適&…

【深度學習】——模型評估指標MAP計算實例計算

目錄 一、知識儲備 1、IOU——交集面積與并集面積之比 2、混淆矩陣(TP、FP、FN、TN) 問題1:上面的TP等具體是如何計算得到的? 3、精度precision&召回率recall 二、ap計算實戰 1、計算流程 1)準備數據&#xf…

第 52 章 Web Server Optimization

系統配置 Intel(R) Xeon(TM) CPU 3.00GHzMemory 4GEthernet adapter 1000M52.1. ulimit 查看 ulimit ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited pending signals …

hdu5489 Removed Interval dp+線段樹優化

現在看這題居然直接秒了。。。去年看的時候還以為神題。。 設以第i項為結尾的lis前綴為f[i],以第j項為結尾的lis后綴為g[i],如果求出f[i]和g[j],然后枚舉i,快速找到最大的滿足a[j]>a[i]的g[j]就可以了。注意到如果將f[i]從后往…

JS原型鏈理解

1. 每個對象都有原型屬性(__proto__)2. 對象的原型(__proto__)指向其構造函數(Constructor)的prototype屬性3. 構造函數(Constructor)的prototype屬性本身也是一個對象,其原型(__proto__)亦指向其構造函數的prototype4. 如此形成一個鏈式結構,而Construc…

【深度學習】——2021年FPN特征金字塔

#!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/4/22 17:06 # Author : linlianqin # Site : # File : fpn.py # Software: PyCharm # description:其搭建的基本流程和resnet是一致的,只是將每一層的卷積結果保存了起來import torch impo…

NoSQL分類及ehcache memcache redis 三大緩存的對比

NoSQL分類 由于NoSQL中沒有像傳統數據庫那樣定義數據的組織方式為關系型的,所以只要內部的數據組織采用了非關系型的方式,就可以稱之為NoSQL數據庫。目前,可以將眾多的NoSQL數據庫按照內部的數據組織形式進行如下分類: Key/Value的…

52.4. APC Cache (php-apc - APC (Alternative PHP Cache) module for PHP 5)

$ apt-cache search php-apc php-apc - APC (Alternative PHP Cache) module for PHP 5$ sudo apt-get install php-apcapc cache 狀態監控 http://pecl.php.net/package/APC 下載解包找到apc.php,放到web服務器上 原文出處:Netkiller 系列 手札 本文作者&#xff1…

樂視云計算基于OpenStack的IaaS實踐

本文作者岳龍廣,現在就職于樂視云計算有限公司,負責IaaS部門的工作。 從開始工作就混在開源世界里,在虛擬化方面做過CloudStack/Ovirt開發,現在是做以OpenStack為基礎的樂視云平臺。所以對虛擬化情有獨鐘,也對虛擬化/云…

【深度學習】——如何提高map值

目錄 代碼獲取 map原理 map提高技巧 技巧總結: 實戰: 1、效果不佳map55.55% 1)單獨調整get_dr_txt.py中的self.iou 0.3 2)單獨調整get_map,py中的minoverlap: 3)同時調整minoverlap和self.iou 本文是在faster_rcnn模型的…

每日站立會議個人博客(沖刺周)-Wednesday

時間未完成不知道如何獲取具體標簽里的內容正在做爬蟲技術之獲取標簽里的內容將要做對運用爬蟲技術獲取的數據進行處理轉載于:https://www.cnblogs.com/andibier/p/8075098.html

數據庫水平切分的實現原理解析——分庫,分表,主從,集群,負載均衡器(轉)...

第1章 引言 隨著互聯網應用的廣泛普及,海量數據的存儲和訪問成為了系統設計的瓶頸問題。對于一個大型的互聯網應用,每天幾十億的PV無疑對數據庫造成了相當高的負載。對于系統的穩定性和擴展性造成了極大的問題。通過數據切分來提高網站性能,橫…