VHDL电梯控制器程序设计与仿真_第1页
VHDL电梯控制器程序设计与仿真_第2页
VHDL电梯控制器程序设计与仿真_第3页
VHDL电梯控制器程序设计与仿真_第4页
VHDL电梯控制器程序设计与仿真_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VHDL电梯控制器程序 设计与仿真 -CAL-FENGHAI-(2020YEAR-YICAI) JINGBIAN VHDL电梯控制器程序设讣与仿真 电梯控制器VHDL程序与仿真。 DIfiNTI DOOHC1.ei LEDC6 03 LED_C_Ut5 GJ LED_C_DI:5 OJ LED_DE5.03 UJRHRHR UD RL.RRM UP DOWN CLK * CL-K FULL FULL OEMG * DE NG QUICK * QUX CK GL.R * CLR c_ux 丸一 C_U3 G_U3= C-U5 G_US C-DS G_D2: C_D3 1 C_D3 C_D G_D

2、Q C_DS C_D5: C_D6 C_D use dianti is port ( elk : in std_logic;-时钟信号(频率为 2Hz) full,deng,quick,clr: in stdjogic;-超载、关门中断、提前关门清除报警信 号 c_ul,c_u2,c_u3/c_u4zc_u5: in stdjogic; -电梯外人的上升请求信号 c_d2zc_d3/c_d4/c_d5,c_d6 : in stdjogic;-电梯外人的下降请求信号 dl,d2,d3,d4,d5,d6 : in std_logic;-电梯内人的请求信号 gl/g2/g3/g4/g5,g6 : i

3、n stdjogic;-至lj达楼层信号 door: out std_logic_vector(l downto 0); -电梯门控制信号 led : out stdjogic_vector(6 downto 0); 一电梯所在楼层显示 led_c_u:out stdogic_vector(5 downto 0); -电梯外人上升请求信号显示 led_c_d:out std_logic_vector(5 downto 0); -电梯外人下降请求信号显示 led_d : out std_logic_vector(5 downto 0); 一电梯内请求信号显示 wahaha : out std_l

4、ogic;-看门狗报警信号 ud,alarm : out std_logic;-电梯运动方向显示,超载警告信号 -电机控制信号和电梯运动 uptown : out stdjogic ); end dianti; architecture behav of dianti is signal dll,d22,d33,d44q55q66:std_logic;-电梯内人请求信号寄存信号 signal c_ull/c_u22/c_u33/c_u44/c_u55:std_logic; -电梯外人上升请求信号寄存信 号 signal c_d22,c_d33,c_d44_d55_d66:stdogic; -电

5、梯外人下降请求信号寄存信 号 signal q:integer range 0 to 1;一分频信号 signal ql:integer range 0 to 6;-关门延时计数器 signal q2:integer range 0 to 9;-看门狗计数器 signal ddcc_u*cc_ctdd_cc:stcl_logic_vector(5 downto 0); 一电梯内外请求信号寄存 器 -开门使能信号 -电梯运动方向信号寄存器 -预备上升、预备下降预操作使能信号 signal opendoor:std_logic; signal updown:std_logic; signal en

6、_up,en_dw:std_logic; begin com:process(clk) begin 讦 clkevent and clk=l then 讦 clr=,l, then ql=0;q2=0;wahaha=0;一清除故障报警 elsif full=T then alarm=l,; ql=3 then door=,l10H; else door=,OOn; end if; els讦 q=l then q=0;alarm=,0,; if q2=3 then wahaha=l;-故障报警 else 讦 opendoor=,lI then door=,10,;ql=0;q2=0;up=,0;

7、down=0;一开门操 作 elsif en_up=,l, then-上升预操作 讦 deng=,l, then door=l,10,;ql=0;q2=q2+l;一关门中断 elsif quick=l then ql=3;-提前关门 elsif ql=6 then door=00;updown=l;up=3 then door=,01,;ql=ql+l;一电梯进入关门状态 else ql=ql+l;door=00;-电梯进入等待状态 end 讦; elsif en_dw=l then-下降预操作 if deng=,l, then door=,10,l;ql=0;q2=q2+l; elsif q

8、uick二T then ql=3; elsif ql=6 then door=”00;updow*=0;down=3 then door=,01;ql=ql+l; else ql=ql+l;door=l,00,1; end if; end if; if gl=l then led=1001111;-电梯到达 1 楼,数码管显示 1 if dll=l or c_ull=l then dll=0; c_ull=,0;opendoor000001 then en_up=l; opendoor=0; 一-有上升请求,则电梯进入预 备上升状态 elsif dd_cc=000000 then opendo

9、or=0;-无请求时,电梯停在 1 楼待机 end if; elsif g2=l then led=0010010;-电梯到达 2 楼,数码管显示 2 if updown=l then-电梯前一运动状态位上升 if d22=l or c_u22=l then d22=0; c_u22=0; opendoor000011 then en_up=l; opendoor=0; -有上升请亲,则电梯进入预备上升状态 els讦 dd_cc000010 then en_dw=l; opendoor=0; -有下降请求,则电梯进入预 备下降状态 end if; -电梯前一运动状态为下降 elsif d22=

10、l or c_d22=l then d22=0; c_d22=0;opendoor=l,; -有当前层的请求,贝了电梯进入开门状态 elsif dd_cc000010 then en_dw=l; opendoor000011 then en_up=l; opendoor=0; -有上升请求,则电梯进入预 备上升状态 end 讦; elsif g3=l then led=0000110;-电梯到达 3 楼,数码管显示 3 if updown=,l, then if d33=ll or c_u33=,ll then d33=,0,; c_u33=,0l;opendoor,000111,1 then

11、 en_up=,l,; opendoor=,0,; els讦 dd_cc,000100,1 then en_dw=l,; opendoor=,01; end if; elsif d33=l or c_d33=,l, then d33=,0,; c_d33=0; opendoor=l,; elsif dd_cc”000100” then en_dw=,l,; opendoor=,0,; els讦 ddcoOOlll11 then en_up=,l,; opendoor=,0,; end 讦; elsif g4=l then led=1001100;一电梯到达 4 楼,数码管显示 4 if upd

12、own=l, then if d44=,l, or c_u44=l then d44=,01; c_u44=,0,; opendoor,001111,1 then en_up=,l,; opendoor=,0,; elsif dd_cc,001000,1 then en_dw=l,; opendoor=0,; end if; elsif d44=l or c_d44=,l, then d44=,0,; c_d44=0; opendoor=,l,; els讦 dd_cc,001000H then en_dw=,l,; opendoor=0; els讦 ddcoOllll11 then en_up

13、=,l,; opendoor=,0,; end 讦; elsif g5=l then led=0100100;-电梯到达 5 楼,数码管显示 5 if updown=l, then if d55=l, or c_u55=,l, then d55=,01; c_u55=,0;opendoor=,l,; els讦then en_up=,l,; opendoor=,0,; elsif dd_cc,010000,1 then en_dw=,l,; opendoor=,0,; end if; elsif d55=lll or c_d55=,lI then d55=,0,; c_d55=,0;opendo

14、or=,l,; elsif dd_cc,010000H then en_dw=l,; opendoor=,0,; elsif ddCcTOllllU then en_up=,l,; opendoor=,0,; end 讦; elsif g6=l then led=0100000;一电梯到达 6 楼,数码管显示 6 if d66=l or c_d66=l then d66=0; c_d66=l0l;opendoor=,l,; els讦 dd_ccH 100000 then en_dw=,l,; opendoor=,01; end 讦; else en_up=,0;en_dw=,0,;-电梯进入上

15、升或下降状态 end 讦; end if; else q=l;alarm=0;-清除超载报警 if dl=l then dll=dl;-对电梯内人请求信号进行检测和寄存 elsif d2=,l, then d22=d2; elsif d3=,l then d33=d3; elsif d4=,l, then d44=d4; elsif d5=,l, then d55=d5; els讦 d6=,ll then d66=d6; end if; if c_ul=l then c_ull=c_ul;-对电梯外人上升请求信号进行检测和寄存 els讦 c_u2=T then c_u22=c_u2; els讦

16、 c_u3=,l, then c_u33=c_u3; els讦 c_u4=,l, then c_u44=c_u4; els讦 c_u5=T then c_u55=c_u5; end if; ifc_d2=-lthen c_d22=c_d2;-对电梯外人下降请求信号进行检测和寄存 els讦 c_d3=lI then c_d33=c_d3; els讦 c_d4=l, then c_d44=c_d4; els讦 c_d5=l, then c_d55=c_d5; els讦 c_d6=l, then c_d66=c_d6; end if; ud=updown; led_d=dd; led_c_u=cc_

17、u; led_c_d=cc_d; end if; end process; end behav; 电梯程序仿真 注:由于以上输入信号在下面仿真中没用到.所以在下面仿真图中将不再出现。 dd=d66-电梯内人请求信号并置 cc_u=,0, -电梯外人上升请求信号并 置 cc_ck二c_d66 -电梯外人下降请求信号并 置 dd_cc d c r c d r g. X X d . Q 3 a. 1 s. s h 斗 OJ 1& & ft n 5 s- q c 5r & c c a c c o o 6 u co ill s o a o o o Cf o o o o O O o O o o O o o

18、 o X X X X LJ X X X X X X o s cn i 6 i X X X X * X X ! 2 fd 8 / X a I a g _I : J _J 1 n - X 6 =K= ! 8 3 8 a i K 1 X X o p 1 n X X 1 o i 6 i 6 X Cl X s - J = n 1 COD:OD o 8 Name fa 产 一 肯 2Loug 3 Oug 4 OugLgugIgugLgug 8 Oug 9 OugIspuglpuglapug 13- ,2 203 0ns 40 0n5 OO.Ons 80J 0ns 1 Ous 1 2us 1.4”1 bus

19、 1 Qus 2 Ous 2 2us 2.4us2 6us 2 8us 3.0ijs 32us %E8: a c_d3 #*- C-d2 u dm C_u4 n-J5 u-clk 0 0 0 0 n二二二 少q deng quick n-clr u-g3 -O wahaha -O up -c* ud dwn alami door led 寺 led_d led_c_u led_c_d Q q1 抄q2 抄dd 前 dd_cc 前 cc_u 砂 cc_d 0 0 0 0 0 0 0 Jimi 0 a co 3 79 OG 00 0X0X1 T OQ I 01 79 CO 18 1C0M 0010

20、20 01 76 cccoco co |36 02001D r ZIDgXDZXn ocoim MlIDEEXS gjoioo CBCEOD Y I01D10 X 50200 厂 ccSzoo-Yo5zoio ID1110 coio55 ID3I10 c(nm coot 10 注:1 电梯停在一楼时,接受到请求信号c_d3. c_d2. c_u4和d6并把请求信号写入相应的寄存器。led 显示电梯所在楼层:led_d、ledc_u和led_c_d显示用户的请求。 2电梯经过准备上升状态后,进入上升状态.到达2楼.3楼时,不停继续前进。 3电梯上升到4楼时,响应请求(c_u4) 开门载客:进入侦

21、备上升状态。 电梯控制程序仿真局部放大图1 4us 2 6us 2 8i 3 Ous 3.2us J 4us 3 bus 3 6us 4.0ijs 4 2us 4 5$4 6us 4 8us 5 Ous 5.2us5 4us 51 Ngtrne c_d3 c_d2 n-(3 1历 D*elk 爼q *- quick nr-dr -仙I i#-爭 *-gi vhaha 懵 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 豐咄曲刖删知删 p up Ud -O don alarm door led led_d led_c_u led_c_d 0 D 1 D D79 D6 ):01 X cc X io ): oo X ot I 03 3 10 78 3爷 X32X 空t 76X 4CCK0 zxz 002000 OK003 ra)iio)r MH 6 X o0贮:卅AMX 6 前q2 抄dd X dd DO cc fiF cc.u qX cc.d 0 注:1 电梯上升到6楼时.响应请求(d_6儿开门卸客:进入侦备下降状态。 2电梯下降经过5楼,4楼都不停,到达3楼开门卸客,电梯进入预备下降状态。 电梯控制程序仿真局部放大图2 Vaius 52035.4 us 56u85E、j86 Ous62 国6Ju& 666.8us7 Ous 7 2037.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论