電梯控制器_Verilog語言_第1頁
電梯控制器_Verilog語言_第2頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實用標(biāo)準(zhǔn)文案文檔大全數(shù)字系統(tǒng)設(shè)計大作業(yè)題目:電梯控制器姓名:溫慶學(xué)號:031241214班級:0312412指導(dǎo)老師:黃雙林實用標(biāo)準(zhǔn)文案文檔大全目錄摘要.3正文.41設(shè)計目的及要求.42設(shè)計原理.42.1設(shè)計實現(xiàn)原理.42.2項目分塊及其實現(xiàn)方案 .62.3電梯控制器的流程圖.73設(shè)計內(nèi)容.83.1基本狀態(tài)設(shè)計.83.2模塊設(shè)計.93.3波形仿真.10總結(jié)與致謝.14參考文獻.15附錄.16實用標(biāo)準(zhǔn)文案文檔大全摘要電梯作為垂直方向的交通工具,在高層建筑和公共場所已成為不可或缺的設(shè) 備。中國是全球最大的電梯市場,也具有最強的電梯生產(chǎn)能力,但由于缺乏自主 知識產(chǎn)權(quán)和核心技術(shù),自主品牌占市場的份額很

2、少。因此要加大對電梯技術(shù)的創(chuàng) 新和發(fā)展,提升電梯的性能,就需要引進更好的技術(shù),電梯控制器就是很好的裝 置,大力開發(fā)控制器是很必要的。電梯的微機化控制主要有以下幾種形式:PLC控制;單片機控制;單板機控 制;單微機控制;多微機控制;人工智能控制。本次課程設(shè)計采用了EDA技術(shù)進行操作EDA技術(shù)打破了軟件和硬件間的壁壘,使計算機的軟件技術(shù)與硬件實 現(xiàn)、設(shè)計效率與產(chǎn)品性能合二為一,它代表了電子設(shè)計技術(shù)和應(yīng)用技術(shù)的發(fā)展方 向。本設(shè)計采用Verilog HDL語言的編程技術(shù),源程序Altera公司的Quartus II軟件仿真。關(guān)鍵字:EDA技術(shù);Verilog HDL語言;Quartus II軟件實用標(biāo)

3、準(zhǔn)文案文檔大全正文1 設(shè)計目的及要求1、 進一步鞏固理論知識,培養(yǎng)所學(xué)理論知識的在實際中的應(yīng)用能力;掌握EDA設(shè)計的一般方法;熟悉一種EDA軟件,掌握一般EDA系統(tǒng)的調(diào)試方法;利用EDA軟件設(shè)計一個電子技術(shù)綜合問題,培養(yǎng)Verilog HDL編程、書寫技術(shù)報告的 能力。為以后進行工程實際問題的研究打下設(shè)計基礎(chǔ)。2、 設(shè)計一個6層電梯控制器電路,用數(shù)碼管顯示電梯所在樓層號,電梯初 始狀態(tài)為第一樓層;每樓層電梯外都有上、下樓請求開關(guān),電梯內(nèi)設(shè)有乘客到達 樓層的請求開關(guān)、電梯所處樓層、上升模式及下降模式的指示;電梯每2秒升降 一層,到達有停站請求的樓層后,經(jīng)4秒電梯門打開,開門指示燈亮,開門4秒后,

4、指示燈滅,關(guān)門,關(guān)門時間3秒,電梯繼續(xù)運行??梢酝ㄟ^快速關(guān)門和關(guān) 門中斷信號控制;能記憶電梯內(nèi)外的請求信號,當(dāng)電梯處于上升模式時,只響應(yīng) 比電梯所在位置高的樓請求信號,直到最后一個上樓請求執(zhí)行完畢,再進入下降 模式。2 設(shè)計原理2.1 設(shè)計實現(xiàn)原理根據(jù)系統(tǒng)設(shè)計要求,并考慮到系統(tǒng)的可檢驗性,整個系統(tǒng)的輸入輸出接口設(shè) 計如圖1所示:系統(tǒng)工作用2Hz基準(zhǔn)時鐘信號CLKIN,樓層上升請求鍵UPIN,樓層 下降請求鍵DOWN IN樓層選擇鍵入鍵ST_CH提前關(guān)門輸入鍵CLOSE延遲關(guān)門輸 入鍵DELA丫電梯運行的開關(guān)鍵RUN_STOP電梯運行或停止指示鍵LAMP電梯運 行或等待時間指示鍵RUN_WAIT

5、電梯所在樓層指示數(shù)碼管ST_OUT樓層選擇指示 數(shù)碼管DIRECT實用標(biāo)準(zhǔn)文案文檔大全DTKZQ圖 1. 電梯控制器 DTKZQ 的輸入輸出接口圖各輸入端口的功能如下:CLKIN:基準(zhǔn)時鐘信號,為系統(tǒng)提供2Hz的時鐘脈沖,上升沿有效;UPIN:電梯上升請求鍵。由用戶向電梯控制器發(fā)出上升請求。高電平有效;DOWNIN:電梯下降請求鍵,由用戶向電梯控制器發(fā)出下降請求。高電平有效;ST_CH2.O:樓層選擇鍵入鍵,結(jié)合DIRECT完成樓層選擇的鍵入,高電平有效;CLOSE:提前關(guān)門輸入鍵。可實現(xiàn)無等待時間的提前關(guān)門操作,高電平有效;DELAY:延遲關(guān)門輸入鍵??蓪崿F(xiàn)有等待時間的延遲關(guān)門操作,高電平有

6、效;RUN_STOP :電梯運行或停止開關(guān)鍵。可實現(xiàn)由管理員控制電梯的運行或停止, 咼電平有效。一下為輸出端口:LAMP:電梯運行或等待指示鍵,指示電梯的運行或等待狀況。高電平有效;RUN_WAIT:電梯運行或等待時間指示鍵,指示電梯運行狀況或等待時間的長短, 高電平有效;ST_OUT:電梯所在樓層指示數(shù)碼管,只是電梯當(dāng)前所在的樓層數(shù)。即16層,高 電平有效;DIRECT:樓層選擇指示數(shù)碼管,指示用戶所要選擇的樓層數(shù),高電平有效。CLKINUPINDOWNINST_CH1CLOSEDELAYRUN_STOPLAMPRU_WAITST_OUTDIRECT實用標(biāo)準(zhǔn)文案文檔大全2.2 項目分塊及其實

7、現(xiàn)方案電梯的控制狀態(tài)包括運行狀態(tài)、停止?fàn)顟B(tài)及等待狀態(tài), 其中運行狀態(tài)又包含 向上狀態(tài)和向下狀態(tài)。主要動作有開、關(guān)門,乘客可通過鍵入開、關(guān)門按鍵,呼 喚按鍵,指定樓層按鈕等來控制電梯的行與停。據(jù)此, 整個電梯控制器DTLZQ應(yīng)包括如下幾個組成部分: 時序輸出及樓 選計數(shù)器;電梯服務(wù)請求處理器;電梯升降控制器;上升及下降寄存器; 電梯次態(tài)生成器。該電梯控制器設(shè)計的關(guān)鍵是確定上升及下降寄存器的置位與 復(fù)位。整個系統(tǒng)的內(nèi)部組成結(jié)構(gòu)圖2所示。圖 2.電梯控制器的內(nèi)部組成結(jié)構(gòu)圖實用標(biāo)準(zhǔn)文案文檔大全2.3 電梯控制器的流程圖圖 3.電梯控制器系統(tǒng)框圖外部按鍵圖 4 總流程圖初始化判定電梯運行方向電梯運行樓層

8、檢測實用標(biāo)準(zhǔn)文案文檔大全3 設(shè)計內(nèi)容3.1 基本狀態(tài)設(shè)計1、采用信號并置處理很多輸入信號的方式:always (call_up_1 or call_up_2 or call_up_3 or call_up_4 or call_up_5) up_all=1b0,call_up_5, call_up_4, call_up_3, call_up_2,call_up_1;/將各下降請求信號實時地合并(1樓為底層,無下降請求,考慮到通用性,將 第1位填零)always(call_down_2 or call_down_3 or call_down_4 or call_down_5 orcall_dow

9、n_6)dow n_all=call_dow n_6, call_dow n_5, call_dow n_4, call_dow n_3,call_dow n_2, 1b0;/將各??空埱笮盘枌崟r地合并always (request_1 or request_2 or request_3 or request_4 or request_5 orrequest_6)request_all=request_6,request_5, request_4, request_3,request_2, request_1;2、通過參數(shù)定義把信號并置的方法和有限狀態(tài)機聯(lián)系起來parameter WAIT=7

10、b0000001,UP=7b0000010,D0WN=7b0000100,UPST0P=7b0001000,DOWNSTOP=7b0010000,OPENDOOR=7b0100000,CLOSEDOOR=7b1000000;實用標(biāo)準(zhǔn)文案文檔大全/定義樓層的符號常量parameterFL00R1=6b000001,FL00R2=6b000010,FL00R3=6b000100,FL00R4=6b001000,FL00R5=6b010000,FL00R6=6b100000;parameter TRUE=1b1, FALSE=1b0;/定義門打開和門關(guān)閉的符號常量parameter 0PEN=1b1

11、, CLOSED=1b0;/定義電梯上升,下降和靜止的符號常量parameter UPFLAG=2b01,DNFLAG=2b10,STATIC=2b00;3、采用了七個狀態(tài)實現(xiàn)了有限狀態(tài)機圖6.狀態(tài)轉(zhuǎn)換圖黑線:WAIT TOUPTOUPSTOP TOOPENDOORTO CLOSEDOORTO WAIT粉紅線:WAITTO DOWNTODOWNSTOPTOOPENDOORTOCLOSEDOORTOWAIT3.2 模塊設(shè)計1、電梯主控制器模塊elevator_controller此段智能電梯控制器由三個重要部分組成的實用標(biāo)準(zhǔn)文案文檔大全(a) 信號并置部分,完成對5路向上請求、5路向下請求、6路

12、內(nèi)部請求的信 號并置,化繁為簡。(b) 三段式有限狀態(tài)機部分。在有請求的情況下,電梯控制器還要根據(jù)電梯 的當(dāng)前狀態(tài)和當(dāng)前的樓層去判斷電梯的下一步該如何運作。(c) 計數(shù)器部分。完成電梯的開門、關(guān)門的時間管理。2、分頻模塊frequence_div:這段分頻器完成對50Mhz的1分頻操作。采用傳統(tǒng)的“一半就翻轉(zhuǎn)”的計數(shù) 技巧。3、數(shù)碼管譯碼模塊3.3 波形仿真1、當(dāng)電梯處于初始狀態(tài)時,電梯在高層有向下的請求時:圖7.電梯主控模塊f requence_divcp_50Mcp_1inst2圖8.分頻模塊實用標(biāo)準(zhǔn)文案文檔大全ET_50Melkfarlbid.“3k電Fcall_8jam._21*5ea

13、ll_d0_31B窈dmm.4了eall_down_51#LT亡allLjapJlCill_qp_2PHIC411_UpJ一小113亡all_up_5114rg.-Q.*st_l115rt( (u*sts2116117req.u-est_4愷rflq.u-eit.SJ19rtq.uest_6|20lT454t21* fl的r_digi taiLCBJLOU廚 2TELCB_DM:A甘第LCE_ESO3TLCIi_DNLCD_RSLCUJ11V(rveralsTRTLrLrLrLrLrLnjTrLrLrLrLrLnrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLTLrLrLrLr

14、LrLrLrLrLrLcocoOD2、當(dāng)電梯停在6樓處于等待狀態(tài)時,在1樓和2樓同時有向上的請求時:-3聆電AS0EAT1-9 LO31“ LnM3 14 LS| L6A ITL6 ig詁 27t363840“0cp_50Melkwbi dLTD ONID ESjTTLrtnjwwwwiirwurvirLrLrLrLruuuLnArubnJUinTLnLnLnLrLnnj亡downcall downcall downr s-qui-itrequestr feints tcull downover alarmI1p1E-112 11 d.!own 2requestrequest r皂gu皂占tj

15、BresetLJ 1口0廠.五五認O LO_DiLTA.LTD Elffruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuumjuuuuuuuuuuuuumnjuuuuuuuuuuuumj圖10實用標(biāo)準(zhǔn)文案文檔大全實用標(biāo)準(zhǔn)文案文檔大全3、當(dāng)電梯停在1樓處于等待狀態(tài)時,在6樓和5樓同時有向下的請求時:5 113U4吁1618191 1011丄會丄 3tfk 1S1&17iiaUkM襯 21 1O 26 12c也!t!( (!、 B III I I BII i I H IB I II B: IIU13c all_pj5lit!III1111111 1II1III、 B I

16、I IUB111IHIB H IIIBil1un14r eqruestjItanau aIi I u nBtiInalBBIIIaIIillIIniiiiiiiii . 15r1 uIBdIiIi|ilit!, lit!, IBr a-ua-E-t _J3:IIIBI, !11IIIIIII111911IIIIIBIlalllll11B11IIIIIBII9IIIII111111111I17r e I Sr eut3t_SnilIIBIIrrii nilnnilIIBIIBIn j亠19raqu4St_6imililIrnitrIrrii!imililIIrnrIr:JJr as.tIIllr

17、IIII!lrIlliIII1111II11rIIIIIIIIfI1rIIIIIII1?11I1IlliIII1+j旦牛用一曲 訓(xùn)*uaXS衛(wèi)冀雄XX公.26LC&_BLOH36LCO_EKinrtniirtniinnmjiiniiiWriitiiiiimjmwihiirinirtnRriiwwriniiiinMnrtimTinnniWiJTirtitriiran0 37LCD.OIff“軸LCI_RSJi_r_r_r【LCD_Ji H r ::1 ! : : : 1 r i ; ! : : : : i i ; i H r : : : i3 40ovsr_ftl*jrm :圖12實用標(biāo)

18、準(zhǔn)文案文檔大全實用標(biāo)準(zhǔn)文案文檔大全5、電梯的強制運行按鈕forbid:KF 1“2畛405T1*101 1112A 1311415116“ 1T11819120衿2110圖13實用標(biāo)準(zhǔn)文案文檔大全總結(jié)與致謝通過本次課程設(shè)計進一步熟悉Quartus II軟件的使用和操作方法,以及硬件 實現(xiàn)時的下載方法與運行方法;對Verilog HDL語言的自頂向下設(shè)計方法有了進 一步的認識,對其中的許多語句也有了新了解, 掌握;對自己獨立思考和解決問 題的能力也有了很大的鍛煉。短暫的課程設(shè)計就要結(jié)束了,在此,感謝所有在學(xué)習(xí)和生活中給予我關(guān)心和 幫助的人們。首先我要感謝楊紅娟、王濤兩位位老師,本次課程設(shè)計設(shè)計的

19、選題、課題調(diào) 研與撰寫工作實在和老師的指導(dǎo)下完成的。和老師淵博的知識、嚴(yán)謹?shù)闹螌W(xué)態(tài)度、 一絲不茍的工作作風(fēng)、和不厭其煩的精神對我影響至深,使我受益終生,在此我 向和老師表示崇高的敬意和衷心的感謝。其次,在我的課程設(shè)計期間,同課題的同學(xué)都給予了我熱情的幫助和無私的 指導(dǎo),在此向這些同學(xué)們表示衷心的感謝。最后,向所有曾給予我關(guān)心和幫助的老師和同學(xué)們再次致以最衷心的感謝,向參加報告評審、答辯的老師表示衷心的感謝和崇高的敬意。實用標(biāo)準(zhǔn)文案文檔大全參考文獻1黃仁欣.EDA技術(shù)實用教程北京:清華大學(xué)出版社,20062潘松,黃繼業(yè).EDA技術(shù)與VHDL北京:清華大學(xué)出版社,20093江國強編著.EDA技術(shù)與

20、應(yīng)用(第三版)北京:電子工業(yè)出版社,20104夏宇聞編著.Verilog HDL數(shù)字系統(tǒng)設(shè)計教程.北京:北京航空航天 大學(xué)出版社,20085周祖成,程曉軍,馬卓釗編著數(shù)字電路與系統(tǒng)教學(xué)實驗教程北京: 科學(xué)出版社,20106周潤景,蘇良碧基于Quartus II的數(shù)字系統(tǒng)Verilog HDL設(shè)計實例 詳解北京:電子工業(yè)出版社,20107 (美國)Sanir Palnitkar譯者:夏宇聞 胡燕祥 刁嵐松.Verilog HDL數(shù)字設(shè)計與綜合(第2版).北京:電子工業(yè)出版社,20098云創(chuàng)工作室.Verilog HDL程序設(shè)計與實踐北京:人民郵電出版社,20099劉福奇,劉波.Verilog H

21、DL應(yīng)用程序設(shè)計實例精講北京:電子工業(yè) 出版社,200910張延偉,楊金巖,葛愛學(xué).verilog hdl程序設(shè)計實例詳解北京:人民郵電出版社,2008實用標(biāo)準(zhǔn)文案文檔大全附錄1、分頻模塊module freque nce_div(cp_50M,cp_1);in put cp_50M; 板子提供的最高時鐘output cp_1; /要求得到的秒脈沖reg 27:0 counter_1; /計數(shù)器reg cp_1;/類型聲明always(posedge cp_50M)beginif(counter_仁=28h17D7840) 50M 的一半到了,秒脈沖翻轉(zhuǎn)begincp_1=cp_1; / 翻轉(zhuǎn)

22、 coun ter_1=28h0000000;endelsecounter_1=counter_1+1b1; /否則加 1enden dmodule2、智能電梯主控制模塊module elevator_c on troller(/i nput ports: cp_50M,clk,reset,forbid, call_up_1, call_up_2, call_up_3,call_up_4, call_up_5,call_dow n_2, call_dow n_3, call_dow n_4, call_dow n_5,call_dow n_6,request_1, request_2, req

23、uest_3, request_4, request_5, request_6,/output ports:out,LiftState,over_alarm,co un t_out,co unt);/output ports:output 6:0out; 輸出樓層output 6:0 LiftState; 輸出電梯狀態(tài)output over_alarm; / 出錯output 6:0count_out; /計數(shù)器輸出,便于我控制開關(guān)門的狀態(tài)顯示output 2:0count; /計數(shù)器/in put ports:in put cp_50M;in put clk,reset,call_up_1,

24、call_up_2,call_up_3,call_up_4,call_up_5,call_dow n_2,call_down_3,call_dow n _4,call_dow n_5,call_down_6,request_1,request_2,request_3,request_4,request_5,request_6;in put forbid;pos 與 Posout 的關(guān)系:當(dāng)前狀態(tài)一改變,pos 立即作相應(yīng)改變,而 PosOut 則是當(dāng)前狀態(tài)在 要變到下一狀態(tài)的瞬間/,將 PosOut 作相應(yīng)改變。如從 WAIT 切換到第一個 UP 時,pos 立即加一,而 PosOut 則要等

25、到第一個 UP實用標(biāo)準(zhǔn)文案文檔大全/即將切換到第二個 UP 時,才加一。這個說的簡單一點,就是移位寄存器,便于對電梯狀態(tài)的實時的控制wire over_alarm;wire 6:0out;wire 6:0co un t_out;reg 5:0pos,PosOut;reg 2:0 count; /門開后要持續(xù) 5 個時鐘周期,用 count 來計數(shù)reg DoorFlag;reg 1:0 UpD nF lag;reg 6:0 LiftState,NextState; /分別表示電梯的當(dāng)前狀態(tài)和下一狀態(tài)wire real_clk;up_all,down_all,request_all 分別用來合并

26、向上請求的各信號,向下請求的各信號和停靠請求的各信號/以便判斷電梯在狀態(tài)間如何轉(zhuǎn)移時更簡潔reg 5:0 up_all,dow n_all,request_all;定義電梯 7 種狀態(tài)的符號常量parameter WAIT=7b0000001, UP=7b0000010, D0WN=7b0000100, UPSTOP=7b0001000,D0WNST0P=7b0010000, 0PEND00R=7b0100000, CL0SED00R=7b1000000;/定義樓層的符號常量parameter FL00R1=6b000001,FL00R2=6b000010,FL00R3=6b000100,FL

27、00R4=6b001000, FL00R5=6b010000, FL00R6=6b100000;parameter TRUE=1b1, FALSE=1b0;/定義門打開和門關(guān)閉的符號常量parameter OPEN=1b1, CLOSED=1b0;定義電梯上升,下降和靜止的符號常量parameter UPFLAG=2b01,DNFLAG=2b10,STA TIC=2b00;assign real_clk=(clk&(forbid);采用屏蔽時鐘的方法來實現(xiàn)“電梯強制禁止運行”。方法雖然違反了“同步電路最好沒有時鐘門控”的要求,但是在此只要“負面影響”不是很大還是可以接受的。將各上升請求

28、信號實時地合并(6 樓為頂層,無上升請求,考慮到通用性,將第 4 位填零)always (call_up_1 or call_up_2 or call_up_3 or call_up_4 or call_up_5)up_all=1b0, call_up_5, call_up_4, call_up_3, call_up_2, call_up_1;將各下降請求信號實時地合并(1 樓為底層,無下降請求,考慮到通用性,將第 1 位填零)always (call_dow n_2 or call_dow n_3 or call_dow n_4 or call_dow n_5 or call_dow n_6

29、)dow n_all=call_dow n_6, call_down_5, call_down_4, call_dow n_3, call_dow n_2, 1b0;/將各??空埱笮盘枌崟r地合并always (request_1 or request_2 or request_3 or request_4 or request_5 or request_6)request_all=request_6, request_5, request_4, request_3, request_2, request_1;always (posedge real_clk or posedge reset)實

30、用標(biāo)準(zhǔn)文案文檔大全if(reset)coun t=0;else if(NextState=OPENDOOR )&(cou nt5)/or else if(NextState=OPENDOOR)count=count+1;如果計數(shù)不到 5 且下一狀態(tài)為 OPENDOOR 的話,繼續(xù)計數(shù) elsecount=0; 清零,以備下次計數(shù)/display which floor the elevator is.display_decodeh1(cp_50M,PosOut,out,over_alarm);display_decode_co unth2(cp_50M,co un t,co un t_

31、out);/ fin ite state mach ine in the style of three segme nts ,三段式/1st StateShift always block,sequential state transition,有限狀態(tài)機第一段always (posedge real_clk or posedge reset)if(reset)beginLiftState=W AIT;endelseLiftState0) /有??空埱蠓馼egin if(request_all&pos)0) 停靠請求中有當(dāng)前樓層停靠請求否NextState=OPENDOOR ;/有當(dāng)前

32、樓層請求,則下一狀態(tài) 轉(zhuǎn)開門else if(request_allpos) /有當(dāng)前樓層之上的??空埱蠓?優(yōu)先 向上的請求)NextState=UP;有則,下一狀態(tài)轉(zhuǎn)上升elseNextState=DOWN; 只有當(dāng)前樓層之下的??空埱螅?一狀態(tài)轉(zhuǎn)下降endelse if(up_all&pos)|(down_all&pos) /上下請求中有當(dāng)前樓層請求否 beginNextState=OPENDOOR;endelse if(up_allpos)|(down_allpos) /上下請求中有當(dāng)前樓層之上的請 求否NextState=UP;else if(up_all|down_a

33、ll) /上下請求中有當(dāng)前樓層之下的請求否NextState=DOWN;else實用標(biāo)準(zhǔn)文案文檔大全NextState=WAIT; /無任何請求,繼續(xù)處于WAIT 模式endUP:beginif(request_all&pos)|(up_all&pos) /??炕蛏仙埱笾杏挟?dāng)前樓層的 請求否NextState=UPSTOP; 有,下一狀態(tài)轉(zhuǎn)為 UPSTOP(??亢笠?1s 才 開門,UPSTOP 即為這 1s 的過渡期)else if(request_allpos)|(up_allpos) /??炕蛏仙埱笾杏挟?dāng)前樓層 之上的請求否NextState=UP;else if(d

34、own_all0) /有下降請求否 beginif(down_allpos)&(down_allApos)pos)/ 下降請求中有當(dāng)前樓層的請求否NextState=UP;else if(down_all&pos)|(posFLOOR6)/ 其實這樣做意義不大,只是使上下標(biāo)志提前變化NextState=UPSTOP;else if(down_all&pos)&(pos=FLOOR6)/事實上不滿足第一條件的話,電梯根本不會到達第四層NextState=DOWNSTOP;else/下降請求中只有當(dāng)前樓層之下的請求NextState=DOWN;endelse if(

35、request_all|up_all) /只有當(dāng)前樓層之上的??炕蛏仙埱蠓馧extState=DOWN;elseNextState=WAIT; /無任何請求,轉(zhuǎn)為 WAIT 模式end/DOWN 的狀態(tài)轉(zhuǎn)移請參見 UP 的狀態(tài)轉(zhuǎn)移DOWN:beginif(request_all&pos)|(dow n_all&pos)NextState=DOWNSTOP;elseif(request_all&FLOOR1)pos&(request_all&FLOOR1)|(request_all&FLOOR2)pos&(request_all&

36、FLOOR2)|(request_all&FLOOR3)pos&(request_all&FLOOR3)|(request_all&FLOOR4)pos&(request_all&FLOOR4)|(request_all&FLOOR5)pos&(request_all&FLOOR5)|(request_all&FLOOR6)pos&(request_all&FLOOR6)NextState=DOWN;else實用標(biāo)準(zhǔn)文案文檔大全if(down_all&FLOOR1)pos&(dow

37、n_all&FLOOR1)|(down_all&FLOOR2)pos&(down_all&FLOOR2)|(down_all&FLOOR3)pos&( down_all&FLOOR3)|(down_all&FLOOR4)pos&(dow n_all&FLOOR4)|(dow n_all&FLOOR5)pos&(down_all&FLOOR5)|(down_all& FLOOR6)0)beginif(up_all&FLOOR1)pos&(up_all&FLOOR

38、1)|(up_all&FLOOR2)pos&(up_all&FLOOR2)11 (up_all&FLOOR3)pos&(up_all&FLOOR3)|(up_all&FLOOR4)pos&(up_all&FLOOR4)|(up_all&FLOOR5)pos&(up_all&FLOOR5)|(up_all&FLOOR6)FLOOR1)NextState=DOWNSTOP;else if(up_all&pos)&(pos=FLOOR1)NextState=UPSTOP;elseN

39、extState=UP;endelse if(request_all|dow n_all)NextState=UP;elseNextState=WAIT;endUPSTOP:beginNextState=OPENDOOR; /停靠 1 時鐘周期后開門endDOWNSTOP:beginNextState=OPENDOOR; /???1 時鐘周期后開門endOPENDOOR:beginif(countpos)|(up_allpos) 上升或??空埱笾杏挟?dāng)前樓層之上的請求否NextState=UP;else if(down_all0) /有下降請求否beginif(dow n_allpos)&

40、;(dow n_allApos)pos)NextState=UP;/有當(dāng)前樓層之上的下降請求, 則下一狀態(tài)轉(zhuǎn)移上升else if(down_all&pos)0) 有當(dāng)前樓層的下降請求 信號,且更上層無下降請求NextState=OPENDOOR;else/只有低于當(dāng)前層的下降請求NextState=DOWN;endelse if(request_all|up_all) /上升和??空埱笾杏挟?dāng)前層的請 求且只有當(dāng)前層下的請求NextState=DOWN;elseNextState=WAIT; /無任何請求,轉(zhuǎn)為 WAIT 模式end請參考 UpDnFlag=UPFLAG 的注釋else

41、if(UpD nFlag=DNFLAG)beginif(request_all&pos)|(dow n_all&pos)NextState=OPENDOOR;elseif(request_all&FLOOR1)pos&(request_all&FLOOR1)|(request_all&FLOOR2)pos&(request_all&FLOOR2)|(request_all&FLOOR3)pos&(request_all&FLOOR3)|(request_all&FLOOR4)pos&(req

42、uest_all&FL00R4)|(request_all&FLOOR5)pos&(request_all&FLOOR5)|(request_all&FLOOR6)pos&(request_all&FLOOR6)NextState=DOWN;elseif(down_all&FLOOR1)pos&(dow n_all&FLOOR1)|(down_all&FLOOR2)pos&(down_all&FLOOR2)|(down_all&FLOOR3)pos&( down_all&am

43、p;FLOOR3)|(down_all&FLOOR4)pos&(dow n_all&FLOOR4)|(dow n_all&FLOOR5)pos&(down_all&FLOOR5)|(down_all &FLOOR6)0)實用標(biāo)準(zhǔn)文案文檔大全beginif(up_all&FLOOR1)pos&(up_all&FLOOR1)|(up_all&FLOOR2)pos&(up_all&FLOOR 2)11(up_all&FLOOR3)pos&(up_all&FLOOR3)|(u

44、p_all&FLOOR4)pos&(up_all&FLOOR4)|(up_all&FLOOR5)pos&(up_all&FLOOR5)|(up_all&FLOOR6)0)NextState=OPENDOOR;elseNextState=UP;endelse if(request_all|dow n_all)NextState=UP;elseNextState=WAIT;end請參考 WAIT 模式的注釋elsebeginif(request_all0)begin if(request_all&pos)0) NextState=OPENDOOR;else if(request_allpos)NextSt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論