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