摘要: 介紹了電梯串行通訊系統(tǒng)可靠性設(shè)計(jì)的基本方法及硬件抗干擾措施,并對軟件可靠性設(shè)計(jì)技術(shù)進(jìn)行了初步探討。
關(guān)鍵詞: 串行通訊 可靠性 抗干擾 硬件 軟件
電梯工作現(xiàn)場往往存在大量的干擾源,電梯控制系統(tǒng)一旦因干擾而產(chǎn)生故障,很可能釀成嚴(yán)重的后果。因此,在電梯串行通訊系統(tǒng)的設(shè)計(jì)中,如何增強(qiáng)系統(tǒng)的抗干擾能力、提高系統(tǒng)工作的可靠性是一個不容忽視的重要內(nèi)容。
1 可靠性的基本概念
可靠性是產(chǎn)品的質(zhì)量指標(biāo)。其定義為:產(chǎn)品在規(guī)定的條件和規(guī)定的時間內(nèi),完成規(guī)定功能的能力。其中規(guī)定條件是指產(chǎn)品工作時所處的環(huán)境條件、維護(hù)條件、使用條件等;規(guī)定時間是指產(chǎn)品能夠正常工作的起止時間;規(guī)定功能則是指產(chǎn)品應(yīng)當(dāng)實(shí)現(xiàn)的功能。衡量產(chǎn)品可靠性的常用量化指標(biāo)主要有:可靠度、失效率、平均壽命、平均維修時間和利用率等。
在電梯串行通訊系統(tǒng)中,故障應(yīng)當(dāng)都是可以修復(fù)的,因此其平均壽命的確切含義應(yīng)當(dāng)是平均故障間隔時間MTBF(Mean Time Between Failure)。另一個重要指標(biāo)則是故障平均修復(fù)時間MTTR(Mean Time To Repair)。
2 保證電梯串行通訊系統(tǒng)可靠性的方法
2.1 提高系統(tǒng)各單元的MTBF
根據(jù)可靠性設(shè)計(jì)的有關(guān)理論,單元越簡單,可靠性就越高。因此,電梯串行通訊系統(tǒng)最好設(shè)計(jì)成集散控制系統(tǒng),即將整個系統(tǒng)分解為多個自律性極強(qiáng)的獨(dú)立單元,每一單元都比較簡單,可靠性大為提高。而且當(dāng)某一單元發(fā)生故障時不會影響整個系統(tǒng)。此外,結(jié)構(gòu)上的分散也就意味著控制的分散、供電的分散、負(fù)荷的分散和干擾的分散,因此從根本上分散了影響系統(tǒng)可靠性的外部因素,從而保證系統(tǒng)能夠達(dá)到很高的MTBF。
目前在電梯串行通訊技術(shù)中占主導(dǎo)地位的是主從結(jié)構(gòu)的BITBUS網(wǎng)絡(luò)系統(tǒng),它采用RS-485總線,通訊結(jié)構(gòu)為命令、響應(yīng)式。其潛在的危險(xiǎn)就是采用了集中控制方式,一旦主節(jié)點(diǎn)出現(xiàn)故障,整個系統(tǒng)將癱瘓,而具有多主結(jié)構(gòu)的CANBUS總線卻可以克服上述缺點(diǎn)。它可以多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)可以在任一時刻向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息,不分主從,因此可以很方便地構(gòu)成冗余(容錯)系統(tǒng)。CAN的每幀信息都有CRC校驗(yàn)及檢錯措施,而且CAN節(jié)點(diǎn)在錯誤嚴(yán)重時具有自動關(guān)閉總線的功能,切斷它與總線的聯(lián)系,使總線上其它操作不受影響,具有很高的可靠性。因此,采用CANBUS總線很容易構(gòu)成“集中管理、分散控制”的集散控制系統(tǒng)??梢灶A(yù)見在不遠(yuǎn)的將來,CANBUS將逐漸取代BITBUS,成為電梯串行通訊系統(tǒng)中的主流產(chǎn)品。
另外,在硬件電路板制作時,對所用元器件應(yīng)嚴(yán)格篩選,選用具有低失效率的器件,對某些重要的元器件進(jìn)行降級使用,元件在使用前進(jìn)行老化處理使之進(jìn)行偶然失效期等,從而在元件級很大程序地保證系統(tǒng)高可靠性。
2.2 降低系統(tǒng)各單元的MTTR
采用CANBUS總線的電梯串行通訊系統(tǒng)由于采用了模塊結(jié)構(gòu)設(shè)計(jì),各個模塊功能簡單,易于維護(hù),在發(fā)生故障時便于及時發(fā)現(xiàn)故障位置,迅速更換,有利于縮短系統(tǒng)的平均維修時間MTTR,從而提高系統(tǒng)的利用率。此外,還應(yīng)開發(fā)使用在線快速排除故障的設(shè)計(jì)方法,使用硬件自診斷和故障部件的自動隔離、自動恢復(fù)和熱機(jī)插撥技術(shù)。當(dāng)系統(tǒng)出現(xiàn)異常,通過硬件自診斷機(jī)能和測度機(jī)能檢出后,迅速進(jìn)行自我故障排除,若不能排除,則迅速報(bào)警,并將故障信息顯示于控制柜操作面板。
2.3 冗余與容錯設(shè)計(jì)
容錯設(shè)計(jì)的出發(fā)點(diǎn)是承認(rèn)各單元發(fā)生故障的可能,進(jìn)而設(shè)法保證即使某單元發(fā)生故障,系統(tǒng)仍能正常工作。為使系統(tǒng)具有容錯能力,必須在系統(tǒng)中增加適當(dāng)?shù)娜哂鄦卧?,保證當(dāng)某個單元發(fā)生故障時能由冗余單元接替其工作,原單元修復(fù)后再恢復(fù)出錯前的狀態(tài)。所以容錯與冗余是同時使用的技術(shù)。
對于采用主從結(jié)構(gòu)的BITBUS總線的電梯串行通訊系統(tǒng),如果進(jìn)行冗余容錯就必須對整個系統(tǒng)進(jìn)行冗余,這顯然很復(fù)雜且很不經(jīng)濟(jì)。而對于采用多主結(jié)構(gòu)的CANBUS網(wǎng)絡(luò)的電梯串行通訊系統(tǒng),由于各單元的相對獨(dú)立和相對簡化,使得冗余容錯比較容易實(shí)現(xiàn),同時還便于在冗余時突出重點(diǎn)(如電梯操縱箱),減少不必要的冗余,從而使系統(tǒng)更加經(jīng)濟(jì)實(shí)用。
在采用CANBUS網(wǎng)絡(luò)的電梯串行通訊系統(tǒng)中,為提高控制系統(tǒng)的可靠性,還可以設(shè)計(jì)2臺控制柜主電腦,互為備用地執(zhí)行監(jiān)控任務(wù),好構(gòu)成雙機(jī)冗余系統(tǒng)。其中1臺作為主機(jī)投入系統(tǒng)運(yùn)行,另一臺作為備份機(jī)也處于通電狀態(tài)。當(dāng)主機(jī)出現(xiàn)故障時,專用程序切換裝置便自動地把備份機(jī)切入系統(tǒng)運(yùn)行,承擔(dān)起主機(jī)的任務(wù)。而故障排除后,原主機(jī)則轉(zhuǎn)為備份機(jī),處于待命狀態(tài)。這種設(shè)計(jì)方式對于單梯運(yùn)行可能要增加些成本,而對于并聯(lián)或群控梯,則在不增加任何硬件成本的前提下,使系統(tǒng)的可靠性大大提高。
2.4 診斷技術(shù)
診斷技術(shù)實(shí)質(zhì)上是一種檢測技術(shù)。所謂診斷,就是將測試取得的診斷信號與設(shè)定的標(biāo)準(zhǔn)相比較,或利用事先確定的征兆與故障之間的對應(yīng)關(guān)系,來確定故障的種類和部位,進(jìn)而達(dá)到排除故障甚至預(yù)防故障的目的。
例如,對于電梯串行通訊系統(tǒng)中的單片機(jī),受外界干擾時可能會產(chǎn)生程序彈飛這一問題,可以設(shè)置監(jiān)視跟蹤定時器來監(jiān)視程序運(yùn)行狀態(tài)。定時器的定時時間稍大于主程序正常運(yùn)行1個循環(huán)的時間,而在主程序正常運(yùn)行過程中執(zhí)行1次定時器時間常數(shù)刷新操作,這樣,只要程序正常運(yùn)行,定時器就不會出現(xiàn)定時中斷,而當(dāng)程序彈飛或失常時,則因無法按時刷新定時器時間常數(shù)而導(dǎo)致定時中斷,利用定時中斷服務(wù)程序?qū)⑾到y(tǒng)復(fù)位。
3 串行通訊系統(tǒng)硬件抗干擾措施
電梯串行通訊系統(tǒng)中的元器件由于經(jīng)過篩選和老化處理,因此可靠性很高,平均無故障間隔時間MTBF很長,因此引起控制系統(tǒng)故障的原因多半不在于其本身,而在于從各種渠道進(jìn)入控制系統(tǒng)的干擾信號。電梯工作現(xiàn)場的干擾一般都是以脈沖的形式進(jìn)入微處理器,干擾竄入系統(tǒng)的渠道有3條:空間干擾、過程通道干擾和供電系統(tǒng)干擾。為減少系統(tǒng)的錯誤和故障,提高系統(tǒng)的可靠性,就必須采用抗干擾措施,提高系統(tǒng)對環(huán)境的適應(yīng)能力。
3.1 3種常見的干擾及其抑制
3.1.1 串模干擾
串模干擾是串聯(lián)于信號源回路中的干擾,也稱橫向干擾或正態(tài)干擾。產(chǎn)生串模干擾的原因有分布電容的靜電耦合,長線傳輸?shù)幕ジ校臻g電磁場引起的磁場耦合以及50Hz工頻的高次諧頻干擾等。用雙絞線作為電梯串行通訊系統(tǒng)中的信號引線,不但可以降低成本,而且可以有效地抑制串模干擾。這是由于雙絞線中每個絞線環(huán)繞向的互反特征,從而使各個小環(huán)路的電磁感應(yīng)互相抵消。另外,采用低通濾波器可以有效地抑制電源高次諧波。
3.1.2 共模干擾
共模干擾是由于微處理器、放大器地和信號源地之間的電位差而產(chǎn)生的干擾,也稱為縱向干擾或共態(tài)干擾。
在平衡傳輸中,對于采用差動輸入結(jié)構(gòu)的接收單元而言,共模干擾不起作用;但是在不平衡傳輸結(jié)構(gòu)中,共模干擾將會轉(zhuǎn)為差模干擾而對接收單元造成影響,而且不平衡程度越大,影響就越嚴(yán)重[1]。
共模干擾的抑制措施主要有如下3種:變壓器隔離、光電隔離和浮地屏蔽。變壓器隔離就是利用變壓器將模擬信號電路與數(shù)字信號電路隔離開來。光電隔離是利用光電耦合器來實(shí)現(xiàn)兩個電路系統(tǒng)間的隔離。浮地屏蔽是采用浮地隔離式放大器來抑制共模干擾電壓。相比較而言,光電隔離體積小,成本低,實(shí)現(xiàn)比較容易,應(yīng)用廣泛。例如,在采用CANBUS網(wǎng)絡(luò)的電梯串行通訊系統(tǒng)中,CAN控制器PCA82C200與CAN驅(qū)動器PCA82C250之間加接了高速光耦芯片6N137來實(shí)現(xiàn)光電隔離,以提高系統(tǒng)的抗干擾能力,如圖1所示。
圖1中,信號從6N137的輸入端引腳輸入,發(fā)光二極管發(fā)光,經(jīng)片內(nèi)光通道傳送到光敏二極管,反向偏置的光敏管經(jīng)光照后導(dǎo)通,經(jīng)電流—電壓轉(zhuǎn)換后送到與門的有關(guān)輸入端,與門的另一個輸入端為使能端。當(dāng)使能端為高電平時,與門輸出高電平,經(jīng)輸出三極管反向后光電隔離器輸出低電平。當(dāng)輸出信號電源小于觸發(fā)閥值且使能端為低時,輸出高電平,但這個邏輯高是極電集開路的,可針對接收電路加上拉電阻或電壓調(diào)整電路。這樣就實(shí)現(xiàn)了CAN總線和CAN控制器之間的隔離,避免了CAN總線上的通訊干擾影響CAN控制器的工作。
3.1.3 長線傳輸干擾
信號在長線傳輸中會遇到3個問題:一是長線傳輸易受到外界干擾,二是具有信號延時,三是高速變化的信號在長線中傳輸時會出現(xiàn)波反射現(xiàn)象。采用終端或始端阻抗匹配,可以消除長線傳輸中的波反射或把它抑制到最低限度,采用雙絞線作為信號線可以部分抑制外界信號干擾。
3.2 接地技術(shù)
接地是抗干擾措施中的關(guān)鍵步驟,因此對接地必須慎重處理。下面針對電梯串行通訊系統(tǒng)的特點(diǎn)并結(jié)合筆者的個人體會,給出一些接地方法。
3.2.1 電路板內(nèi)的信號地
電路板內(nèi)的信號地分為如下兩種情況:
(1)對于采用了諸如模擬放大器、模擬開關(guān)、D/A轉(zhuǎn)換器等高精度模擬器件的電路板,接地必須嚴(yán)格要求。主要有:所有模擬器件(包括可能的輸入/輸出)的接地端必須單點(diǎn)并聯(lián)接地,各地線應(yīng)盡量放寬,絕對避免串聯(lián)接地形成的環(huán)路。
(2)對于純數(shù)字電路的電路板,各器件可以允許多點(diǎn)接地,但地線應(yīng)盡可能粗,并盡量減少串聯(lián)接地的情況。尤其對于高頻信號器件,電路中應(yīng)采用大面積直接接地,以減少電路間的相互影響。
3.2.2 模擬量輸入信號與屏蔽的接地
(1)如果信號源不接地,差分放大電路端接地,則屏蔽體應(yīng)在放大器端接地,且接地應(yīng)保證從放大器到大地的電阻小于1W。(2)如果信號源端須接地,差分放大器端不接地,則屏蔽體應(yīng)在信號源接地。(3)如果信號源端與差分放大電路端都必須接地,則對信號必須采用變壓器或光電隔離等措施,且屏蔽體在信號源端接地。(4)如果可以選擇在信號源端或放大電路端接地,則可將信號線與屏蔽層在信號源處接地。
4 串行通訊系統(tǒng)軟件的可靠性設(shè)計(jì)
4.1 利用軟件提高系統(tǒng)可靠性
電梯串行通訊系統(tǒng)是由硬件和軟件組成的,因此系統(tǒng)的可靠性也分硬件可靠性和軟件可靠性兩個方面。通過提高元器件的質(zhì)量,采用冗余設(shè)計(jì),進(jìn)行預(yù)防性維護(hù),增設(shè)抗干擾裝置等措施,能夠提高硬件的可靠性。但是,要讓整個系統(tǒng)得到理想的可靠性上述措施還顯不夠,還要利用軟件來進(jìn)一步提高系統(tǒng)的可靠性。利用軟件提高系統(tǒng)可靠性的措施主要有下面幾種。
4.1.1 設(shè)置自檢程序
系統(tǒng)開機(jī)后先對硬件進(jìn)行自檢,如硬件有故障,系統(tǒng)則停止運(yùn)行并報(bào)警。另外,各節(jié)點(diǎn)微處理器內(nèi)部設(shè)置狀態(tài)標(biāo)志,程序運(yùn)行時不斷查詢這些狀態(tài)標(biāo)志,及時發(fā)現(xiàn)并糾正錯誤,以保證系統(tǒng)運(yùn)行的高可靠性。
4.1.2 指令冗余法
微處理器受干擾后,往往會把操作數(shù)當(dāng)操作碼來執(zhí)行,使程序的正確執(zhí)行順序被打亂且亂飛,即程序彈飛。若程序彈飛到某條單字指令上,則可自動納入正軌;當(dāng)程序彈飛到某條雙字節(jié)指令上時,有可能落到其操作數(shù)上,從而繼續(xù)出錯;當(dāng)程序彈飛到3字節(jié)指令上時,因它有2個操作數(shù),出錯的幾率更大。
因此編程時應(yīng)盡量多采用單字節(jié)指令,并在關(guān)鍵的地方人為地插入一些單字節(jié)指令(NOP),或?qū)⒂行巫止?jié)指令重復(fù)書寫,這便是指令冗余。指令冗余無疑會降低微處理器的工作效率,但在絕大多數(shù)情況下,微處理器還不至于忙到不能多執(zhí)行幾條指令的程度。
4.1.3 設(shè)置軟件陷阱
非程序區(qū)設(shè)置一些陷阱程序。正常運(yùn)行時不會進(jìn)入非程序區(qū),當(dāng)程序彈飛時就可能遇到這些陷阱,在陷阱處強(qiáng)令程序進(jìn)入初始狀態(tài),避免出現(xiàn)“死機(jī)”現(xiàn)象。例如對于MC5-51系列單片機(jī),可利用“LJMP #0000H”和“JB bit,aa”指令,在非程序區(qū)反復(fù)用0200000002000000……H填滿。這樣不論程序計(jì)數(shù)器PC失控后指向哪一字節(jié),最后都能讓程序回到復(fù)位狀態(tài)。
4.1.4 看門狗定時復(fù)位技術(shù)(WATCHDOG)
WATCHDOG可這樣設(shè)置:本身獨(dú)立工作,基本不依賴于CPU,CPU在1個固定的時間間隔內(nèi)和該系統(tǒng)打1次交道,以表明系統(tǒng)工作正常并封鎖復(fù)位信號。當(dāng)CPU陷入死循環(huán)后,則因超過規(guī)定的時間間隔而啟動復(fù)位信號使系統(tǒng)復(fù)位。此外,前面介紹的監(jiān)視跟蹤定時器也屬于一種WATCHDOG。
4.1.5 輸入輸出信號的抗干擾技術(shù)
梯串行通訊系統(tǒng)的輸入干擾主要來自于各層呼梯按鈕和轎內(nèi)操縱按鈕,由于干擾信號一般為持續(xù)時間很短的尖脈沖,因此在滿足采樣要求的前提下,將采樣延時一定時間(一般50ms以上),等輸入信號穩(wěn)定后再進(jìn)行取樣并輸入微處理器,即可消除輸入干擾。因?yàn)楦蓴_是隨機(jī)的,所以對于輸出干擾,編程時可以采取重復(fù)輸出的辦法加以克服。即在數(shù)據(jù)或控制信號輸出后,以最短的周期重復(fù)輸出原來的信息,這樣當(dāng)電梯控制系統(tǒng)接受到一個被干擾錯誤信息后,還未來得及作出有效的反應(yīng),錯誤信息就已被糾正。當(dāng)然,如果對電梯控制系統(tǒng)的所有輸出信號都進(jìn)行重復(fù)輸出的話,難免會降低電梯控制系統(tǒng)的效率,但是,對于一些關(guān)鍵的輸出,如起動、開閘、減速、平層、下閘、停車、開關(guān)門等命令,采用重復(fù)輸出將可大大提高電梯控制系統(tǒng)的可靠性和安全性。
4.2 提高軟件的可靠性
利用軟件可提高系統(tǒng)的可靠性,但是由于種種原因,軟件本身也會發(fā)生故障,因此應(yīng)采取措施,提高軟件的可靠性。
4.2.1 程序分段和層次結(jié)構(gòu)
在進(jìn)行程序結(jié)構(gòu)設(shè)計(jì)時,將程序分成若干具有獨(dú)立功能的子程序塊。各子程序可單獨(dú)也可和其它程序一起使用,各子程序之間通過一個固定的通訊區(qū)和一些指定的單元進(jìn)行通訊。每個程序塊能分別進(jìn)行調(diào)整而不影響其它程序塊。這些各自獨(dú)立的程序塊在連接時,盡量減少程序之間的依賴關(guān)系,按層次排列,而各程序塊具有獨(dú)立功能,結(jié)構(gòu)簡單,易于修改和擴(kuò)充,故障少。
例如,對于CANBUS通訊程序,就可分成下面3個模塊進(jìn)行設(shè)計(jì)和調(diào)試。①PCA82C200發(fā)送接收數(shù)據(jù)時能否產(chǎn)生中斷。調(diào)試時通過仿真器讀取PCA82C200中斷寄存器的中斷字即可。②通訊程序能否正常執(zhí)行設(shè)定的命令。這牽涉到設(shè)定命令的具體情況,需分情況作出相應(yīng)的判斷。③通訊程序錯誤處理能力和解決總線沖突能力的測試。這可以通過故意設(shè)置通訊錯誤和頻繁通訊來檢驗(yàn)。
4.2.2 提高程序的可測試性設(shè)計(jì)
軟件故障具有和硬件不同的特點(diǎn),軟件故障往往是在設(shè)計(jì)階段,由人為錯誤或者在運(yùn)行初期輸入程序時的操作錯誤而引起。這種存在程序中的錯誤,必須通過反復(fù)測試才能發(fā)現(xiàn)。因此,必須進(jìn)行提高軟件可測試性設(shè)計(jì),使軟件便于測試。
參考文獻(xiàn)
1 孫培德.串行通訊傳輸線分析及抗干擾方案.中國電梯,1998(11)
2 張彥朝.電梯控制系統(tǒng)中單片機(jī)抗干擾措施.中國電梯,2000(2)
3 何立民.MCS-51 系列單片機(jī)應(yīng)用與系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1995