以太網(wǎng)協(xié)議實(shí)時(shí)性的設(shè)計(jì)方案
1 概述
本文引用地址:http://2s4d.com/article/155586.htm在工業(yè)控制系統(tǒng)中,現(xiàn)場(chǎng)總線技術(shù)的發(fā)展使智能現(xiàn)場(chǎng)設(shè)備和自動(dòng)化系統(tǒng)以全數(shù)字式、雙向傳輸、多分支結(jié)果的通信控制網(wǎng)絡(luò)相連,使工業(yè)控制系統(tǒng)向分散化、網(wǎng)絡(luò)化和智能化發(fā)展。但是由于各類現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)之間的不可兼容性無(wú)法實(shí)現(xiàn)統(tǒng)一,阻礙了現(xiàn)場(chǎng)總線技術(shù)的發(fā)展。另一方面,以太網(wǎng)技術(shù)作為壟斷辦公自動(dòng)化領(lǐng)域的通信技術(shù),以其通用性、低成本、高效率、高可靠性和高穩(wěn)定性等諸多優(yōu)勢(shì),得到了工控界越來(lái)越多的關(guān)注和認(rèn)可。用以太網(wǎng)技術(shù)來(lái)實(shí)現(xiàn)從管理層到工業(yè)現(xiàn)場(chǎng)層的一致性通信,人們習(xí)慣上將應(yīng)用到工業(yè)領(lǐng)域的以太網(wǎng)技術(shù)稱為“工業(yè)以太網(wǎng)”。
工業(yè)數(shù)據(jù)通信網(wǎng)絡(luò)與信息網(wǎng)絡(luò)不同,工業(yè)數(shù)據(jù)通信不僅要解決信號(hào)的互通和設(shè)備的互連,而且需要解決信息的互通問(wèn)題,即信息的互相識(shí)別、互相理解和互可操作。所謂信號(hào)的互通,即兩個(gè)需要互相通信的設(shè)備所采用的通信介質(zhì)、信號(hào)類型、信號(hào)大小、信號(hào)的輸入/輸出匹配等參數(shù),以及數(shù)據(jù)鏈路層協(xié)議符合同一標(biāo)準(zhǔn),不同的設(shè)備能連接在同一網(wǎng)絡(luò)上實(shí)現(xiàn)互連。如果僅僅實(shí)現(xiàn)設(shè)備互連,但沒(méi)有統(tǒng)一的高層協(xié)議(如應(yīng)用層協(xié)議),那么不同設(shè)備之間還是不能相互理解、識(shí)別彼此所傳送的信息含義,就不能實(shí)現(xiàn)信息互通,也就不可能實(shí)現(xiàn)開(kāi)放系統(tǒng)之間的互可操作?;タ刹僮餍允侵高B接到同一網(wǎng)絡(luò)上、不同廠家的設(shè)備之間,通過(guò)統(tǒng)一應(yīng)用層協(xié)議進(jìn)行通信與互用,性能類似的設(shè)備可以實(shí)現(xiàn)互換。這是工業(yè)數(shù)據(jù)通信網(wǎng)絡(luò)區(qū)別于一般IT網(wǎng)絡(luò)的重要特點(diǎn)。
對(duì)工業(yè)控制來(lái)說(shuō),還有一個(gè)很重要的區(qū)別就是實(shí)時(shí)性。實(shí)時(shí)性的一個(gè)重要標(biāo)志就是時(shí)間的確定性,通信時(shí)數(shù)據(jù)傳輸時(shí)間不是隨機(jī)的,而是可事先確定的。一個(gè)事件發(fā)生后,系統(tǒng)在一個(gè)可準(zhǔn)確預(yù)見(jiàn)的時(shí)間范圍內(nèi)做出反應(yīng)。反應(yīng)速度由被控制過(guò)程來(lái)決定。對(duì)于高傳動(dòng)性的系統(tǒng),實(shí)時(shí)性的要求就要更高了。
雖然以太網(wǎng)具有比現(xiàn)場(chǎng)總線高許多的傳輸速率,但是卻不能保證實(shí)現(xiàn)控制設(shè)備間的實(shí)時(shí)通信。這主要是因?yàn)闃?biāo)準(zhǔn)的以太網(wǎng)協(xié)議是以CSMA/CD(Carrier Sense Multiple Access/Collision Detection,載波*多路訪問(wèn)/沖突檢測(cè))技術(shù)為基礎(chǔ)的,網(wǎng)絡(luò)上的各工作站對(duì)總線進(jìn)行“*”以確認(rèn)總線是否空閑。如果空閑,它們就開(kāi)始發(fā)送數(shù)據(jù)。如果兩個(gè)工作站同時(shí)試圖發(fā)送數(shù)據(jù),沖突就產(chǎn)生了。在這種情況下,訪問(wèn)機(jī)制首先確保工作站停止傳輸數(shù)據(jù),而后根據(jù)預(yù)定義的隨機(jī)選擇算法,工作站再次嘗試發(fā)送數(shù)據(jù)。這個(gè)過(guò)程一直重復(fù)直至沖突消失。上述機(jī)制保證了數(shù)據(jù)的安全發(fā)送,可是從確定性行為的角度來(lái)看,這卻是一個(gè)很大的障礙。它允許數(shù)據(jù)傳輸時(shí)間可被任意推遲,也就不能實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)通信。要想使以太網(wǎng)技術(shù)在不改變其現(xiàn)有標(biāo)準(zhǔn)的前提下更好地應(yīng)用到工控領(lǐng)域,就要找到一種解決方案來(lái)解決這個(gè)問(wèn)題。
為此,各大公司開(kāi)始研究基于以太網(wǎng)的通信的實(shí)時(shí)性問(wèn)題,并各自提出了不同的解決方案。有些成果已得到了工業(yè)現(xiàn)場(chǎng)標(biāo)準(zhǔn)委員會(huì)的認(rèn)可,并寫(xiě)入新的標(biāo)準(zhǔn)中。
下面就介紹幾種解決方案,看他們是如何保證通信實(shí)時(shí)性的。
2 幾種解決方案分析
2.1 Ethernet Powerlink
這個(gè)方案是由奧地利貝加萊公司提出的Ethernet Powerlink所采用的解決方法。Ethernet Powerlink 是以快速以太網(wǎng)為基礎(chǔ)開(kāi)發(fā)出來(lái)的實(shí)時(shí)工業(yè)以太網(wǎng)協(xié)議。貝加萊公司的目標(biāo)是在快速以太網(wǎng)的基礎(chǔ)上,創(chuàng)建一個(gè)高速的、實(shí)時(shí)的、確定性的網(wǎng)絡(luò)環(huán)境。利用高速循環(huán)數(shù)據(jù)交換,使抖動(dòng)降到很小(小于1 μs),同時(shí)在不影響循環(huán)通信的情況下處理非循環(huán)的數(shù)據(jù)。而且,I/O與驅(qū)動(dòng)數(shù)據(jù)能夠在相互之間以及與PCC系統(tǒng)間完成同步傳輸。因?yàn)槭峭耆⒃跇?biāo)準(zhǔn)快速以太網(wǎng)之上,所以Ethernet Powerlink完全符合標(biāo)準(zhǔn)的拓?fù)浣Y(jié)構(gòu)和物理特性,且能夠與IT技術(shù)無(wú)縫連接,傳輸速率為100 Mbps,最小循環(huán)周期為200 μs。使用帶RJ45插頭的標(biāo)準(zhǔn)雙絞線電纜(超五類電纜)。網(wǎng)絡(luò)拓?fù)渲С中切?、?shù)型和菊花鏈型結(jié)構(gòu),單個(gè)網(wǎng)段最多可以連接240個(gè)實(shí)時(shí)站點(diǎn)。由于有實(shí)時(shí)性的要求,因此不允許使用交換機(jī),只能使用集線器作為連接設(shè)備。
2.1.1 Ethernet Powerlink的報(bào)文幀格式
圖1 Powerlink報(bào)文幀格式
報(bào)文幀格式采用了標(biāo)準(zhǔn)快速以太網(wǎng)的幀頭、幀尾,如圖1所示。在以太網(wǎng)幀頭后面的是實(shí)際的Powerlink報(bào)文,包括服務(wù)標(biāo)識(shí)(SID)、目標(biāo)地址(DA)、源地址(SA)和數(shù)據(jù)(Data)。其中Length/Type字段的值>1 500,這是一個(gè)保留的EtherType,用于唯一地識(shí)別Powerlink的報(bào)文幀[1]。
其中:SID包括SoC(Start of Cyclic)、EoC(End of Cyclic)、PollReq、PollRes、AsyncInvite、AsyncSend、AsyncAckNack;DA為目標(biāo)地址;SA為源地址。
2.1.2 Ethernet Powerlink的工作原理
雖然標(biāo)準(zhǔn)的以太網(wǎng)是以CSMA/CD技術(shù)為基礎(chǔ)的,但CSMA/CD的工作原理決定了它不能實(shí)現(xiàn)通信的確定性,于是Ethernet Powerlink引入了SCNM(時(shí)間槽通信網(wǎng)絡(luò)管理)算法來(lái)保證實(shí)時(shí)以太網(wǎng)通信的確定性。
SCNM給同步數(shù)據(jù)和異步數(shù)據(jù)分配時(shí)槽,保證在同一時(shí)間只有一個(gè)設(shè)備可以占用網(wǎng)絡(luò)媒介,從而徹底杜絕了網(wǎng)絡(luò)沖突的發(fā)生。Ethernet Powerlink在通信管理上引入了管理節(jié)點(diǎn)(MN)和控制節(jié)點(diǎn)(CN)。整個(gè)網(wǎng)絡(luò)有唯一的管理節(jié)點(diǎn),所以控制節(jié)點(diǎn)在管理節(jié)點(diǎn)上登記組態(tài),管理節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)進(jìn)行統(tǒng)一調(diào)度,為各個(gè)節(jié)點(diǎn)之間數(shù)據(jù)通信分配時(shí)間信道。只有管理節(jié)點(diǎn)可以獨(dú)立地發(fā)送數(shù)據(jù),可以以廣播的形式或指定發(fā)送;而控制節(jié)點(diǎn)只有在得到允許后才能發(fā)送數(shù)據(jù),且僅以廣播的形式,其他的節(jié)點(diǎn)可以接收數(shù)據(jù)并進(jìn)行監(jiān)督。對(duì)于實(shí)時(shí)數(shù)據(jù),信道時(shí)間較窄,可以精確管理;對(duì)于標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)包,首先拆成小包,然后納入相應(yīng)的信道進(jìn)行管理,因而數(shù)據(jù)也是確定性的[2]。
時(shí)間槽通信的周期包括開(kāi)始階段、同步階段、異步階段和空閑階段,如圖2所示。
圖2 Powerlink的通信周期
每個(gè)階段的時(shí)間由管理節(jié)點(diǎn)預(yù)先設(shè)置,長(zhǎng)度可以不同。管理節(jié)點(diǎn)隨時(shí)監(jiān)控循環(huán)時(shí)間,以保證預(yù)設(shè)的時(shí)間不會(huì)發(fā)生沖突,一旦沖突發(fā)生,將自動(dòng)延續(xù)到下一個(gè)循環(huán)的開(kāi)始位置。
開(kāi)始階段:管理節(jié)點(diǎn)廣播發(fā)送SoC幀開(kāi)始通信周期。此幀發(fā)出后,各節(jié)點(diǎn)就此同步。只有SoC幀由時(shí)間控制,其他幀由事件控制。
同步階段: 所有節(jié)點(diǎn)進(jìn)行同步信息交換。管理節(jié)點(diǎn)按照一個(gè)預(yù)先定義的順序給某站發(fā)送一個(gè)PollPeq幀,要求此節(jié)點(diǎn)發(fā)送數(shù)據(jù);此節(jié)點(diǎn)得到允許后以廣播的形式發(fā)出一幀PollRes回應(yīng)信息,所有節(jié)點(diǎn)都可以接收到這幀數(shù)據(jù),并對(duì)這幀數(shù)據(jù)進(jìn)行監(jiān)控,也包括那些應(yīng)該得到這幀數(shù)據(jù)的節(jié)點(diǎn)。PollReq和PollRes都可以傳輸應(yīng)用數(shù)據(jù)。管理節(jié)點(diǎn)循環(huán)訪問(wèn)完所有節(jié)點(diǎn)后廣播發(fā)送EoC幀指示同步結(jié)束。
異步階段:當(dāng)確認(rèn)隊(duì)列中無(wú)實(shí)時(shí)數(shù)據(jù)交換需要時(shí),系統(tǒng)進(jìn)入異步階段,異步通信主要傳輸標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)流。如果控制節(jié)點(diǎn)要發(fā)送異步數(shù)據(jù),會(huì)在PollRes幀中通知管理節(jié)點(diǎn)。管理節(jié)點(diǎn)查詢異步數(shù)據(jù)請(qǐng)求對(duì)列,發(fā)送“異步數(shù)據(jù)發(fā)送邀請(qǐng)(AInvite)”給要發(fā)送異步數(shù)據(jù)的節(jié)點(diǎn)。這時(shí)控制節(jié)點(diǎn)就可以發(fā)送異步數(shù)據(jù)到指定的節(jié)點(diǎn)。通過(guò)時(shí)間槽通信發(fā)送的數(shù)據(jù)報(bào)文會(huì)在接收節(jié)點(diǎn)還原成原始數(shù)據(jù)包。
空閑階段:在完成異步傳送數(shù)據(jù)后尚剩下的時(shí)間段。在這個(gè)時(shí)間段,所以網(wǎng)上的節(jié)點(diǎn)都處于等待狀態(tài),等待下一循環(huán)的開(kāi)始。這個(gè)時(shí)間是個(gè)變量,也可能是0。
Ethernet Powerlink在通信管理上引入的時(shí)間槽通信網(wǎng)絡(luò)管理,使每個(gè)通信周期可以有對(duì)應(yīng)的時(shí)間域用于傳輸實(shí)時(shí)數(shù)據(jù)和標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)流,既能在保證數(shù)據(jù)通信的實(shí)時(shí)性要求,又能傳輸標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù),實(shí)現(xiàn)與標(biāo)準(zhǔn)以太網(wǎng)的兼容。
目前,實(shí)時(shí)開(kāi)放的Ethernet Powerlink工業(yè)以太網(wǎng)已順利通過(guò)IEC國(guó)際標(biāo)準(zhǔn)。所有文檔都已通過(guò)IEC組委會(huì)批準(zhǔn),Ethernet Powerlink已被納入IEC國(guó)際標(biāo)準(zhǔn)617842、61158300、61158400、61158500和61158600。
評(píng)論