版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
全自動電梯控制電路實(shí)驗(yàn)任務(wù)及要求:設(shè)計(jì)一個(gè)四層樓房全自動電梯控制電路,功能如下:每層電梯入口設(shè)有上下請示開關(guān)各一個(gè)(最低層只有向上請示,最高層只有向下請示開關(guān)),電梯內(nèi)設(shè)有乘客到達(dá)層次的停站要求開關(guān);電梯所處位置指示裝置和電梯上下行狀態(tài)指示裝置;電梯每秒升(降)一層,到達(dá)某一層時(shí),數(shù)碼管顯示該層層數(shù),并一直保持到電梯到達(dá)新一層為止;電梯到達(dá)有停站要求的梯層后,經(jīng)過0.5秒,電梯門自動打開(開門指示燈亮),經(jīng)過5秒后,電梯門自動關(guān)閉(開門指示燈滅),電梯繼續(xù)運(yùn)行;能保證響應(yīng)電梯內(nèi)外的所有請求信號,,并按照電梯運(yùn)行規(guī)則次第響應(yīng),每個(gè)請求信號保留至執(zhí)行后撤除;電梯運(yùn)行規(guī)則:電梯處于上升模式時(shí),只響應(yīng)比所在位置高的梯層的上樓請求信號,由上而下逐個(gè)執(zhí)行直到最后一個(gè)請求執(zhí)行完畢。如有更高層有下梯請求,則直接升到有下梯請求的最高層接客,然后轉(zhuǎn)入下降模式。電梯處于下降模式時(shí)與之相反,僅響應(yīng)比電梯所在位置低的下樓請求,由上到下逐個(gè)解決,直到最后一個(gè)請求被處理完畢。如果最低層有上樓請求時(shí),則降至該層樓,并轉(zhuǎn)入上升模式,電梯執(zhí)行完所有的請求后,應(yīng)停在最后所在位置不變,等待新的請求;開機(jī)時(shí),電梯應(yīng)停在一樓,而各種上下請求均被清除。設(shè)計(jì)說明與提示梯內(nèi)控制面板 (樓層指示) (運(yùn)行指示)四樓三樓(開門指示)二樓一樓電路面板如下所示: 梯外控制面板四樓三樓二樓一樓說明:以上面板除了表明“指示”的器件(即只是用于顯示的器件,如開門指示)之外,其余的均為顯示和輸入器件,即比如“一樓”表明其可作輸入按鍵(作為到一樓的請求輸入),同時(shí)亦作為顯示器件(指示請求是否被處理)。設(shè)計(jì)框圖如下顯示: up1,up2,up3to1,to2,to3,to4dn2,dn3,dn4請求處理模塊請求處理模塊 cup1,cup2,cup3 cto1,cto2,cto3,cto4 ldn2,ldn3,ldn4 cdn2,cdn3,cdn4 lup1,lup2,lup3lto1,lto2,lto3,lto4 控制模塊flooropenledupleddnled1.信號說明:up1-up3:分別為1,2,3樓用戶上樓請求信號;dn2-dn4:分別為2,3,4樓用戶下樓請求信號;to1-to4:分別為電梯內(nèi)用戶到1,2,3,4樓的請求信號;lup1-lup3:分別為1,2,3樓用戶上樓請求指示;ldn2-ldn4:分別為2,3,4樓用戶下樓請求指示;lto1-lto4:分別為電梯內(nèi)用戶到1,2,3,4樓的請求指示;cup1-cup3:分別用于清除為1,2,3樓用戶上樓請求;cdn2-cdn4:分別用于清除為2,3,4樓用戶下樓請求;cto1-cto4:分別用于清除電梯內(nèi)用戶到1,2,3,4樓的請求;floor:樓層顯示;openled:開門指示;upled:上升指示;dnled:下降指示;2.模塊說明:請求處理模塊:存儲用戶的請求以及當(dāng)請求被處理后請求指示的清除??刂颇K:電梯到達(dá)有停站要求的梯層后,經(jīng)過0.5秒,電梯門自動打開(開門指示燈亮),經(jīng)過5秒后,電梯門自動關(guān)閉(開門指示燈滅),電梯繼續(xù)運(yùn)行;能保證響應(yīng)電梯內(nèi)外的所有請求信號,,并按照電梯運(yùn)行規(guī)則次第響應(yīng),每個(gè)請求信號保留至執(zhí)行后撤除;開機(jī)時(shí),電梯應(yīng)停在一樓,而各種上下請求均被清除。程序設(shè)計(jì)說明:請求處理模塊:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYkeyIS PORT( reset :IN STD_LOGIC; up1,up2,up3 :IN STD_LOGIC; dn2,dn3,dn4 :IN STD_LOGIC; to1,to2,to3,to4 :IN STD_LOGIC; cup1,cup2,cup3 :IN STD_LOGIC; cdn2,cdn3,cdn4 :IN STD_LOGIC; cto1,cto2,cto3,cto4 :IN STD_LOGIC; lup1,lup2,lup3 :OUT STD_LOGIC; ldn2,ldn3,ldn4 :OUT STD_LOGIC; lto1,lto2,lto3,lto4 :OUT STD_LOGIC);ENDkey;ARCHITECTUREaOFkeyISBEGINup1label:PROCESS(reset,up1,cup1)BEGINIFcup1='1'orreset='1'THEN ――清零或復(fù)位lup1<='0';ELSIFup1'eventANDup1='1'THEN――保存請求信號lup1<='1';ENDIF;ENDPROCESSup1label; ――以下類似處理up2label:PROCESS(reset,up2,cup2)BEGINIFcup2='1'orreset='1'THENlup2<='0';ELSIFup2'eventANDup2='1'THENlup2<='1';ENDIF;ENDPROCESSup2label;up3label:PROCESS(reset,up3,cup3)BEGINIFcup3='1'orreset='1'THENlup3<='0';ELSIFup3'eventANDup3='1'THENlup3<='1';ENDIF;ENDPROCESSup3label;dn2label:PROCESS(reset,dn2,cdn2)BEGINIFcdn2='1'orreset='1'THENldn2<='0';ELSIFdn2'eventANDdn2='1'THENldn2<='1';ENDIF;ENDPROCESSdn2label;dn3label:PROCESS(reset,dn3,cdn3)BEGINIFcdn3='1'orreset='1'THENldn3<='0';ELSIFdn3'eventANDdn3='1'THENldn3<='1';ENDIF;ENDPROCESSdn3label;dn4label:PROCESS(reset,dn4,cdn4)BEGINIFcdn4='1'orreset='1'THENldn4<='0';ELSIFdn4'eventANDdn4='1'THENldn4<='1';ENDIF;ENDPROCESSdn4label;to1label:PROCESS(reset,to1,cto1)BEGINIFcto1='1'orreset='1'THENlto1<='0';ELSIFto1'eventANDto1='1'THENlto1<='1';ENDIF;ENDPROCESSto1label;to2label:PROCESS(reset,to2,cto2)BEGINIFcto2='1'orreset='1'THENlto2<='0';ELSIFto2'eventANDto2='1'THENlto2<='1';ENDIF;ENDPROCESSto2label;to3label:PROCESS(reset,to3,cto3)BEGINIFcto3='1'orreset='1'THENlto3<='0';ELSIFto3'eventANDto3='1'THENlto3<='1';ENDIF;ENDPROCESSto3label;to4label:PROCESS(reset,to4,cto4)BEGINIFcto4='1'orreset='1'THENlto4<='0';ELSIFto4'eventANDto4='1'THENlto4<='1';ENDIF;ENDPROCESSto4label;ENDa;控制模塊:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfcontrolIS PORT( clk16,reset :IN STD_LOGIC; lup1,lup2,lup3 :IN STD_LOGIC; ldn2,ldn3,ldn4 :IN STD_LOGIC; lto1,lto2,lto3,lto4 :IN STD_LOGIC; openled,upled,dnled :OUT STD_LOGIC; floor :BUFFER STD_LOGIC_VECTOR(3DOWNTO0); cup1,cup2,cup3 :OUT STD_LOGIC; cdn2,cdn3,cdn4 :OUT STD_LOGIC; cto1,cto2,cto3,cto4 :OUT STD_LOGIC);ENDfcontrol;ARCHITECTUREaOFfcontrolISSIGNALstate,openjudge,directclose:STD_LOGIC;SIGNALkeyupfloor1,keyupfloor2,keyupfloor3,keyupfloor4:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALkeydnfloor1,keydnfloor2,keydnfloor3,keydnfloor4:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALup,dn,sport,upask,dnask:STD_LOGIC;SIGNALupfloor,dnfloor,dntofloor,uptofloor,directfloor:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALcountopen:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALcountsport:STD_LOGIC_VECTOR(5DOWNTO0);SIGNALtemp:STD_LOGIC_VECTOR(4DOWNTO0);SIGNALstatesport:STD_LOGIC_VECTOR(1DOWNTO0);BEGINkeyupfloor1<="0001"WHENlup1='1'ORlto1='1'ELSE"0000";keyupfloor2<="0010"WHENlup2='1'ORlto2='1'ELSE"0000";keyupfloor3<="0011"WHENlup3='1'ORlto3='1'ELSE"0000";keyupfloor4<="0100"WHENlto4='1'ELSE"0000";keydnfloor1<="0001"WHENlto1='1'ELSE"0000";keydnfloor2<="0010"WHENldn2='1'ORlto2='1'ELSE"0000";keydnfloor3<="0011"WHENldn3='1'ORlto3='1'ELSE"0000";keydnfloor4<="0100"WHENldn4='1'ORlto4='1'ELSE"0000";――上升或下降模式中各層請求信號的信息存儲openjudge<='1'WHEN(state='1'AND(floor=keyupfloor1ORfloor=keyupfloor2ORfloor=keyupfloor3ORfloor=keyupfloor4))OR (state='0'AND(floor=keydnfloor1ORfloor=keydnfloor2ORfloor=keydnfloor3ORfloor=keydnfloor4))ELSE'0';――開門信號的判斷,符合開門條件時(shí)輸出為高電平upfloor<="0100"WHENlto4='1'ELSE "0011"WHENlup3='1'ORlto3='1'ELSE "0010"WHENlup2='1'ORlto2='1'ELSE "0000";――用于計(jì)載應(yīng)響應(yīng)的最高層的信息up<='1'WHENfloor<upfloorELSE'0';――用于上升模式的判別dnfloor<="0001"WHENlto1='1'ELSE "0010"WHENldn2='1'ORlto2='1'ELSE "0011"WHENldn3='1'ORlto3='1'ELSE "0100" ;――用于計(jì)載應(yīng)響應(yīng)的最低層的信息dn<='1'WHENfloor>dnfloorELSE'0';――用于下降模式的判別uptofloor<="0100"WHENldn4='1'ANDdn='0'ANDstate='0'ANDfloor<4ELSE "0011"WHENldn3='1'ANDdn='0'ANDstate='0'ANDfloor<3ELSE "0010"WHENldn2='1'ANDdn='0'ANDstate='0'ANDfloor<2ELSE "0000";――state=0,下降模式;1,上升模式――切換到上升模式時(shí)應(yīng)響應(yīng)的樓層(優(yōu)先權(quán)由高到低)dntofloor<="0001"WHENlup1='1'ANDup='0'ANDstate='1'ANDfloor>1ELSE "0010"WHENlup2='1'ANDup='0'ANDstate='1'ANDfloor>2ELSE "0011"WHENlup3='1'ANDup='0'ANDstate='1'ANDfloor>3ELSE "0000";――切換到下降模式時(shí)應(yīng)響應(yīng)的樓層(優(yōu)先權(quán)由低到高)sport<='1'WHEN(state='1'ANDupask='1')OR(state='0'ANDdnask='1') ELSE'0';――運(yùn)動狀態(tài)判別:處于有效的響應(yīng)運(yùn)動中upask<='1'WHENup='1'OR(NOT(uptofloor="0000"))ELSE'0';――上升請求:繼續(xù)向上運(yùn)動或者由下降模式切換到上升模式dnask<='1'WHENdn='1'OR(NOT(dntofloor="0000"))ELSE'0';――下降請求――下降請求:繼續(xù)向下運(yùn)動或者由上升模式切換到下降模式openled<='1'WHENstatesport="01"OR(statesport="10"ANDcountsport=0)ELSE'0';――開門指示燈upled<='1'WHENstate='1'ELSE'0';――上升指示dnled<='1'WHENstate='0'ELSE'0';――下降指示temp<=floor&state;updnlabel:PROCESS(reset,clk16)BEGINIFreset='1'THEN ――設(shè)置初始狀態(tài)floor<="0001"; statesport<="00";――statesport=00開門前0.5秒的等待狀態(tài);01開門持續(xù)5秒的開門狀態(tài);11運(yùn)行狀態(tài)。 countopen<="00000000";―用于對等待狀態(tài)和開門狀態(tài)的計(jì)數(shù),以控制狀態(tài)的變換 state<='1';――state=1上升狀態(tài),0下降狀態(tài)。 directfloor<="0000";――直達(dá)樓層信號 directclose<='0';――直達(dá)運(yùn)行狀態(tài)信號ELSIFclk16'eventandclk16='1'THEN――以1/16的頻率判別狀態(tài)的轉(zhuǎn)換 IFstatesport(1)='0'thencountopen<=countopen+1;ELSEcountopen<="00000000";ENDIF;――等待和開門狀態(tài)的計(jì)數(shù) IF(NOT(uptofloor="0000"))thendirectfloor<=uptofloor-floor;directclose<='1';ELSIF(NOT(dntofloor="0000"))THENdirectfloor<=floor-dntofloor;directclose<='1';ELSIFcountsport=15ANDdirectclose='1'THENdirectfloor<=directfloor-1;ENDIF;――直達(dá)樓層信號的鎖定,及每一秒變化一層 IF(statesport(1)='1'ANDsport='1')or(NOT(directfloor="0000"))thencountsport<=countsport+1;ELSEcountsport<="000000";ENDIF;――運(yùn)行模式時(shí)運(yùn)行狀態(tài)的計(jì)數(shù) IFcountopen=8thenstatesport<="01";ELSIFcountopen=88THENstatesport<="10";ENDIF;――由等待模式切換到開門模式,以及由開門模式切換到運(yùn)行模式 IFcountsport=1ANDstate='1'THENfloor<=floor+1;ELSIFcountsport=1ANDstate='0'THENfloor<=floor-1;ENDIF;――將要到達(dá)樓層的指示 IF(countsport=16ANDopenjudge='1'ANDdirectclose='0')OR(directclose='1'ANDdirectfloor="0000")THENstatesport<="00";directclose<='0';――到達(dá)某層且要開門時(shí),轉(zhuǎn)入等待狀態(tài);以及直達(dá)某層后直達(dá)信號的關(guān)閉 ELSIF(countsport=16AND(NOT(directfloor="0000")))OR(countsport=16ANDopenjudge='0'ANDdirectclose='0')THENcountsport<="000000";ENDIF;――不開門繼續(xù)運(yùn)行時(shí),轉(zhuǎn)入另一個(gè)運(yùn)行狀態(tài) IFstate='1'ANDsport='0'ANDdnask='1'THENstate<='0';ELSIFstate='0'ANDsport='0'ANDupask='1'THENstate<='1';ENDIF;――運(yùn)行狀態(tài)的切換 I
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房屋買賣合同補(bǔ)充協(xié)議(包含房屋買賣合同糾紛調(diào)解)3篇
- 二零二五年度圖書館圖書借閱積分兌換與購銷協(xié)議3篇
- 2025年度協(xié)議離婚訴訟全程指導(dǎo)及法律知識3篇
- 二零二五年度夫妻共有公司經(jīng)營權(quán)離婚協(xié)議3篇
- 綜合課程設(shè)計(jì)的原則是
- 二零二五年度新能源車輛質(zhì)押借款擔(dān)保合同2篇
- 2025年度水利項(xiàng)目合同終止及水資源利用協(xié)議3篇
- 海南醫(yī)學(xué)院《數(shù)字電子技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南體育職業(yè)技術(shù)學(xué)院《身邊的力學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度夫妻財(cái)產(chǎn)保全不離婚協(xié)議執(zhí)行細(xì)則2篇
- 《小學(xué)生良好書寫習(xí)慣培養(yǎng)的研究》中期報(bào)告
- 大學(xué)英語四級詞匯表(下載)
- 2025年四川成都市溫江區(qū)市場監(jiān)督管理局選聘編外專業(yè)技術(shù)人員20人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 手術(shù)室發(fā)生地震應(yīng)急預(yù)案演練
- 初中數(shù)學(xué)新課程標(biāo)準(zhǔn)(2024年版)
- 高職院校專業(yè)教師數(shù)字素養(yǎng)架構(gòu)與提升路徑
- 售后服務(wù)人員培訓(xùn)資料課件
- 2024-2030年中國薯?xiàng)l行業(yè)發(fā)展趨勢及投資盈利預(yù)測報(bào)告
- 生命智能學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京課改版六年級英語下冊全冊知識點(diǎn)清單匯總
- 云南省教育科學(xué)規(guī)劃課題開題報(bào)告 - 云南省教育科學(xué)研究院
評論
0/150
提交評論