基于FSM的電梯控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
1 引言
Max+PlusⅡ是Altera公司提供的FPGA/CPLD開(kāi)發(fā)集成環(huán)境,它可獨(dú)立完成簡(jiǎn)單VHDL程序的編譯。然而控制工程網(wǎng)版權(quán)所有,自動(dòng)電梯控制程序是一個(gè)復(fù)雜的狀態(tài)機(jī)描述,Max+PlusⅡ無(wú)法獨(dú)立完成該程序的綜合編譯。Synplify Pro是 Synplicity 公司針對(duì)復(fù)雜可編程邏輯設(shè)計(jì)的 FPGA 綜合工具,它帶來(lái)了無(wú)與倫比的電路性能和最有效的可編程設(shè)計(jì)的資源利用率,所獨(dú)有的對(duì)電路的調(diào)試與優(yōu)化功能和極快的運(yùn)算速度使之成為了業(yè)界倍受歡迎的的綜合工具。Synplify pro所特有的FSM綜合器可以自動(dòng)識(shí)別有限狀態(tài)機(jī)并根據(jù)約束條件選擇最佳的編碼方式。通過(guò)Max+PlusⅡ中的接口,把Synplify pro 用于對(duì)電梯控制程序的綜合與優(yōu)化,可大大提高設(shè)計(jì)效率,仿真和實(shí)驗(yàn)結(jié)果證實(shí)了該方法的有效性。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)的整體設(shè)計(jì)
在電梯控制系統(tǒng)的設(shè)計(jì)中www.cechina.cn,核心是電梯運(yùn)行的狀態(tài)控制器的設(shè)計(jì)。為突出狀態(tài)之間的轉(zhuǎn)換關(guān)系,令電梯以同一速率升降。主要需要考慮:(1)電梯的人工手動(dòng)控制;(2)電梯的運(yùn)行狀態(tài)顯示;(3)電梯的安全性控制;(4)電梯的策略控制設(shè)計(jì)。
電梯狀態(tài)控制器部分用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)?;灸P腿缦拢海?) 每一層電梯的入口處設(shè)有上下請(qǐng)求開(kāi)關(guān),電梯內(nèi)設(shè)有顧客到達(dá)層次的停站請(qǐng)求開(kāi)關(guān);(2)設(shè)有電梯所處位置指示裝置以及電梯運(yùn)行模式(上升或下降)指示裝置;(3)電梯初始狀態(tài)為第一層開(kāi)門,電梯每一秒升(降)一層樓;(4)設(shè)計(jì)一個(gè)異步的置位端口控制工程網(wǎng)版權(quán)所有,用于在系統(tǒng)不正常的時(shí)候回到初始狀態(tài);(5)電梯到達(dá)有停站請(qǐng)求樓層,經(jīng)過(guò)1 秒電梯門打開(kāi),開(kāi)門4 秒后,電梯門關(guān)閉(開(kāi)門指示燈熄滅),電梯繼續(xù)運(yùn)行,直至執(zhí)行完最后一個(gè)請(qǐng)求信號(hào)后停留在當(dāng)前樓層;(6)能記憶電梯內(nèi)外的所有請(qǐng)求信號(hào),并按照電梯運(yùn)行規(guī)則按順序響應(yīng),每個(gè)請(qǐng)求信號(hào)保留至執(zhí)行完后消除;(7)電梯運(yùn)行規(guī)則:當(dāng)電梯處于上升模式時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng)求信號(hào),由下而上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢;如果高層有下樓請(qǐng)求www.cechina.cn,則直接升至有下樓請(qǐng)求的最高樓層,然后進(jìn)入下降模式。當(dāng)電梯處于下降模式的時(shí)候與上升模式相反。
整個(gè)電梯控制系統(tǒng)將由一片CPLD來(lái)實(shí)現(xiàn)。外圍的電路主要包括:分頻器,七段數(shù)碼顯示模塊、發(fā)光二極管顯示模塊,以及按鍵開(kāi)關(guān)模塊。
各模塊的功能:電梯狀態(tài)控制模塊,是整個(gè)系統(tǒng)設(shè)計(jì)的核心,完成電梯的狀態(tài)控制;顯示模塊,主要是將系統(tǒng)信息顯示出來(lái),判斷電梯運(yùn)行是否正常;分頻器模塊,由4MHZ的原始頻率分頻得到系統(tǒng)所需要的頻率;按鍵開(kāi)關(guān)模塊,消除由于機(jī)械按鍵輸入的誤操作和防抖動(dòng)。
圖1 電梯的結(jié)構(gòu)圖
2.2 電梯狀態(tài)控制器的設(shè)計(jì)
2.2.1 設(shè)計(jì)思路
(1)電梯輸入輸出端口設(shè)計(jì)。輸入端口包括:一個(gè)異步的置位端口,用于在系統(tǒng)不正常的時(shí)候回到初始狀態(tài);在電梯外部的升降的請(qǐng)求端口,一層不需要有下降請(qǐng)求,最高層不需要上升請(qǐng)求,中間層上升、下降請(qǐng)求端口都應(yīng)具備;在電梯內(nèi)部的各層停留的請(qǐng)求端口;一個(gè)用于驅(qū)動(dòng)電梯的上升下降以及開(kāi)門關(guān)門等動(dòng)作時(shí)鐘輸入端口以及一個(gè)時(shí)鐘頻率比電梯高得多的按鍵時(shí)鐘輸入端口。而響應(yīng)的輸出端口包括:升降請(qǐng)求信號(hào)響應(yīng)端口,有請(qǐng)求信號(hào)以后,該輸出端口的輸出邏輯“1”,被響應(yīng)后則恢復(fù)到邏輯“0”;電梯內(nèi)部的各層停留響應(yīng)端口;在電梯外部指示電梯的位置端口;電梯開(kāi)門關(guān)門的狀態(tài)指示端口以及電梯升降指示端口。
?。?)電梯控制器的實(shí)現(xiàn)通過(guò)狀態(tài)機(jī)實(shí)現(xiàn),將電梯等待的每秒鐘以及開(kāi)門關(guān)門都看成一個(gè)獨(dú)立的狀態(tài)。由于電梯每一秒升(降)一層,所以就可以通過(guò)一個(gè)統(tǒng)一的1 秒為周期的時(shí)鐘來(lái)觸發(fā)狀態(tài)機(jī)。由此,狀態(tài)機(jī)設(shè)置了10 個(gè)狀態(tài),分別是“stopon1(電梯停留在1 層)”、“dooropen(開(kāi)門)”、 “doorclose(關(guān)門)”、“doorwait1(開(kāi)門等待第1 秒)”、“doorwait2(開(kāi)門等待第2 秒)”、“doorwait3(開(kāi)門等待第3 秒)”、“doorwait3(開(kāi)門等待第4 秒)”、“up(上升)”、“down(下降)”和“stop(停止)”狀態(tài)。每個(gè)狀態(tài)之間的轉(zhuǎn)換條件由設(shè)計(jì)要求決定。
評(píng)論