覃 琴 莊曉平
(三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院,湖北 宜昌 443002)
FPGA[1-3](現(xiàn)場可編程門陣列)是一種可由用戶自定義并進(jìn)行配置的高密度專用集成電路.具有陣列型PLD器件的優(yōu)點(diǎn),同時(shí)其結(jié)構(gòu)又類似掩??删幊涕T陣列,因此具有更高的集成度和更強(qiáng)大的邏輯實(shí)現(xiàn)能力,使得設(shè)計(jì)更加靈活和容易實(shí)現(xiàn),可大大縮短設(shè)計(jì)周期,減少設(shè)計(jì)成本.
電梯控制可采用FPGA/CPLD控制方式、繼電器-接觸器控制方式、單片機(jī)控制方式、微機(jī)控制方式、PLC控制方式等.由于基于FPGA的電梯控制系統(tǒng)具有可靠性高、維護(hù)方便、開發(fā)周期短,靈活性強(qiáng)的優(yōu)點(diǎn),可以完成更為復(fù)雜的控制任務(wù),已成為電梯控制的發(fā)展方向.
(1)每層電梯入口處設(shè)有上下召喚按鈕各1個(gè),電梯內(nèi)設(shè)有乘客到達(dá)樓層的數(shù)字按鈕.電梯當(dāng)前所在樓層用一位數(shù)碼管顯示,用兩只發(fā)光二極管顯示電梯上行和下行狀態(tài).
(2)電梯到達(dá)有??空埱蟮臉菍雍螅瑫詣悠綄油\?,打開電梯門,開門4s后,電梯門自動關(guān)閉,電梯繼續(xù)運(yùn)行.
(3)能記憶并指示電梯內(nèi)外的所有請求信號,并按照電梯運(yùn)行的規(guī)則依次響應(yīng).
(4)當(dāng)沒有請求信號時(shí),電梯停在當(dāng)前樓層,處于等待狀態(tài).
(5)電梯能進(jìn)行故障提示.
本文設(shè)計(jì)的電梯控制器,其基本要求即滿足實(shí)際運(yùn)行電梯的要求.
本設(shè)計(jì)采用方向優(yōu)先控制方式[4],方向優(yōu)先控制是指電梯運(yùn)行到某一樓層時(shí)先考慮該樓層是否有請求:有,則停止;無,則繼續(xù)前進(jìn).停止后再啟動的步驟:考慮前方即上方或下方是否有請求:有,則前進(jìn);無,則停止;檢測后方是否有請求:有請求則轉(zhuǎn)向運(yùn)行,無請求則維持停止?fàn)顟B(tài).
系統(tǒng)控制核心采用Altera公司CycloneⅡ系列的 EP2C35F484C8 芯 片[5],系 統(tǒng) 時(shí) 鐘 為 50MHz,EDA軟件為QuartusⅡ.電梯控制器的設(shè)計(jì)采用模塊化多進(jìn)程的控制原理來實(shí)現(xiàn),程序分為7個(gè)模塊:層樓信號處理(cl),指令、召喚處理(zzc),選向功能(xx),選層功能(xc),運(yùn)行控制(yk),開關(guān)門功能(kgm),故障處理及數(shù)碼管顯示(gzc).7個(gè)模塊設(shè)計(jì)完成后再進(jìn)行組合,形成最終設(shè)計(jì).
針對任意層數(shù)的控制器算法是保證電梯控制器的實(shí)用性和適用性的關(guān)鍵.因此本文的設(shè)計(jì)思想適合任意層數(shù)的電梯控制器設(shè)計(jì).首先采用模塊化多進(jìn)程的控制原理實(shí)現(xiàn)電梯控制器的模塊設(shè)計(jì),然后根據(jù)原理圖設(shè)計(jì)方式進(jìn)行各模塊的組合.本文以6層6站電梯控制器為例,6層或多層電梯控制器只是Verilog代碼數(shù)量的不同,其設(shè)計(jì)方案相同[6].電梯控制器的結(jié)構(gòu)及各模塊之間的連接關(guān)系如圖1所示.
圖1 電梯控制器的結(jié)構(gòu)圖
層樓信號的作用有兩個(gè):一是指示樓層,使人們看到轎廂所在的層站;二是參與定向與選層,是電梯判斷運(yùn)行方向和停靠位置的主要因素之一.設(shè)計(jì)中,在轎頂安裝兩個(gè)感應(yīng)器,在井道內(nèi)每層(上下端站除外)上、下方向減速點(diǎn)位置安裝隔磁板(遮光板),在上、下端站減速點(diǎn)位置另外裝感應(yīng)器.在取得減速點(diǎn)信號的同時(shí)獲得層樓信號,可大量減少井道內(nèi)的感應(yīng)器數(shù)量.實(shí)現(xiàn)思想是用一個(gè)存儲單元來存儲層樓信號,當(dāng)電梯上升一層存儲單元加“1”;當(dāng)電梯下降一層存儲單元減“1”;當(dāng)電梯運(yùn)行至頂站(6樓)時(shí),上強(qiáng)迫減速感應(yīng)器動作,存儲單元被置為6,實(shí)現(xiàn)上端站強(qiáng)迫校準(zhǔn);當(dāng)電梯運(yùn)行至基站(1樓)時(shí),下強(qiáng)迫減速感應(yīng)器動作,存儲單元被置為1,實(shí)現(xiàn)下端站強(qiáng)迫校準(zhǔn),因此當(dāng)電梯層樓信號有誤時(shí),只需將電梯開到頂站或基站即可進(jìn)行校準(zhǔn).
對于每一個(gè)指令和召喚按鈕都有相應(yīng)的存儲單元進(jìn)行記憶.而在實(shí)現(xiàn)轎內(nèi)指令和廳外召喚的記憶和消除功能時(shí)必須注意其記憶和消除條件.當(dāng)按下一個(gè)指令按鈕或召喚按鈕,且電梯不在該樓層時(shí),對應(yīng)的存儲單元被賦值“1”,且輸出該信號,供其它模塊使用及點(diǎn)亮相應(yīng)的按鈕指示燈.當(dāng)電梯正常到達(dá)該樓層時(shí),如果滿足該指令或召喚信號的停車條件時(shí),電梯在該層停車,且消除對應(yīng)的指令或召喚信號(對應(yīng)的存儲單元被賦值“0”).
電梯在靜止?fàn)顟B(tài)時(shí)才會進(jìn)行選向.首先出現(xiàn)且具備參與選向資格的指令或召喚信號,被稱為有效選向信號.選向的控制原則是:有效的選向信號(指令、召喚)與電梯的實(shí)際位置相比較,有效的選向信號(指令或召喚)在電梯所處樓層之上,則選擇上方向運(yùn)行,反之則選擇下方向運(yùn)行.方向信號通過兩位輸出(上方向和下方向)給變頻器和運(yùn)行方向指示燈,以及其它需要用到方向信號的模塊.當(dāng)電梯運(yùn)行至選定樓層,且到達(dá)平層位置時(shí),選向模塊應(yīng)使輸出方向斷開,即上方向和下方向都輸出“0”,電梯停車制動.
當(dāng)電梯處于檢修或故障狀態(tài)時(shí),指令和召喚信號都無效,如果按慢上行(或慢下行)按鈕,電梯以電動方式上(下)運(yùn)行.
在電梯運(yùn)行過程中,電梯該在第幾層停車,什么位置開始減速,什么位置停車,關(guān)鍵在于對選層模塊的處理.當(dāng)電梯運(yùn)行至某層時(shí),若該層存在滿足下列條件之一的指令信號,則滿足電梯在該層停車的條件,選層模塊輸出減速停車信號.(1)電梯運(yùn)行方向向上而且該層存在上召喚信號;(2)電梯運(yùn)行方向向下而且該層存在下召喚信號;(3)電梯運(yùn)行方向向上,而該層存在下召喚信號,且在當(dāng)前樓層之上無指令或召喚信號;(4)電梯運(yùn)行方向向下,而該層存在上召喚信號,且在當(dāng)前樓層之下無指令或召喚信號.
為保證電梯安全運(yùn)行,當(dāng)電梯到達(dá)兩端站時(shí)不論有無指令和召喚,電梯必須執(zhí)行減速停車動作.另外,電梯運(yùn)行時(shí)如果無運(yùn)行方向,電梯必須就近停車.
電梯運(yùn)行控制是電梯控制的核心.電梯運(yùn)行控制決定電梯何時(shí)啟動、如何加速、何時(shí)減速、如何減速及何時(shí)平層停車.
由于拖動形式的不同,運(yùn)行控制實(shí)現(xiàn)的方法也不同,本設(shè)計(jì)中使用的是交流調(diào)頻調(diào)壓調(diào)速方式.電梯的運(yùn)行方向是由選向模塊輸出給變頻器;電梯的啟動信號由運(yùn)行控制模塊輸出給變頻器;電梯的選層(減速)信號由選層模塊輸出給變頻器,用于電梯減速到停車之用;電梯到達(dá)目標(biāo)樓層的平層位置時(shí),運(yùn)行控制模塊輸出停車制動信號給變頻器;如果電梯是檢修運(yùn)行時(shí),則控制器輸出檢修狀態(tài)信號給變頻器執(zhí)行慢速運(yùn)行.電梯啟動加速正常運(yùn)行、減速平層停車、檢修運(yùn)行的速度曲線均由變頻器數(shù)據(jù)設(shè)定完成.變頻器輸入信號端子的意義也由變頻器參數(shù)設(shè)定.控制器只需給變頻器相應(yīng)的控制信號即可完成各種相應(yīng)的動作.
電梯的開關(guān)門由控制器輸出開門或關(guān)門信號給門機(jī)實(shí)現(xiàn),分為開門和關(guān)門兩個(gè)環(huán)節(jié).
開門環(huán)節(jié)包括6種情況:(1)電梯自動運(yùn)行停車時(shí)的開門;(2)呼梯開門;(3)電梯關(guān)門過程中重新開門;(4)防夾或超載開門;(5)電梯在檢修時(shí)的開門;(6)電梯在運(yùn)行中禁止開門.
關(guān)門環(huán)節(jié)包括4種情況:(1)自動關(guān)門;(2)提前關(guān)門;(3)檢修關(guān)門;(4)電梯超重時(shí)禁止關(guān)門.
在VHDL程序設(shè)計(jì)中,如電梯工作于檢修狀態(tài)時(shí),開門由開門按鈕實(shí)現(xiàn)(km='1');電梯自動運(yùn)行時(shí),開門可由不同的激勵信號激勵(km='1'or tk='1'or fjin='1'or cz-in='1'or zk1='1'or zk2='1'or zk3='1'or zk4='1'or zk5='1'or zk6='1'),它們分別對應(yīng)于上述不同的開門情況,而每個(gè)激勵信號都有相應(yīng)的產(chǎn)生進(jìn)程.
當(dāng)電梯出現(xiàn)安全條件故障時(shí),數(shù)碼管交替顯示0、1;當(dāng)變頻器出現(xiàn)故障時(shí),數(shù)碼管交替顯示0、2;當(dāng)出現(xiàn)門過長時(shí)間未關(guān)或出現(xiàn)關(guān)門或開門無法到位時(shí),數(shù)碼管交替顯示0、3;當(dāng)電梯出現(xiàn)超重現(xiàn)象時(shí),數(shù)碼管交替顯示0、4;當(dāng)同時(shí)出現(xiàn)兩個(gè)或兩個(gè)以上故障時(shí),數(shù)碼管交替顯示0、5;當(dāng)以上情況均未出現(xiàn)時(shí),電梯處于正常運(yùn)行狀態(tài),則顯示當(dāng)前位置(層樓)信息.層樓信號處理模塊輸出的層樓信號或故障顯示信號需要再經(jīng)過譯碼,才能輸出給數(shù)碼管顯示.
頂層設(shè)計(jì)實(shí)體如圖2所示,圖中包含了上述7個(gè)模塊之間的連接及輸入輸出端口.
圖2 電梯頂層設(shè)計(jì)實(shí)體圖
電梯控制器的主要仿真結(jié)果如下:如圖3所示,電梯處于1樓,1樓有乘客按上召喚按鈕,電梯自動開門,乘客進(jìn)入轎廂按下了4樓的轎內(nèi)按鈕,過了4s后電梯自動關(guān)門,電梯啟動,在電梯到達(dá)2樓之前,又有乘客分別按下了2樓下召喚按鈕和3樓上召喚按鈕,而當(dāng)電梯運(yùn)行至2樓時(shí)因?yàn)檫\(yùn)行方向與召喚信號不一致,電梯不會停站,而當(dāng)電梯到達(dá)3樓時(shí),運(yùn)行方向與召喚信號一致,電梯停站(順向截梯),停站時(shí)間到后繼續(xù)向上,然后到達(dá)4樓,在4樓停站.
圖3 電梯運(yùn)行仿真圖
圖4仿真電梯在不同時(shí)間出現(xiàn)故障的情況.0.5s到3.5s,電梯安全窗未關(guān)上(aqc-in為高電平),出現(xiàn)安全故障,smg-gzc交替輸出'@'和'g',即數(shù)碼管交替顯示0和1;4.5s到7.5s,變頻器出現(xiàn)故障(bg-in為高電平),smg-gzc交替輸出'@'和'm',即數(shù)碼管交替顯示0和2;在8.5s的時(shí)候有人按下1樓上召喚按鈕(sza1-in出現(xiàn)脈沖),電梯開門(km-kgm 有效為高電平),km-kgm有效10s后,電梯仍未開門到位(kd-in無效為低電平),出現(xiàn)門故障,smg-gzc交替輸出'@'和'3',即數(shù)碼管交替顯示0和3;24.5s到28s,電梯出現(xiàn)超重現(xiàn)象,smg-gzc交替輸出'@'和'%',即數(shù)碼管交替顯示0和4;21.5s到24.5s,電梯既有門故障又有超重現(xiàn)象,smg-gzc交替輸出'@'和'9',即數(shù)碼管交替顯示0和5.
圖4 電梯故障仿真圖
本文實(shí)現(xiàn)了基于FPGA的6層6站電梯控制器設(shè)計(jì),能夠完成如檢修/自動運(yùn)行、開關(guān)門、順向截梯、最遠(yuǎn)端反向截梯、指令和召喚處理、故障處理等電梯的所有功能.采用模塊化多進(jìn)程的控制原理實(shí)現(xiàn)電梯控制器的模塊設(shè)計(jì),然后根據(jù)原理圖設(shè)計(jì)方式進(jìn)行各模塊的組合.仿真結(jié)果表明系統(tǒng)達(dá)到設(shè)計(jì)要求,能實(shí)現(xiàn)電梯控制器的各項(xiàng)功能,具有較強(qiáng)的靈活性、抗干擾性和良好的擴(kuò)展性.
[1]劉巖飛.基于Altera FPGA/CPLD的電子系統(tǒng)設(shè)計(jì)與工程實(shí)踐[M].北京:人民郵電出版社,2009.
[2]劉福奇.FPGA嵌入式項(xiàng)目開發(fā)實(shí)踐[M].北京:電子工業(yè)出版社,2009.
[3]王文濤,王 建,朱順安.基于FPGA的女書文字切割技術(shù)的設(shè)計(jì)與應(yīng)用[J].中南民族大學(xué)學(xué)報(bào):自然科學(xué)版,2011,30(1):96-100.
[4]高迎慧,侯忠霞,楊成林.基于FPGA的自動升降電梯控制器設(shè)計(jì)[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào),2007,25(4):242-244.
[5]陳兆芳.基于FPGA的電梯控制系統(tǒng)[J].福建電腦報(bào),2010(7):164.
[6]賀敬凱,王瑞春,萬學(xué)元,等.基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)[J].深圳信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010,8(6):57-60.