浅谈PROFINET IO通信的实时性
PROFINET是適用于不同需求的完整解決方案,其功能包括8個(gè)主要的模塊,依次為實(shí)時(shí)通信、分布式現(xiàn)場(chǎng)設(shè)備、運(yùn)動(dòng)控制、分布式自動(dòng)化、網(wǎng)絡(luò)安裝、IT標(biāo)準(zhǔn)和信息安全、故障安全和過(guò)程自動(dòng)化。
PROFINET主要有兩種通信方式[1]:
(1)PROFINET IO實(shí)現(xiàn)控制器與分布式I/O之間的實(shí)時(shí)通信;
(2)PROFINET CBA實(shí)現(xiàn)分布式智能設(shè)備之間的實(shí)時(shí)通信。
從PROFINET的角度來(lái)看,PROFINET IO是在工業(yè)以太網(wǎng)上實(shí)現(xiàn)模塊化、分布式應(yīng)用的通信概念。通過(guò)PROFINET IO,分布式I/O和現(xiàn)場(chǎng)設(shè)備能夠集成到以太網(wǎng)通信中。
1 PROFINET IO的基本概念
1.1 PROFINET IO的工程模型
(1)IO控制器
IO控制器[2]一般是可編程控制器(例如PLC),它能夠執(zhí)行自動(dòng)化程序。其功能相當(dāng)于PROFIBUS類(lèi)型1的主站。
(2)IO設(shè)備
IO設(shè)備是連接到PROFINET網(wǎng)絡(luò)中的現(xiàn)場(chǎng)分布式I/O。
(3)IO監(jiān)視器
IO監(jiān)視器[2]是一種工程設(shè)備,通常為PC、HMI或可編程控制器,用于IO控制器和IO設(shè)備的調(diào)試和診斷,在運(yùn)行期間連接IO監(jiān)視器,通常只是暫時(shí)性地用于調(diào)試和故障處理。IO監(jiān)視器的功能相當(dāng)于PROFIBUS類(lèi)型2的主站。
1個(gè)PROFINET IO系統(tǒng)應(yīng)該包括至少1個(gè)IO控制器和1個(gè)IO設(shè)備。
1.2??PROFINET IO的數(shù)據(jù)流
PROFINET IO通信站點(diǎn)的數(shù)據(jù)交換是通過(guò)標(biāo)準(zhǔn)通道[3](基于UDP/IP)和實(shí)時(shí)通道完成的。在這些通道里,數(shù)據(jù)使用不同的協(xié)議進(jìn)行傳輸。例如啟動(dòng)時(shí)從站參數(shù)是由 主站通過(guò)UDP協(xié)議傳遞的,設(shè)備地址名字的分配是通過(guò)DCP協(xié)議完成的,這些都屬于標(biāo)準(zhǔn)數(shù)據(jù),也可以稱(chēng)為非實(shí)時(shí)(NRT)數(shù)據(jù)。而周期數(shù)據(jù)[4]、報(bào)警數(shù) 據(jù)是通過(guò)實(shí)時(shí)協(xié)議傳送的,被稱(chēng)為實(shí)時(shí)數(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個(gè)IO設(shè)備,分別為ET-200S,ET-200pro和ET-200eco,還可以繼續(xù)添加IO設(shè)備,SIMATIC 產(chǎn)品系列的 PROFINET 設(shè)備具有PROFINET接口[5](帶或不帶集成交換機(jī))。帶集成交換機(jī)的 PROFINET 設(shè)備通常具有2個(gè)端口,用于網(wǎng)絡(luò)的線性總線結(jié)構(gòu)。 同時(shí)還提供有3個(gè)或更多端口的 PROFINET 設(shè)備以連接樹(shù)型拓?fù)洹S蓤D1可見(jiàn),CPU319通過(guò)雙絞屏蔽線與設(shè)備3(ET-200S)連接,不同的IO設(shè)備之間通過(guò)它們自帶的交換機(jī)接口進(jìn)行連接。
1.3.2??PROFINET IO中的不同時(shí)間概念
(1)發(fā)送時(shí)鐘(Send clock)[6]:IRT或RT通信中2個(gè)連續(xù)間隔之間的時(shí)間段。發(fā)送時(shí)鐘是用于交換數(shù)據(jù)的可能的最短傳輸時(shí)間;
(2)更新時(shí)間(Update time):更新時(shí)間=發(fā)送時(shí)鐘× Factor。
在此時(shí)間間隔之內(nèi),IO 控制器/IO 設(shè)備為 PROFINET IO 系統(tǒng)中的IO設(shè)備/IO 控制器提供新的數(shù)據(jù)。可以為每個(gè)IO設(shè)備單獨(dú)組態(tài)發(fā)送周期,并定義將數(shù)據(jù)從 IO 控制器發(fā)送到 IO 設(shè)備(輸出)的時(shí)間間隔以及將數(shù)據(jù)從 IO 設(shè)備發(fā)送到IO控制器的時(shí)間間隔(輸入)。更新時(shí)間在SETP7組態(tài)中可以設(shè)置。
(3)Factor:Fatcor是放大倍數(shù),為2n,也稱(chēng)減速比(Reduction Ratio)[7]
(4)看門(mén)狗時(shí)間 (Watchdog xime)
通過(guò)STEP7,采用更新時(shí)間的整倍數(shù)來(lái)設(shè)置看門(mén)狗時(shí)間,該時(shí)間也可由用戶(hù)修改。如果在看門(mén)狗時(shí)間內(nèi)IO控制器沒(méi)有為IO設(shè)備提供輸入/輸出數(shù)據(jù),IO設(shè)備將出現(xiàn)故障并給出替換值。這種情況將作為站故障報(bào)告給IO控制器。
2 研究PROFINET IO實(shí)時(shí)性的必要性
首先,在運(yùn)動(dòng)控制系統(tǒng)等對(duì)實(shí)時(shí)性要求很高的領(lǐng)域,用戶(hù)需要知道PROFINET IO數(shù)據(jù)循環(huán)的周期,以便更好地進(jìn)行生產(chǎn)。其次,如果在STEP7工程工具中對(duì)PROFINET IO設(shè)備的更新時(shí)間和看門(mén)狗時(shí)間設(shè)置不合適,設(shè)備就會(huì)在運(yùn)行時(shí)出現(xiàn)莫名其妙的故障。所以,對(duì)PROFINET IO實(shí)時(shí)性的研究是很有必要并且具有現(xiàn)實(shí)意義。
3??PROFINET IO的實(shí)時(shí)性
3.1??標(biāo)準(zhǔn)以太網(wǎng)的幀結(jié)構(gòu)
標(biāo)準(zhǔn)以太網(wǎng)的幀如表1所示。可以看出,一個(gè)標(biāo)準(zhǔn)以太網(wǎng)幀數(shù)據(jù)大小為64 B~1??500 B。快速以太網(wǎng)(100 Mb/s)傳輸1 518 B數(shù)據(jù)的時(shí)間是120 μs,傳輸64 B數(shù)據(jù)的時(shí)間是5 μs。
3.2??交換機(jī)制
SIMATIC 中的交換機(jī)通過(guò) PROFINET 上的2個(gè)機(jī)制滿足實(shí)時(shí)要求。
(1) 存儲(chǔ)與轉(zhuǎn)發(fā)S&F(Store and Forward)[4]
使用存儲(chǔ)轉(zhuǎn)發(fā)方法時(shí),交換機(jī)將完整地存儲(chǔ)消息幀,并將它們排成一個(gè)隊(duì)列。 如果交換機(jī)支持國(guó)際標(biāo)準(zhǔn) IEEE 802.1Q,則根據(jù)其在隊(duì)列中的優(yōu)先級(jí)存儲(chǔ)數(shù)據(jù)。 這些消息幀隨后將有選擇性地轉(zhuǎn)發(fā)給可訪問(wèn)已尋址節(jié)點(diǎn)的特定端口(存儲(chǔ)轉(zhuǎn)發(fā))。
對(duì)于存儲(chǔ)轉(zhuǎn)發(fā),數(shù)據(jù)經(jīng)過(guò)交換機(jī)時(shí)先存儲(chǔ)進(jìn)行校驗(yàn),然后由交換機(jī)根據(jù)地址表再進(jìn)行轉(zhuǎn)發(fā)。
(2)直通交換方式(Cut Through)[4]
在直通交換方式過(guò)程中,并不是將整個(gè)數(shù)據(jù)包臨時(shí)存儲(chǔ)在緩沖區(qū)中,而是在目標(biāo)地址和目標(biāo)端口已經(jīng)確定后,馬上將整個(gè)數(shù)據(jù)包直接傳送到目標(biāo)端口。這 樣通過(guò)交換機(jī)傳送數(shù)據(jù)包所用的時(shí)間是最小的,且不受消息幀長(zhǎng)度的影響。當(dāng)目標(biāo)段與下一個(gè)交換機(jī)的端口之間的區(qū)段已被占用時(shí),數(shù)據(jù)將“根據(jù)優(yōu)先級(jí)的存儲(chǔ)和轉(zhuǎn) 發(fā)過(guò)程”臨時(shí)存儲(chǔ)。
根據(jù)西門(mén)子交換機(jī)SCALANCE X200手冊(cè),64 B的數(shù)據(jù)S&F延遲時(shí)間是10 μs,1 500 B數(shù)據(jù)S&F延遲時(shí)間是130 μs。
3.3??PROFINET IO實(shí)時(shí)數(shù)據(jù)傳輸?shù)难舆t時(shí)間
假設(shè)組態(tài)ET200分布式I/O模塊不是很多的情況下,這樣一個(gè)最小的以太網(wǎng)報(bào)文64 B完全可以控制I/O,那么就認(rèn)為PROFINET報(bào)文的大小為64 B。根據(jù)快速以太網(wǎng)(100 Mb/s)傳輸64 B數(shù)據(jù)的時(shí)間是5 μs,經(jīng)過(guò)n臺(tái)交換機(jī)的傳輸時(shí)間約為n×5 μs。根據(jù)SCALANCE X200手冊(cè),64 B的數(shù)據(jù)S&F延遲時(shí)間是10 μs,經(jīng)過(guò)n臺(tái)交換機(jī)的延遲時(shí)間約為n×10 μs。那么RT數(shù)據(jù)的延遲時(shí)間為n×(10+5)μs。
所謂反應(yīng)時(shí)間是液晶顯示器各像素點(diǎn)對(duì)輸入信號(hào)反應(yīng)的速度,即像素由暗轉(zhuǎn)亮或由亮轉(zhuǎn)暗所需要的時(shí)間(其原理是在液晶分子內(nèi)施加電壓,使液晶分子扭 轉(zhuǎn)與回復(fù))。常說(shuō)的25ms、16ms就是指的這個(gè)反應(yīng)時(shí)間,反應(yīng)時(shí)間越短則使用者在看動(dòng)態(tài)畫(huà)面時(shí)越不會(huì)有尾影拖曳的感覺(jué)。一般將反應(yīng)時(shí)間分為兩個(gè)部分: 上升時(shí)間(Rise time)和下降時(shí)間(Fall time),而表示時(shí)以?xún)烧咧蜑闇?zhǔn)。
根據(jù)這種分析方法,對(duì)任何的PROFINET網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)都可以通過(guò)上述的方法確定PROFINET??IO設(shè)備的刷新時(shí)間,避免出現(xiàn)IO錯(cuò)誤。
如果使用SCANLANCE X IRT交換機(jī)串聯(lián),由于IRT交換機(jī)使用Cut Through的處理數(shù)據(jù)方式,這樣數(shù)據(jù)的延遲時(shí)間會(huì)明顯縮短。
如果使用帶有PN接口的ET200串聯(lián),由于集成ERTEC芯片,同樣適用Cut Though的數(shù)據(jù)處理方式,這樣數(shù)據(jù)的延遲時(shí)間會(huì)大大縮短。
由交換機(jī)的機(jī)制和數(shù)據(jù)在網(wǎng)絡(luò)介質(zhì)中傳輸造成的延遲可以看出,距離主站組態(tài)距離不同的IO設(shè)備數(shù)據(jù)更新時(shí)間是不同的,距離主站越遠(yuǎn)的設(shè)備,IO數(shù)據(jù)更新時(shí)間越長(zhǎng),所以必須要設(shè)定相應(yīng)的看門(mén)狗時(shí)間,以避免因?yàn)榈竭_(dá)看門(mén)狗時(shí)間數(shù)據(jù)未更新而造成設(shè)備故障誤報(bào)。
使用IRT(等時(shí)實(shí)時(shí))通信可以有效地減少數(shù)據(jù)在交換機(jī)上的延遲,因?yàn)镮RT數(shù)據(jù)經(jīng)過(guò)交換機(jī)使用的是Cut Through方式。
總結(jié)
以上是生活随笔為你收集整理的浅谈PROFINET IO通信的实时性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: RegexDemo6
- 下一篇: bt磁力链接转换种子中的问题