版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三层电梯控制系统一、 设计功能与要求电梯控制系统是的设计目标是按照使用者的要求控制电梯的运行。要求用VHDL设计出三层电梯的控制系统,基本功能要求如下:1、 每层电梯入口处设有上、下请求开关,使用者可以根据自身的上下楼需要按下相应按键;电梯内部设有到达楼层按钮,使用者可以选择到达楼层。2、 设有电梯运行模式(上、下)标识和当前所在楼层标识。3、 电梯运行模式等同于普通电梯运行模式,电梯一般按照提出请求的先后顺序进行响应。程序根据电梯当前位置和使用者所在楼层以及进入电梯后的要求控制运行状态。4、 电梯初始模式为一层关门状态。二、 设计思路本系统的主要输入有电梯外上下控制按钮Button(其中Bu
2、tton(0)表示一楼电梯外上升请求,Button(1)表示二楼电梯外上升请求, Button(2)表示二楼电梯外下降请求, Button(3)表示三楼电梯外下降请求);电梯内到达楼层控制按钮floor(其中floor(0)表示请求到达一层, floor(1)表示请求到达二层, floor(2)表示请求到达三层)。系统的输出包括电梯位置标识position,表示电梯当前所在楼层;电梯开门关门显示按钮door(当door=1时表示开门,door=0表示关门);电梯当前运行状态按钮up_down(当up_down=1时表示电梯处于上升状态,当up_down=0时表示电梯处于下降状态)。系统主要通过
3、当前所在楼层以及运行状态、后续请求判断运行方式。电梯处在第一层时,当它收到二层电梯外上下楼请求、三层电梯外下楼请求、一层电梯内到达二层和三层请求时,电梯会按照指令上升到相应楼层并开门、关门;若收到一层电梯外上楼请求只做开门响应,随后根据使用者进入电梯后请求进行响应;其他请求不响应。当电梯处在第二层时,若系统收到二层电梯外上下楼请求只做开门响应;若收到三层电梯外下楼或二层电梯内到达三层请求,则做上楼响应、开门;若收到一层电梯外上楼或二层电梯内到达一层请求,则做下楼楼响应并开门;其他请求不响应。当电梯处在第三层时,若它收到二层电梯外上下楼请求、一层电梯外上楼请求、电梯内到达二层和一层请求时,电梯会
4、按照指令下降到相应楼层并开门、关门;若收到三层电梯外下楼请求只做开门响应,随后根据使用者进入电梯后请求进行响应;其他请求不响应。若电梯正处在上升状态中收到外部请求,则只响应比当前所在楼层高的楼层的请求,到达需要到达最高楼层时再响应低层请求。若电梯正处在下降状态中收到外部请求,则只响应比当前所在楼层低的楼层的请求,到达需要到达最低楼层时再响应高层请求。三、 状态原理图说明本系统的状态比较复杂,状态中嵌套状态。图3.1为系统状态原理说明图,其中b0、b1、 b2、 b3 分别表示Button(0) 、Button(1)、 Button(2)、 Button(3);f0、f1、f2分别表示 floo
5、r(0)、 floor(1)、 floor(2);S0表示一层上状态、S1U和S1D分别表示二层上和下状态、S2表示三层下状态。图3.1 状态原理图本状态图主要说明系统运行当前状态与下一个状态的关系,考虑了从当前状态到下一状态的所有触发因素,较为复杂。四、 源程序以及注释LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.all;ENTITY elevator15 ISPORT(CLK: IN STD_LOGIC;reset: IN STD_LOGIC; Button : IN STD_LOGIC_VECTO
6、R(3 DOWNTO 0); -button(0)为一层外上升请求,button(1)为二层外上升请求, -button(2)为二楼外下降请求,Button(3)为三层外下降请求; floor : IN STD_LOGIC_VECTOR(2 DOWNTO 0); -floor(0)为电梯内一层请求按钮, floor(1)为电梯内二层请求按钮, -floor(2)为电梯内三层请求按钮; position: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-position表示电梯当前位置信息; door : OUT STD_LOGIC; - 1为开门,0为关门; up_down
7、 : OUT STD_LOGIC - 1为上楼,0为下楼; );END elevator15;ARCHITECTURE Behav OF elevator15 ISTYPE State IS (S0,S1U,S1D,S2); -S1U为二楼上状态,S1D为二楼下状态; SIGNAL current_state : State; -中间变量:当前状态 SIGNAL next_state : State; -中间变量:下一状态 SIGNAL up : STD_LOGIC; -中间变量:上升下降状态 SIGNAL dor : STD_LOGIC; -中间变量:开门关门状态BEGINP1:PROCES
8、S(CLK) -状态转换进程;BEGIN IF CLKEVENT AND CLK=1 THEN -检测时钟上升沿current_state = next_state; END IF;END PROCESS; P2:PROCESS(reset,clk,current_state,up,button,floor) VARIABLE button_var: STD_LOGIC_VECTOR( 3 DOWNTO 0); VARIABLE floor_var : STD_LOGIC_VECTOR( 2 DOWNTO 0); VARIABLE cat : STD_LOGIC; VARIABLE ca_ti
9、me : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN IF reset = 1 THEN -复位处理,初始状态为一层 next_state = S0; position = 0001; cat:=0; ca_time:=0000; up=Z; dor -一楼状态处理; position dor dor=0; button_var(0):=0; floor_var(0):=0; IF (floor_var(1) or floor_var(2)=1 THEN next_state=S1U; ca_time:=0000; up=1; ELSE next_state NULL
10、; END CASE; ELSIF (button_var(1) OR button_var(2) or button_var(3) or floor_var(2) or floor_var(1)=1 THENnext_state = S1U; ca_time:=0000;up = 1;ELSE next_state -二楼上状态处理;position dor dor=0; floor_var(1):=0; IF (button_var(1) or button_var(3) or floor_var(2)=1 THEN next_state=S2; ca_time:=0000; button
11、_var(1):=0; ELSIF ( button_var(0) or button_var(2) or floor_var(0)=1 THEN next_state=s0; ca_time:=0000; button_var(2):=0; ELSE next_state NULL; END CASE; ELSE IF button_var(1)=1 THEN -二楼外上升请求; CASE ca_time IS WHEN 0011 = dor dor=0; button_var(1):=0; IF (floor_var(2) or button_var(3)=1 THEN next_stat
12、e=S2; ca_time:=0000; ELSIF ( button_var(0) or floor_var(0) or button_var(2)=1 THEN next_state=s0; ca_time:=0000; up=0; ELSE next_state NULL; END CASE; ELSE IF (button_var(3) or floor_var(2)=1 THEN -二楼无上楼,开门请求,但三层有下楼或开门请求; next_state dor dor=0; button_var(2):=0; IF(floor_var(0) or button_var(0)=1 THE
13、N next_state=s0; ca_time:=0000; up=0; ELSE next_state NULL; END CASE; ELSIF (button_var(0) or floor_var(0)=1 THEN -电梯处于二楼上状态,仅有一楼信号要处理 next_state=s0; ca_time:=0000; up=0; ELSE next_state - up=0 时的情况; position dor dor=0; floor_var(1):=0; IF (button_var(2) or button_var(0) or floor_var(0)=1 THEN next_
14、state=s0; ca_time:=0000; button_var(2):=0; ELSIF ( button_var(1) or button_var(3) or floor_var(2)=1 THEN next_state=S2; ca_time:=0000; button_var(1):=0; ELSE next_state NULL; END CASE; ELSE IF button_var(2)=1 THEN CASE ca_time IS WHEN 0011 = dor dor=0; button_var(2):=0; IF (floor_var(0) or button_va
15、r(0)=1 THEN next_state=s0; ca_time:=0000; ELSIF ( button_var(1) or floor_var(2) or button_var(3)=1 THEN next_state=S2; ca_time:=0000; up=1; ELSE next_state NULL; END CASE; ELSE IF (button_var(0) or floor_var(0)=1 THEN next_state dor dor=0; button_var(1):=0; IF(floor_var(2) or button_var(3)=1 THEN ne
16、xt_state=S2; ca_time:=0000; up=1; ELSE next_state NULL; END CASE; ELSIF (button_var(3) or floor_var(2)=1 THEN next_state=S2; ca_time:=0000; up=1; ELSE next_state -电梯三楼状态处理;position dor dor=0; button_var(3):=0; floor_var(2):=0; IF (floor_var(0) or floor_var(1)=1 THEN next_state=S1D; ca_time:=0000; up
17、=0; ELSE next_state NULL; END CASE; ELSIF (button_var(0) OR button_var(1) OR button_var(2) or floor_var(0) or floor_var(1)=1 THEN next_state =S1D; ca_time:=0000; up = 0;ELSE next_state =S2; ca_time:=0000; END IF; END CASE; END IF; END PROCESS;P3:PROCESS(up,dor) -电梯上下,开关门显示; BEGIN up_down=up; door=do
18、r; END PROCESS;END Behav;五、 仿真结果与说明图 5.1图5.1是基本基本功能仿真,使用者在一层电梯外按下上升(Button(0)=1)按钮,随后开门(door=1)。使用者进入后按下到达三楼请求(floor(2)=1),电梯关门(door=0)并上升(up_down=1)最后到达三层(position=3)并开门(door=1)。图 5.2图5.3图5.2是基本记忆功能仿真,电梯处于初始一层关门状态。三层外使用者按下三层下按钮(floor(3)=1)电梯上升到三楼开门。然而在上升到二楼时一层外有人按下上楼按钮。此时电梯先完成上升到三层,然后再下降回到一层响应一层外请求
19、。图5.3表明在电梯上升过程中可以接收较高楼层的要求。开始时有人按下一层外上升(Button(0)=1)按钮,电梯开门使用者进入并按下到达三层(floor(2)=1)请求,此时电梯关门并上升。在电梯上升但未到达二层时,二层外有人按下上楼(Button(1)=1)请求,因此当电梯到达二层(position=2)后停止并开门,待二层使用者进入后再完成第一个使用者的请求到达三层。图 5.4图5.4仿真了系统对同一楼层两个不同到达楼层的响应。有两人先后按下二层上按钮(Button(1)=1),此时电梯从一层上升至二层并开门。待两人进入后按照先后顺序按下到达三层(floor(2)=1)和到达一层(flo
20、or(0)=1)按钮,此时电梯也按照俩人按键先后顺序先到达三层(position=3),然后再到达一层(position=1)。需要注意的是,本次实验第二个使用者在二层外的按键是错误的,因为他要到达一层应该按下二层下按钮(Button(2)=1),然而他却错误的按下了二层上按钮(Button(1)=1)。因此同一使用者在电梯内和电梯外提出不同要求时,主要响应电梯内请求。图5.5和图5.6都是综合仿真实验。图 5.5图 5.6图5.5是一个在电梯中常见的复杂情况仿真,本实验中共有四个人提出请求。首先一外层有人提出上升(Button(0)=1)请求并按下上升到三层(floor(2)=1)按键,电梯上升过程中二层外分别有人按下上升(Button(1)=1)和下降(Button(2)=1)的按钮,同时三层外有人按下下降(Button(3)=1)按钮。随后电梯
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中建一局一公司湖北公司招聘市场经理笔试历年参考题库附带答案详解
- 2025中国建筑一局(集团)有限公司俄罗斯公司市场部经理招聘1人笔试历年参考题库附带答案详解
- 2025“才聚齐鲁成就未来”山东省水利勘测设计院有限公司招聘40人笔试历年参考题库附带答案详解
- 正比例和反比例 专题练习 2025-2026学年小学数学六年级下册期末专练 人教版 含解析
- 房屋继承分配协议书
- 苏州被撤并镇J社区老旧小区改造治理的多维探索与实践
- 苏州市吴中区“多规融合”协调机制:实践、挑战与优化路径
- 苏北阜宁县小学教育资源配置的现状、问题与优化路径研究
- 花生茎腐病病原菌鉴定、生物学特性解析及AP2-ERF基因家族生物信息学深度分析
- 花岗岩残积土原生各向异性:力学效应解析与定量评价体系构建
- 施工作业A票操作手册
- 五年(2020-2024)高考生物真题分类汇编(全国版)专题14 神经调节(解析版)
- 第六章-专家系统与IDSS
- 2021年西藏地区中考满分作文《平凡生活别具温情》
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 傅里叶变换红外光谱仪FTIR简介课件
- 慢性疼痛的药物治疗:慢性疼痛的药物治疗方案
- 跖骨骨折护理查房
- 施工员学习课件第7章建筑构造与建筑结构
- 住院精神疾病患者攻击行为预防-2023中华护理学会团体标准
- 13诗第十二-整本书阅读系列《经典常谈》名著阅读与练习
评论
0/150
提交评论