現(xiàn)場總線的速度和效率
現(xiàn)場總線的產(chǎn)品或技術(shù)自80年代開始發(fā)展以來,現(xiàn)已有40余種。在應(yīng)用中,無論采用那一種現(xiàn)場總線產(chǎn)品或技術(shù),不管它的名氣有多大、牌子有多響,如果只談其產(chǎn)品的速度,而不談其支持總線系統(tǒng)的效率,那將無法評(píng)價(jià)一種產(chǎn)品或技術(shù)的優(yōu)劣。這在構(gòu)成應(yīng)用系統(tǒng)的選型中顯得尤其重要。本文就現(xiàn)場總線的速度和現(xiàn)場總線的效率問題進(jìn)行討論。并導(dǎo)出評(píng)價(jià)現(xiàn)場總線效率的計(jì)算方法。
1 現(xiàn)場總線的速度
在現(xiàn)場總線條件下(特別是在惡劣環(huán)境時(shí)),大多數(shù)現(xiàn)場總線介質(zhì)采用雙絞線或同軸電纜(現(xiàn)在使用光纖也很常見),而這些傳輸媒體的頻帶寬度、分布參數(shù)和傳輸速度息息相關(guān),無論DTE(Data Ter-minal Equipment)通信速度有多高,但絕不等于DCE(Data Circuit Equipment)就一定有那樣高。通俗地講,DTE速度指的是PC到MODEM之間的速度,DCE速度為MODEM到MODEM之間的傳輸速度(在無MODEM情況下,DTE速度是PC到通信口之間的速度,DCE速度為通信口到通信口之間的傳輸速度)。由于現(xiàn)場總線使用媒體的限制,DTE速度很高時(shí),DCE速度有可能很低。因此,現(xiàn)場總線的速度決不是某種芯片或某種通信卡或設(shè)備所具有的速度,應(yīng)為其形成現(xiàn)場總線后的DCE速度。
例如,在進(jìn)行某海港礦石碼頭生產(chǎn)作業(yè)自動(dòng)監(jiān)控系統(tǒng)的現(xiàn)場總線設(shè)計(jì)時(shí)就遇到此類問題。按設(shè)計(jì)數(shù)據(jù)量選擇通信總線產(chǎn)品時(shí),其技術(shù)指標(biāo)(如速度指標(biāo))達(dá)到要求的產(chǎn)品,并不一定能做系統(tǒng)應(yīng)用。這個(gè)問題在下面的討論中將會(huì)明顯看到。
當(dāng)然,高的DTE速度是較高的現(xiàn)場總線速度的基礎(chǔ)。而高的現(xiàn)場總線速度會(huì)帶來較高的現(xiàn)場總線效率,這一點(diǎn)毋庸置疑。
通常定義總線速度為單位時(shí)間內(nèi)總線所傳送信息或數(shù)據(jù)的總量。
2 現(xiàn)場總線的效率
現(xiàn)場總線的速度和效率是二個(gè)不同的概念。
定義1:現(xiàn)場總線效率等于單位時(shí)間內(nèi)總線所傳有效信息或數(shù)據(jù)總量占單位時(shí)間內(nèi)總線上信息或數(shù)據(jù)總傳輸量的比率。
設(shè)E為現(xiàn)場總線效率,T為總傳送時(shí)間,Ql為T內(nèi)傳送的有效信息或數(shù)據(jù)量,Q為T內(nèi)傳送的信息或數(shù)據(jù)總量。則:
E=(Ql/T)/(Q/T)=Q1/Q (1)
例如,在串行異步通信模式下,異步接收是靠檢測傳送數(shù)據(jù)的起始位和終止位來確定數(shù)據(jù)位的。一般情況下,數(shù)據(jù)位為1個(gè)字節(jié)8bit,起始位占lbit,終止位占2bit,校驗(yàn)位lbit。所以串行異步通信模式傳送1個(gè)字節(jié)的有效數(shù)據(jù),有4bit的額外信息在內(nèi)??梢哉f串行異步通信的傳輸效率很低。由串行異步通信模式形戊的現(xiàn)場總線的效率也將很低,通常應(yīng)用于速度要求不高的場合。
再如,使用HDLC/SDLC規(guī)程模式的串行同步通信,由于其幀格式中信息段可以是任意長度(一般定為255B,即2040b),雖然它的信息幀中也有起始結(jié)束標(biāo)志位(8bit+8bit)、地址段(8bit)、控制段(8bit)、校驗(yàn)段(16bit),但和串行異步模式相比較,它的傳送效率較高。因此,由串行同步通信模式形成的現(xiàn)場總線的傳輸效率較高。
由上述情況可以看出,現(xiàn)場總線的效率不僅和DCE速度有關(guān),而且還受其使用的通信規(guī)約限制。
3 現(xiàn)場總線的實(shí)際速度和實(shí)際效率
一般認(rèn)為,現(xiàn)場總線的速度是單位時(shí)間內(nèi)總線數(shù)據(jù)或信息的傳輸能力,我們認(rèn)為這個(gè)定義不夠確切。這也是許多現(xiàn)場總線產(chǎn)品(包括某些其它產(chǎn)品)最能迷惑用戶的地方。嚴(yán)格地講,這個(gè)講法只能稱為現(xiàn)場總線的最高速度,而"真正現(xiàn)場總線的速度"應(yīng)按以下定義:
定義2:對(duì)于1個(gè)固定的現(xiàn)場總線系統(tǒng)或網(wǎng)絡(luò),它的現(xiàn)場總線速度應(yīng)為系統(tǒng)現(xiàn)場總線上所有終端(DTE)按一定信息或數(shù)據(jù)量(設(shè)定量)通信1個(gè)循環(huán)后,其平均單位時(shí)間內(nèi)數(shù)據(jù)的傳輸量。
設(shè)現(xiàn)場總線速度為V,總線負(fù)載數(shù)(終端數(shù))為N,N個(gè)終端按一定信息或數(shù)據(jù)量傳輸1個(gè)循壞的時(shí)間為T,T內(nèi)數(shù)據(jù)傳輸總量為Q,則:
V=Q/T (2)
對(duì)于定義2,也很容易理解。按HDLC/SDLC規(guī)程進(jìn)行串行同步通信、當(dāng)信息幀有多個(gè)時(shí),相鄰信息幀之間需要控制幀和總線復(fù)位時(shí)間(無數(shù)據(jù)信息)銜接,因此它的數(shù)據(jù)傳輸速度取平均值,而不按單幀傳輸能力來計(jì)算是切合實(shí)際的。當(dāng)總線負(fù)載較多時(shí),系統(tǒng)又有應(yīng)答周期和發(fā)送、接收準(zhǔn)備時(shí)間,故該定義才能真正表達(dá)現(xiàn)場總線的實(shí)際速度。
很顯然,定義1定義的現(xiàn)場總線效率也只能代表現(xiàn)場總線的最高效率(或吞吐能力),而且還有它的不合理性,即它與時(shí)間無關(guān)。也就是說,無論現(xiàn)場總線上的傳送速度有多慢,總線效率E依然有可能很高,這就違背了效率二字的本意。將定義1根據(jù)實(shí)際應(yīng)用情況并參考國外有關(guān)文獻(xiàn)進(jìn)行修改后,得出了比較準(zhǔn)確的描述。
現(xiàn)場總線的實(shí)際效率定義:
定義3:對(duì)于1個(gè)固定的現(xiàn)場總線系統(tǒng)或網(wǎng)絡(luò),它的總線效率應(yīng)為系統(tǒng)現(xiàn)場總線上所有終端按一定信息或數(shù)據(jù)量(設(shè)定量)和給定通信速度(波特率)通信1個(gè)循環(huán)后,其傳輸有效信息或數(shù)據(jù)總量和實(shí)際信息或數(shù)據(jù)傳輸總量之比乘以(系統(tǒng)完整通信周期內(nèi)按給定通信速度)傳輸總有效信息或數(shù)據(jù)所需的理論計(jì)算時(shí)間和實(shí)際耗用時(shí)間之比。
這個(gè)定義可解釋為:總線的信息或數(shù)據(jù)效率與時(shí)間效率之積。
設(shè)總線效率為E,B為通信波特率,Q1為1個(gè)傳輸循環(huán)內(nèi)有效信息或數(shù)據(jù)的傳輸量,Tl為按B傳輸Ql所需的理論時(shí)間,Q為i個(gè)通信循環(huán)周期內(nèi)傳輸信息或數(shù)據(jù)總量,T為l個(gè)傳輸循環(huán)周期時(shí)間,則
E=(Q1/Q)*(T1/T)*100% (3)
E=(Q1/T)/(Q/Tl)*100% (4)
理論上:Tl=Ql/B (5)
由式(3)可以看出:
當(dāng)Ql=Q時(shí),E=Tl/T*l00% (6)
若使Ql=Q或Q1接近Q,必須有高效率的通信規(guī)約(合理的通信協(xié)議)。
顯然,Ql=Q、Tl=T時(shí),E=l。
這是最理想的狀態(tài)。實(shí)際上,Ql<Q、Tl<T,因此,E<l。
設(shè)Ql≈Q,Tl≈Q/B
則:E≈(Q1/T)*B*l00% (7)
式(7)說明現(xiàn)場總線效率和總線通信速度B成正比。Ql/T解釋為使用通信規(guī)約的合理性,當(dāng)使用的通信規(guī)約使得Ql=Q時(shí),總線效率E約為100%,這顯然是目前很難達(dá)到的。
由式(7)可以得出提高現(xiàn)場總線效率的方法:
①提高總通信速度;
②增加通信規(guī)約的合理性。
根據(jù)上面3個(gè)定義,再來衡量任何現(xiàn)場總線產(chǎn)品是否適合使用時(shí),顯然不能用它的最大指標(biāo)(最高速度和最高效率)為依據(jù),要用其實(shí)際總線效率和總線速度來評(píng)判。一種好的現(xiàn)場總線產(chǎn)品或技術(shù)應(yīng)有高的現(xiàn)場總線效率,否則不能稱好。
由以上討論可以得出以下結(jié)論:具有較高速度指標(biāo)的現(xiàn)場總線產(chǎn)品,如不支持合理的通信協(xié)議,就不能使其擁有較高的總線效率。
4 應(yīng)用舉例
現(xiàn)在用定義3計(jì)算RS-485總線下,進(jìn)行串行異步通信的總線效率問題。
假定RS-485總線(lkm雙絞線)上有6個(gè)終端(普通PC機(jī)、485通信卡、以C語言自編通信程序),以19200bit/s的速率進(jìn)行主從通信。設(shè)定傳輸數(shù)據(jù)量為19200bit/s(l0*1920),通信格式按每1個(gè)字節(jié)數(shù)據(jù)有l(wèi)bit的起始位、2bit的終止位、lbit校驗(yàn)位。
通信應(yīng)答格式(握手信號(hào))為:XXXXaaaa#和SSSSaaaa#,即:2*72bit。其中,XXXX、SSSS為系統(tǒng)代碼,aaaa為終端號(hào)。
則Tl=9600/9600=ls Ql=9600bit
Q=9600*(1+1/3)+5*144=13520bit
實(shí)際通信1個(gè)上位機(jī)對(duì)5個(gè)下位機(jī)通信1個(gè)循環(huán)所用時(shí)間為2.95s。
則實(shí)際速度V=Q/T=13520/2.95=4583bit/s
實(shí)際效率E=(9600/13520)*(1/2.95)*100%=24%
由此可以看出,這個(gè)系統(tǒng)的有效數(shù)據(jù)傳輸速度(實(shí)際速度)僅為4583bit/s,不到設(shè)定通信波特率9600bit/s的1/2,其總線效率非常低。如用它做現(xiàn)場總線系統(tǒng)設(shè)計(jì)時(shí),至少要有4倍以上的傳輸速度冗余才能達(dá)到9600bit/s有效數(shù)據(jù)的傳送量。
以上對(duì)現(xiàn)場總線速度和現(xiàn)場總線效率的討論,在現(xiàn)場總線構(gòu)成的自控系統(tǒng)的設(shè)計(jì)選型中曾使用,減少了不必要的精力和時(shí)間的浪費(fèi)。
評(píng)論