《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > PROFINET IO通信实时性分析
PROFINET IO通信实时性分析
刘喜梅,李 程
青岛科技大学 自动化与电子工程学院,山东 青岛 266042
摘要: 通过对PROFINET IO概念的介绍,以及对PROFINET非实时报文和实时报文在以太网及交换机中的传输时间的研究,得出不同组态距离的IO设备的刷新时间,从而正确设置组态参数,避免了由于刷新时间和看门狗时间设置不当而导致的设备故障。
Abstract:
Key words :

摘 要:通過對PROFINET IO概念的介紹,以及對PROFINET非實時報文和實時報文在以太網及交換機中的傳輸時間的研究,得出不同組態(tài)距離的IO設備的刷新時間,從而正確設置組態(tài)參數(shù),避免了由于刷新時間和看門狗時間設置不當而導致的設備故障。
關鍵詞:PROFINET IO;刷新時間;實時性;響應時間

    PROFINET是PROcess、Field和NET的縮寫,是基于工業(yè)以太網的開放的、標準的、實時的通信協(xié)議,可以應用TCP/IP協(xié)議和IT標準,與現(xiàn)場設備實現(xiàn)無縫集成,可以說PROFINET是工業(yè)以太網應用在現(xiàn)場級的一種實施協(xié)議。
    PROFINET主要有兩種通信方式[1]:
    (1)PROFINET IO實現(xiàn)控制器與分布式I/O之間的實時通信;
    (2)PROFINET CBA實現(xiàn)分布式智能設備之間的實時通信。
    從PROFINET的角度來看,PROFINET IO是在工業(yè)以太網上實現(xiàn)模塊化、分布式應用的通信概念。通過PROFINET IO,分布式I/O和現(xiàn)場設備能夠集成到以太網通信中。
1 PROFINET IO的基本概念
1.1 PROFINET IO的工程模型

    (1)IO控制器
    IO控制器[2]一般是可編程控制器(例如PLC),它能夠執(zhí)行自動化程序。其功能相當于PROFIBUS類型1的主站。
    (2)IO設備
    IO設備是連接到PROFINET網絡中的現(xiàn)場分布式I/O。
    (3)IO監(jiān)視器
    IO監(jiān)視器[2]是一種工程設備,通常為PC、HMI或可編程控制器,用于IO控制器和IO設備的調試和診斷,在運行期間連接IO監(jiān)視器,通常只是暫時性地用于調試和故障處理。IO監(jiān)視器的功能相當于PROFIBUS類型2的主站。
    1個PROFINET IO系統(tǒng)應該包括至少1個IO控制器和1個IO設備。
1.2  PROFINET IO的數(shù)據(jù)流
    PROFINET IO通信站點的數(shù)據(jù)交換是通過標準通道[3](基于UDP/IP)和實時通道完成的。在這些通道里,數(shù)據(jù)使用不同的協(xié)議進行傳輸。例如啟動時從站參數(shù)是由主站通過UDP協(xié)議傳遞的,設備地址名字的分配是通過DCP協(xié)議完成的,這些都屬于標準數(shù)據(jù),也可以稱為非實時(NRT)數(shù)據(jù)。而周期數(shù)據(jù)[4]、報警數(shù)據(jù)是通過實時協(xié)議傳送的,被稱為實時數(shù)據(jù)。
1.3  組態(tài)PROFINET IO及其重要概念
1.3.1  組態(tài)PROFINET IO

    PROFINET IO組態(tài)如圖1所示,主站是CPU319-3 PN/DP,從站有3個IO設備,分別為ET-200S,ET-200pro和ET-200eco,還可以繼續(xù)添加IO設備,SIMATIC 產品系列的 PROFINET 設備具有PROFINET接口[5](帶或不帶集成交換機)。帶集成交換機的 PROFINET 設備通常具有2個端口,用于網絡的線性總線結構。 同時還提供有3個或更多端口的 PROFINET 設備以連接樹型拓撲。由圖1可見,CPU319通過雙絞屏蔽線與設備3(ET-200S)連接,不同的IO設備之間通過它們自帶的交換機接口進行連接。

1.3.2  PROFINET IO中的不同時間概念
    (1)發(fā)送時鐘(Send clock)[6]:IRT或RT通信中2個連續(xù)間隔之間的時間段。發(fā)送時鐘是用于交換數(shù)據(jù)的可能的最短傳輸時間;
    (2)更新時間(Update time):更新時間=發(fā)送時鐘× Factor。
    在此時間間隔之內,IO 控制器/IO 設備為 PROFINET IO 系統(tǒng)中的IO設備/IO 控制器提供新的數(shù)據(jù)。可以為每個IO設備單獨組態(tài)發(fā)送周期,并定義將數(shù)據(jù)從 IO 控制器發(fā)送到 IO 設備(輸出)的時間間隔以及將數(shù)據(jù)從 IO 設備發(fā)送到IO控制器的時間間隔(輸入)。更新時間在SETP7組態(tài)中可以設置。
    (3)Factor:Fatcor是放大倍數(shù),為2n,也稱減速比(Reduction Ratio)[7]
    (4)看門狗時間 (Watchdog xime)
    通過STEP7,采用更新時間的整倍數(shù)來設置看門狗時間,該時間也可由用戶修改。如果在看門狗時間內IO控制器沒有為IO設備提供輸入/輸出數(shù)據(jù),IO設備將出現(xiàn)故障并給出替換值。這種情況將作為站故障報告給IO控制器。
2 研究PROFINET IO實時性的必要性
    首先,在運動控制系統(tǒng)等對實時性要求很高的領域,用戶需要知道PROFINET IO數(shù)據(jù)循環(huán)的周期,以便更好地進行生產。其次,如果在STEP7工程工具中對PROFINET IO設備的更新時間和看門狗時間設置不合適,設備就會在運行時出現(xiàn)莫名其妙的故障。所以,對PROFINET IO實時性的研究是很有必要并且具有現(xiàn)實意義。     
3  PROFINET IO的實時性
3.1  標準以太網的幀結構

    標準以太網的幀如表1所示??梢钥闯觯粋€標準以太網幀數(shù)據(jù)大小為64 B~1  500 B??焖僖蕴W(100 Mb/s)傳輸1 518 B數(shù)據(jù)的時間是120 μs,傳輸64 B數(shù)據(jù)的時間是5 μs。

3.2  交換機制
  SIMATIC 中的交換機通過 PROFINET 上的2個機制滿足實時要求。
  (1) 存儲與轉發(fā)S&F(Store and Forward)[4]
  使用存儲轉發(fā)方法時,交換機將完整地存儲消息幀,并將它們排成一個隊列。 如果交換機支持國際標準 IEEE 802.1Q,則根據(jù)其在隊列中的優(yōu)先級存儲數(shù)據(jù)。 這些消息幀隨后將有選擇性地轉發(fā)給可訪問已尋址節(jié)點的特定端口(存儲轉發(fā))。
  對于存儲轉發(fā),數(shù)據(jù)經過交換機時先存儲進行校驗,然后由交換機根據(jù)地址表再進行轉發(fā)。
  (2)直通交換方式(Cut Through)[4]
  在直通交換方式過程中,并不是將整個數(shù)據(jù)包臨時存儲在緩沖區(qū)中,而是在目標地址和目標端口已經確定后,馬上將整個數(shù)據(jù)包直接傳送到目標端口。這樣通過交換機傳送數(shù)據(jù)包所用的時間是最小的,且不受消息幀長度的影響。當目標段與下一個交換機的端口之間的區(qū)段已被占用時,數(shù)據(jù)將“根據(jù)優(yōu)先級的存儲和轉發(fā)過程”臨時存儲。
  根據(jù)西門子交換機SCALANCE X200手冊,64 B的數(shù)據(jù)S&F延遲時間是10 μs,1 500 B數(shù)據(jù)S&F延遲時間是130 μs。
  根據(jù)IEEE802.1Q定義的以太網報文的優(yōu)先級,在標準以太網報文中加入4B來標識報文的優(yōu)先級,凡是支持IEEE802.1Q的交換機都會對這些報文進行優(yōu)先級的識別和處理,以圖2所示為例說明,交換機的端口2收到報文1并進行存儲轉發(fā),這時端口3收到報文2和報文3,由于報文1正在被發(fā)送,即使它是非實時的報文也不能被中斷,由于報文2的優(yōu)先級低于報文3的優(yōu)先級,所以報文3會被優(yōu)先發(fā)送出去,這時從端口1發(fā)送的順序就是報文1、報文3、報文2。

3.3  PROFINET IO實時數(shù)據(jù)傳輸?shù)难舆t時間
    假設組態(tài)ET200分布式I/O模塊不是很多的情況下,這樣一個最小的以太網報文64 B完全可以控制I/O,那么就認為PROFINET報文的大小為64 B。根據(jù)快速以太網(100 Mb/s)傳輸64 B數(shù)據(jù)的時間是5 μs,經過n臺交換機的傳輸時間約為n×5 μs。根據(jù)SCALANCE X200手冊,64 B的數(shù)據(jù)S&F延遲時間是10 μs,經過n臺交換機的延遲時間約為n×10 μs。那么RT數(shù)據(jù)的延遲時間為n×(10+5)μs。
    但是還需要考慮另一種情況,如果RT數(shù)據(jù)經過每臺交換機準備發(fā)送,恰好每臺交換機都正在轉發(fā)一個最大的非實時(NRT)以太網報文,RT的數(shù)據(jù)必須等待非實時(NRT)數(shù)據(jù)發(fā)送完畢然后再進行傳輸,當然,這種情況是極特殊的。這樣通過計算快速以太網傳輸1 518 B數(shù)據(jù)的時間是120 μs,最大非實時數(shù)據(jù)(NRT)以太網報文經過n臺交換機的傳輸時間約為n×120 μs。根據(jù)SCALANCE X200手冊,1 500 B的數(shù)據(jù)S&F延遲時間是130 μs,經過n臺交換機的延遲時間約為n×130 μs。這種情況,經過n臺交換機一個RT數(shù)據(jù)總的延遲時間約為n×(10+5)μs+n×(130+120)μs。如果存在64臺SCALANC X200交換機串聯(lián),則“最遠”現(xiàn)場IO的延遲時間約為64×(130+120)+64×(10+5)=16.96 ms。
    這樣根據(jù)所計算的結果,如果通過STEP7設置最遠設備的刷新時間PROFINET IO網絡中,一個IO控制器控制64個IO設備時,Step7默認計算控制每一個IO的Update time為1 ms。而在PROFINET網絡中,不可避免地存在非實時(NRT)數(shù)據(jù),例如通過SFB52/53讀寫數(shù)據(jù)記錄,通過SNMP診斷和維護PROFINET網絡、PG診斷、視頻或音頻等。
    如果使用默認設置的1 ms,則“最遠”現(xiàn)場IO可能出現(xiàn)莫名其妙的丟站現(xiàn)象,可能會被認為是電磁干擾等造成的,從而無法排除現(xiàn)場故障。如果存在上述網絡拓撲結構,最好設置“最遠”現(xiàn)場IO的刷新時間在8 ms以上,或者調整看門狗時間,即調整刷新時間的倍數(shù),使IO控制器和IO設備不會檢測到錯誤。
    根據(jù)這種分析方法,對任何的PROFINET網絡拓撲結構都可以通過上述的方法確定PROFINET  IO設備的刷新時間,避免出現(xiàn)IO錯誤。
    如果使用SCANLANCE X IRT交換機串聯(lián),由于IRT交換機使用Cut Through的處理數(shù)據(jù)方式,這樣數(shù)據(jù)的延遲時間會明顯縮短。
  如果使用帶有PN接口的ET200串聯(lián),由于集成ERTEC芯片,同樣適用Cut Though的數(shù)據(jù)處理方式,這樣數(shù)據(jù)的延遲時間會大大縮短。
  由交換機的機制和數(shù)據(jù)在網絡介質中傳輸造成的延遲可以看出,距離主站組態(tài)距離不同的IO設備數(shù)據(jù)更新時間是不同的,距離主站越遠的設備,IO數(shù)據(jù)更新時間越長,所以必須要設定相應的看門狗時間,以避免因為到達看門狗時間數(shù)據(jù)未更新而造成設備故障誤報。
    使用IRT(等時實時)通信可以有效地減少數(shù)據(jù)在交換機上的延遲,因為IRT數(shù)據(jù)經過交換機使用的是Cut Through方式。
參考文獻
[1]崔堅,李佳,楊光. 西門子工業(yè)網絡通訊指南(下冊)[M].北京:機械工業(yè)出版社, 2005:199-201.
[2]RAIMOND P, MARK M,湯亞鋒. 西門子PROFINET工業(yè)通信指南 [M].北京:人民郵電出版社,2007:46-48.
[3]西門子公司. Siemens PROFINET系統(tǒng)說明[M]. 北京:西門子公司,2008:18-20.
[4]陽憲惠. 工業(yè)數(shù)據(jù)通信與控制網絡[M]. 清華大學出版社,2003: 39-40.
[5]習博,方彥軍, 工業(yè)以太網中網絡通信技術的研究.微計算機信息[J]. 2005(2-0):2-3.
[6]WILLIAM H M. ETHERNET/IP: open, available and based on modern technology. The Industrial Ethernet. 2002(1): 6-7.

此內容為AET網站原創(chuàng),未經授權禁止轉載。