現(xiàn)代社會(huì)中,電梯已經(jīng)成為不可缺少的運(yùn)輸設(shè)備。電梯的存在使得每幢高層建筑的交通更為便利。電梯控制技術(shù)的發(fā)展主要經(jīng)歷了三個(gè)階段:繼電器控制階段,微機(jī)控制階段,現(xiàn)場(chǎng)總線控制階段。
與其它幾種現(xiàn)場(chǎng)總線比較而言,CAN總線是最易實(shí)現(xiàn),價(jià)格最為低廉的一種,這也是目前CAN總線在眾多領(lǐng)域被廣泛采用的原因。CAN總線協(xié)議是建立在國(guó)際標(biāo)準(zhǔn)組織開放系統(tǒng)互聯(lián)模型基礎(chǔ)上的。作為工業(yè)控制的底層網(wǎng)絡(luò),CAN總線通波特率可高達(dá)1Mbps,最遠(yuǎn)距離可達(dá)l0km;通訊采用短幀結(jié)構(gòu),使得數(shù)據(jù)傳輸?shù)臅r(shí)間短,受干擾的幾率低,并且CAN總線協(xié)議有良好的檢錯(cuò)措施,因此CAN總線通訊的可靠性較高。由于CAN總線的安全性,實(shí)時(shí)性,簡(jiǎn)單易操作性和價(jià)格低廉,使其十分適合在電梯通訊中應(yīng)用。目前電梯井道系統(tǒng)中,主要采用并行通訊,上行、下行電纜比較多,現(xiàn)場(chǎng)安裝調(diào)試比較麻煩。采用CAN總線后,通過(guò)串行通信方式,構(gòu)成控制器局域網(wǎng),僅用四根線,其中兩根為電源線,一根信號(hào)發(fā)送線,一根信號(hào)接收線,實(shí)現(xiàn)呼梯、內(nèi)選及顯示信號(hào)的通信,并為進(jìn)一步實(shí)現(xiàn)多臺(tái)電梯群控、遠(yuǎn)程監(jiān)控、樓宇自動(dòng)化提供便利接口。
1系統(tǒng)組成及硬件設(shè)計(jì)
1.1 系統(tǒng)的總體結(jié)構(gòu)
系統(tǒng)基于CAN總線多主結(jié)構(gòu),以CAN總線控制器82526和總線收發(fā)器PCA82C250為主體組成通信控制模塊,設(shè)計(jì)了主控制器、轎廂控制器、門廳控制器。通過(guò)串行通信方式構(gòu)成控制器局域網(wǎng),實(shí)現(xiàn)呼梯、內(nèi)選及顯示信號(hào)的通信。但是隨著高層建筑的出現(xiàn)和建筑面積的擴(kuò)大,需要并排設(shè)置幾臺(tái)電梯,以完成大樓內(nèi)的垂直運(yùn)輸任務(wù)。為了實(shí)現(xiàn)群控,便存在著電梯相互聯(lián)接的問(wèn)題,這樣就需要有監(jiān)控微機(jī)統(tǒng)一監(jiān)控調(diào)度。這里我們采用485總線實(shí)現(xiàn)單臺(tái)電梯主控制器之間以及與監(jiān)控微機(jī)間的通信。電梯的群控系統(tǒng)結(jié)構(gòu)如圖1所示。
[align=center]
圖1電梯控群控系統(tǒng)結(jié)構(gòu)圖[/align]
1.2 系統(tǒng)硬件設(shè)計(jì)
在單臺(tái)電梯控制系統(tǒng)中,主控制器要完成其它控制器信號(hào)的采集,顯示信號(hào)的輸出,電梯運(yùn)行控制等一系列的功能。而轎廂及門廳控制器只需要將呼叫信號(hào)采集,經(jīng)CAN總線送往主控制器,并接收來(lái)自主控制器的顯示信號(hào)將它輸出即可。因此,轎廂、門廳控制器結(jié)構(gòu)大體與主控制器類似且相對(duì)簡(jiǎn)單。
下面以主控制器(如圖2所示)為例介紹硬件設(shè)計(jì)。電梯主控制器CPU采用了AT89C51單片機(jī)。AT89C51單片機(jī)是與8X51系列單片機(jī)兼容的增強(qiáng)型微控制器,其內(nèi)部集成了4K字節(jié)的Flashrom。由于主控制器是電梯控制系統(tǒng)的核心,擔(dān)負(fù)著控制電梯運(yùn)行的重要任務(wù),所編出的程序較大,因此,它的外部還要擴(kuò)展外部程序數(shù)據(jù)存儲(chǔ)器,按常規(guī)采用2764和6264。
在單臺(tái)電梯控制系統(tǒng)中,主控制器與轎廂及門廳控制器之間采用CAN總線實(shí)現(xiàn)通訊。CAN總線控制器采用INTEL公司82526芯片。PCA82C250作為CAN總線的接口。82526內(nèi)部采用硬件實(shí)現(xiàn)了數(shù)據(jù)鏈路層的全部功能,因而這部分的程序只需將82526中的數(shù)據(jù)讀出和將數(shù)據(jù)寫入82526。圖3為CPU與CAN、485接口電路部分的外圍電路接線原理圖。
[align=center]
圖3通訊接口電路原理圖[/align]
在主控制器中,因?yàn)樾枰斎氲狞c(diǎn)數(shù)較多,這里我們采用常用的8255作為輸入輸出接口芯片??紤]到實(shí)際調(diào)試、修改程序的方便,主控制器中設(shè)計(jì)了鍵盤顯示電路,這一部分電路的核心采用專供鍵盤及顯示器接口用的可編程接口芯片8279,以掃描方式工作。掃瞄線SL0~SL2經(jīng)過(guò)3-8譯碼器產(chǎn)生8路掃描信號(hào)。另外為了解決外部的干擾引起的問(wèn)題,在主控制器中要加入Watchdog電路,保證系統(tǒng)發(fā)生故障時(shí)能及時(shí)讓系統(tǒng)回到正常工作狀態(tài)。
2通訊協(xié)議
本系統(tǒng)采用CAN2.0A標(biāo)準(zhǔn),該協(xié)議最大的優(yōu)點(diǎn)是廢除了傳統(tǒng)的站地址編碼,因此CAN沒(méi)有節(jié)點(diǎn)地址的概念,代之以對(duì)通訊數(shù)據(jù)塊進(jìn)行編碼,支持以數(shù)據(jù)為中心的通信模式。當(dāng)電梯層站數(shù)不同時(shí),只需要在總線上進(jìn)行增減控制器的節(jié)點(diǎn)數(shù),并對(duì)相應(yīng)的數(shù)據(jù)幀進(jìn)行適當(dāng)?shù)男薷摹?
2.1 數(shù)據(jù)幀
數(shù)據(jù)幀(如圖4所示)包括七個(gè)部分:幀起始,仲裁場(chǎng),控制場(chǎng),數(shù)據(jù)場(chǎng),CRC序列,ACK場(chǎng),幀結(jié)束。仲裁場(chǎng)包括有報(bào)文標(biāo)識(shí)符(11位)和遠(yuǎn)程發(fā)送申請(qǐng)位(RTR);控制場(chǎng)由六位組成,后四位為數(shù)據(jù)長(zhǎng)度碼,代表數(shù)據(jù)字節(jié)數(shù),這里設(shè)為2;傳輸信號(hào)每幀數(shù)據(jù)含兩個(gè)字節(jié),高字節(jié)表示具體層樓數(shù),低字節(jié)設(shè)為控制字。
[align=center]
圖4數(shù)據(jù)幀組成[/align]
2.2 仲裁
總線空閑時(shí),任意節(jié)點(diǎn)都可以發(fā)送數(shù)據(jù),其它節(jié)點(diǎn)都可以接收數(shù)據(jù),只需要通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn),一點(diǎn)對(duì)多點(diǎn)及全局廣播等通訊方式,無(wú)需專門調(diào)度。這里用接收碼寄存器,接收碼屏蔽寄存器實(shí)現(xiàn)報(bào)文濾波。
當(dāng)多個(gè)總線控制器同時(shí)發(fā)送報(bào)文時(shí),為避免沖突需進(jìn)行仲裁,這里采用非破壞性仲裁的方法解決沖突。所謂非破壞性是指這種仲裁方式可以使信息和時(shí)間都沒(méi)有損失,它是借助逐位仲裁幀中的ID號(hào)碼來(lái)實(shí)現(xiàn)的。CAN數(shù)據(jù)幀如前所述仲裁場(chǎng)ID號(hào)碼唯一的標(biāo)識(shí)一個(gè)節(jié)點(diǎn)地址,RTR位為0表示該幀為數(shù)據(jù)幀,為1時(shí)表示遠(yuǎn)程幀,而后者優(yōu)先權(quán)要高于前者。這12位ID號(hào)代表報(bào)文的優(yōu)先權(quán)高低,數(shù)越小優(yōu)先權(quán)越高。
非破壞性仲裁的過(guò)程可以用一個(gè)例子來(lái)說(shuō)明,如圖5,某時(shí)刻網(wǎng)絡(luò)上有三個(gè)節(jié)點(diǎn)a、b、c同時(shí)發(fā)送信息,ID標(biāo)識(shí)符的發(fā)送順序?yàn)閺母呶坏降臀?,即由ID.0到ID.11,每發(fā)送1字符網(wǎng)絡(luò)做一次與運(yùn)算。比如ID.6發(fā)送后,網(wǎng)絡(luò)做運(yùn)算:0∩1∩0=0,則網(wǎng)絡(luò)上各節(jié)點(diǎn)收到的信息為0。ID.6為1的字節(jié)發(fā)現(xiàn)接收到的與發(fā)送的不同,停止發(fā)送。這樣就使優(yōu)先級(jí)低(ID大)的節(jié)點(diǎn)退出發(fā)送。如此比較下去,直到全部ID及RTR發(fā)送完畢,網(wǎng)絡(luò)上僅剩節(jié)點(diǎn)c繼續(xù)發(fā)送信息,并且無(wú)需重發(fā)。
3程序設(shè)計(jì)
[align=center]
圖5 CAN的沖突仲裁過(guò)程[/align]
主控制器程序流程圖如圖6所示。根據(jù)電梯實(shí)際運(yùn)行的要求,主控制器須通過(guò)與轎廂及門廳控制期間的通訊,來(lái)實(shí)現(xiàn)對(duì)轎廂和門廳呼梯信號(hào)的采集,完成對(duì)電梯運(yùn)行方向、當(dāng)前層樓數(shù)的判斷、顯示和中途停車等的控制。同時(shí)電梯在運(yùn)行過(guò)程中,主控制器還要對(duì)井道中各種開關(guān)量限位信號(hào)進(jìn)行采集分析,以實(shí)現(xiàn)對(duì)電梯的準(zhǔn)確控制。在系統(tǒng)調(diào)試時(shí),主控制器還應(yīng)能與PC機(jī)實(shí)現(xiàn)通訊以方便系統(tǒng)的實(shí)時(shí)控制。因此,主控制器的程序設(shè)計(jì)應(yīng)當(dāng)充分考慮到上述功能的有機(jī)結(jié)合。
[align=center]
圖6主控制器程序流程圖[/align]
轎廂、門廳控制器的程序流程框圖如圖7所示。它們所要完成的功能比較簡(jiǎn)單即采集呼梯信號(hào)發(fā)送到主控制器,接收來(lái)自主控制器的顯示信號(hào)并將它們輸出。
[align=center]
圖7轎廂、門廳控制器程序流程框圖[/align]
停車控制子程序主要負(fù)責(zé)電梯停車及轎廂開關(guān)門控制。首先,程序輸出停車控制字。然后,使電梯開門。接著判斷光幕信號(hào)是否被截?cái)?。若是,則等待,沒(méi)有被截?cái)嗟脑挘倥袛啻藭r(shí)電梯是否超重,若超重則報(bào)警等待,沒(méi)有則繼續(xù)判斷是否有關(guān)門信號(hào),有則電梯關(guān)門。沒(méi)有則延時(shí)一段時(shí)間后,自動(dòng)關(guān)門,返回主程序。程序流程框圖如圖8所示。
[align=center]
圖8停車子程序流程框圖[/align]
4結(jié)束語(yǔ)
基于CAN總線技術(shù),以AT89C51為核心,采用82526結(jié)合PCA820250芯片構(gòu)成的電梯監(jiān)控系統(tǒng)在實(shí)際應(yīng)用中,主控制器通過(guò)CAN總線收發(fā)器借助CAN總線完成與其他主控制器的數(shù)據(jù)通訊。經(jīng)在兩臺(tái)8層電梯上實(shí)地使用,與代用PLC控制系統(tǒng)相比,故障停梯時(shí)間大大縮短,可靠性明顯提高,調(diào)試和增減內(nèi)容均比較方便,達(dá)到了預(yù)期效果。
參考文獻(xiàn):
[1]鄔寬明編著,CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì),北京,北京航空航天大學(xué)出版社,1996.
[2]李恩林,陳斌生主編.微機(jī)接口技術(shù)300例,北京,機(jī)械工業(yè)出版社,2003.