数电实验报告-简易三层电梯控制器

合集下载

PLC三层电梯实验报告

PLC三层电梯实验报告

PLC三层电梯实验报告实验报告:PLC三层电梯实验1.实验目的本实验旨在通过使用PLC编程控制电梯的运行,在三层楼之间实现电梯的上下运行,并控制电梯门的打开和关闭。

2.实验器材-三层楼、电梯模型-PLC编程软件-电梯控制器3.实验原理-电梯模型:实验楼层采用三层楼的电梯模型,包括三个楼层BTN1、BTN2和BTN3,以及一个电梯C,门的状态通过XC、YO和Y1表示。

-编程控制:使用PLC编程软件进行电梯的控制逻辑编写,通过输入编写好的程序将控制信号传递给电梯控制器,实现电梯运行和门的开关。

4.实验步骤4.1复位PLC并初始化电梯状态,关闭所有电梯门,将三层按钮的状态初始化为低电平;4.2编写PLC程序:首先,定义电梯运行的逻辑条件,包括按钮被按下和电梯当前的位置。

其次,编写逻辑控制语句,根据按钮的状态和电梯的位置判断电梯的移动和门的开关。

最后,设置运行完成后的复位条件,回到初始状态;4.4调试程序:按下不同楼层的按钮,观察电梯的运行和门的打开关闭情况,检查程序是否按照预期的逻辑运行;4.5对实验进行总结分析。

5.实验结果与分析经过程序的编写和调试,实验得出以下结论:当任意一层楼的按钮被按下时,电梯会根据按钮的位置自动选择最近的一层进行移动,移动过程中电梯门会自动关闭,到达目的楼层后电梯门会自动打开。

同时,通过观察实验楼层的指示灯和电梯运动状态来判断程序是否按照预期运行。

实验结果表明,PLC可以通过编程控制电梯的运动和门的开关,实现了我们预期的功能。

6.实验结论本次实验使用PLC编程控制了三层楼之间电梯的运行和门的开关,实验结果表明PLC编程具有较高的控制精度和可靠性,能够满足电梯运行的基本要求。

通过这次实验,我对PLC编程有了更深入的了解,并学会了如何利用PLC进行控制程序的编写和调试。

我认为PLC在工业自动化领域有着广泛的应用前景,能够有效提高生产线的效率和精度。

7.遇到的问题与解决方法在实验过程中,我遇到了编程逻辑的问题。

3层电梯VHDL报告

3层电梯VHDL报告

一.实验题目简易二层电梯控制器模拟真实电梯的运行情况,设计制作一个简易电梯控制器控制二层电梯的运行。

基本要求:1、电梯设有一层、二层外部呼叫按钮和内部一层、二层指定按钮(BTN)。

2、利用数码管显示电梯所在楼层,用LED显示电梯运行状态如上行、下行、开门、关门等。

提高要求:1、点阵显示楼层;2、用点阵显示楼层的上下滚动移出移入表示电梯的上行或下行运行方向3、增加为三层电梯控制器二.设计方案及思路设计思路:根据题目要求,我在程序中设计了需要用到的8个外部按钮:f1up,f2up ,f2dn,f3dn,warning,stop1,stop2,stop3,reset,另外还有相应的显示信号,程序利用状态机实现总体的控制,状态中用到了7个状态:(stopon1,dooropen,doorclose,doorwait,up1,down1,stop),状态的主要转换如下:设定复位后初始状态是stopon1,然后状态跳转到doorclose,在接收到相应的请求信号时,做出判断,若请求信号的楼层大于当前所在的楼层,则程序跳转到up1状态,小于则跳转到down1状态,如果请求信号的楼层与当前楼层相同时,则开门进入dooropen 状态,然后到开门延迟状态doorwait,然后再到doorclose状态,上升和下降的过程中判断电梯是否到达指定的楼层,若到达,则程序进入stop状态,然后到开门->延时->关门,进而做判断。

状态转移图如下:各个状态线表示的内容如下: 1初始化2 初始化后电梯进入工作状态,起始是关门状态3 没有任何信号输入时,电梯始终工作在关门状态4 电梯接收到信号,且请求信号大于当前楼层5 电梯上升后到达指定楼层时停止1161092stopon1 dooropenup1stopdoorwait1doorclosedown1 345876 电梯停止后便开门7 延时等待乘客搭乘电梯或者走出电梯 8 等待时间结束后电梯关门9 电梯接收到信号,且请求信号小于当前楼层 10 电梯下降到指定楼层后停止11 电梯接受的信号与当前楼层相同则开门控制原理图:分块设计:程序中主要分了3个模块:分频模块,状态控制,状态显示,其中状态显示分成了信号灯显示部分和点阵显示部分,因为一开始对点阵的显示比较生疏,所以点阵显示模块是后来才在总的程序中加入的。

PLC三层电梯控制报告

PLC三层电梯控制报告

基于PLC的三层电梯设计一、编程要求:(一)决定系统所需的动作及次序。

当使用可编程控制器时,最重要的一环是决定系统所需的输入及输出,这主要取决于系统所需的输入及输出接口分立元件。

输入及输出要求:(1) 第一步是设定系统输入及输出数目,可由系统的输入及输出分立元件数目直接取得。

本实验装置的输入输出点数是:输入24点,输出24点。

(2)第二步是决定控制先后、各器件相应关系以及作出何种反应。

(二)将输入及输出器件编号每一输入和输出,包括定时器、计数器、内置继电器等都有一个唯一的对应编号,不能混用。

(三)画出梯形图。

根据控制系统的动作要求,画出梯形图。

梯形图设计规则(1)触点应画在水平线上,不能画在垂直分支上。

应根据自左至右、自上而下的原则和对输出线圈的几种可能控制路径来画。

(2)不包含触点的分支应放在垂直方向,不可放在水平位置,以便于识别触点的组合和对输出线圈的控制路径。

(3)在有几个串联回路相并联时,应将触头多的那个串联回路放在梯形图的最上面。

在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。

这种安排,所编制的程序简洁明了,语句较少。

(4)不能将触点画在线圈的右边,只能在触点的右边接线圈。

(四)将梯形图转化为程序把继电器梯形图转变为可编程控制器的编码,当完成梯形图以后,下一步是把它编码成可编程控制器能识别的程序。

这种程序语言是由地址、控制语句、数据组成。

地址是控制语句及数据所存储或摆放的位置,控制语句告诉可编程控制器怎样利用数据作出相应的动作。

(五)在编程方式下用键盘输入程序。

一般情况下是用梯形图编程较为方便(六)编程及设计控制程序。

(七)测试控制程序的错误并修改。

(八)保存完整的控制程序。

二、控制要求电梯由安装在各楼层厅门口的上升和下降呼叫按钮进行呼叫操纵,其操纵内容为电梯运行方向。

电梯轿箱内设有楼层内选按钮S1 ~ S3,用以选择需停靠的楼层。

L1为一层指示、L2 为二层指示、L3为三层指示,SQ1~SQ3为到位行程开关。

三层电梯实训报告1

三层电梯实训报告1

项目名称三层电梯监控系统专业机电一体化技术班级10级机电2班姓名谢骏德成绩:机械与电子工程系2011年12月28 日目录第一章概述 (2)第二章PLC设计电梯的优越性 (3)第三章三层电梯的升降PLC控制要求 (4)第四章梯形图及调试 (6)第五章实训小结 (12)第一章概述电梯:elevator;lift;moving staircase。

一种以电动机为动力的垂直升降机,装有箱状吊舱,用于多层建筑乘人或载运货物。

也有台阶式,踏步板装在履带上连续运行,俗称扶梯。

1—控制柜(屏);2—曳引机;3—曳引钢丝绳;4—限速器;5—限速器钢绳;6—限速器张紧装置;7—轿厢;8—安全钳;9—轿厢门安全触板;10—导轨;11—对重;12—厅门;13—缓冲器第二章PLC设计电梯的优越性PLC总的发展趋势是:高功能、高速度、高集成度、大容量、小体积、低成本、通信组网能力强。

这种工业计算机采用“面向用户的指令”,因此编程方便。

它能完成逻辑运算、顺序控制、定时计数和算术操作,它还具有“数字量和模拟量输入输出控制”的能力,并且非常容易与“工业控制系统联成一体”,易于“扩充”。

可编程序控制器是应用面最广、功能强大、使用方便的通用工业控制装置,自研制成功开始使用以来,它已经成为了当代工业自动化的主要支柱之一。

第三章三层电梯升降PLC控制的要求(1)本系统采用轿厢外唤叫、轿厢内按钮控制形式。

轿厢内、外均由指令按钮进行操作。

每层楼的厢外设有呼叫按钮SB6~SB9,厢内设有开门按钮SBl,关门按钮SB2,层面指令按钮SB3~SB5。

(2)电梯运行到指定位后,具有自动开/关门的功能,也能手动开门和关门。

(3)利用指示灯显示电梯厢外的呼叫信号、电梯厢内的指令信号和电梯到达信号。

(4)能自动判电梯运行方向,并发出相应指示信号。

(5)电梯上下运行由一台主电机驱动。

电机正转,电梯上升;电动反转,电梯下降。

(6)电梯轿厢门由另一台小功率电机驱动。

三层电梯实训报告

三层电梯实训报告

三层电梯实训报告第一篇:三层电梯实训报告三层电梯实训报告摘要20世纪60年代末,为了克服传统继电器的种种应用上的缺点,人们研制出了一种先进的可编程序控制器PLC(Programmable logic Controller),由于PLC具有优良的技术性能,因此它一问世就很快得到了推广应用。

随着微电子技术和计算机技术的迅速发展,PLC在工业控制领域内得到广泛的应用愈加明显。

PLC是一种基于数字计算机技术,专为在工业环境下应用而设计的电子控制装置,它采用可编程程序的存储器,用来存储用户指令,通过数字或模拟的输入/输出,完成一系列逻辑、顺序、定时、记数、运算等确定的功能,来控制各种类型的机电一体化设备和生产过程。

具体来讲PLC主要具有以下的特点:(1)可靠性高,抗干扰能力强;(2)(2)编程方法简单、直观;(3)体积小、耗能低、重量轻;(4)硬件配套齐全,用户使用方便,适应性强;(5)系统的设计/安装、调试工作量少;(6)维修工作量小、维护方便;(7)接口模块功能强、品种多。

PLC在电梯控制上的应用主要体现在它的逻辑开关控制功能。

由于PLC具有逻辑运算,计数和定时以及数据输入输出的功能。

在电梯控制过程中,各种逻辑开关控制与PLC很好的结合,很好的实现了对电梯的控制。

本论文是以三菱广泛应用的整体中型机FX2N-128为背景机,详细介绍其系统配置,兼顾介绍,指令系统,编程方法和控制系统设计方法,同时也介绍了模块式PLC的一些智能单元。

本人毕业设计的电梯包括电梯自动运行、消防运行、PLC综合控制三个系统。

论文对PLC的结构、特点、性能以及与现场控制对象的连线进行了具体的研究,并通过PLC实现了电梯的自动控制以及消防运行。

通过此次毕业设计,提高了我们运用理论知识,分析、处理和解决实际问题的综合能力第二篇:电梯安装维护实训报告《电梯安装与使用维护》姓名:班级:学号:实训总结报告专业:机电一体化日期:2013年12月4日一、描述电梯总体结构电梯所占有的四大空间:1、机房:曳引机、控制柜(屏)、承重梁(也有在楼板下面)、导向轮(也有在楼板下面)、电源总开关、限速器、极限开头、选层器、发电机及励磁柜(直流电梯),电引钢丝绳锥套与组头组合(曳引比为2:1、曳引钢丝绳(绕在曳引轮上),地震报警保护器(VVVF电梯)。

PLC三层电梯实验报告

PLC三层电梯实验报告

题目:三层电梯实验一、实验目的1、熟练地掌握PLC的编程和程序调试方法。

2、进一步熟悉PLC的I/O连接。

3、熟悉变频器的使用。

名称类型数量名称类型数量PLC DVP20SX211R1以太网模块DVPEN01-SL 1 网络模块DVPDNET-SL 1 远程I/O模块DVP16SP11T 1台达VFD变频器VFD002EL21A1 台达RTU-DNETRTU-DNET 1台达电源DVPPS02 1 三层电梯模型 1人机界面DOP-10E615 1 计算机 1三、实验内容电梯由安装在各楼层厅门口的上升和下降呼叫按钮进行呼叫操纵,其操纵内容为电梯运行方向。

电梯箱内设有楼层内选按钮,用以选择需停靠的楼层。

电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。

例如,电梯停在一层,在二层轿箱外呼叫时,必须按二层上升呼叫按钮,电梯才响应呼叫(从一层运行到二层),按二层下降呼叫按钮无效;反之,若电梯停在三层,在二层轿箱外呼叫时,必须按二层下降呼叫按钮,电梯才响应呼叫(从三层运行到二层),按二层上升呼叫按钮无效。

PLC 主机输入输出如表6-1所示。

名称输入点名称输出点箱内三层呼叫X0/M50 方向上Y0箱内二层呼叫X1/M51 方向下Y1箱内一层呼叫X2/M52 箱内三层呼叫指示Y2手动开门X3/M53 箱内二层呼叫指示Y3手动关门X4/M54 箱内一层呼叫指示Y4一层上呼叫X5/M55 开门指示Y5三层下呼叫X6/M56二层上呼叫X7/M57名称输入点名称输出点二层下呼叫X0/M110 关门指示Y0/M70一层到位限位开关X1/M111 一层呼叫指示Y1/M71二层到位限位开关X2/M112 三层呼叫指示Y2/M72三层到位限位开关X3/M113 二层上呼叫指示Y3/M73上限位X4 二层下呼叫指示Y4/M74下限位X5 蜂鸣器Y5X6 正转Y6/M76X7 反转Y7/M77 电梯模型原理图如图6-1所示。

PLC三层电梯实验报告

PLC三层电梯实验报告

PLC三层电梯实验报告一、实验过程记录以及调试步骤及方法1、打开GX develop软件,将原理分析中的程序输入进去。

2、打开PLC试验箱电源,打开组态王软件,点击虚拟电梯工程,再点击VIEW,然后进入实验画面。

3、将GX develop软件中的程序输入进PLC中,将开关搬到run 运行状态。

4、按实验要求进行仿真、调试。

仿真的调试步骤如下所示:(1)点击该楼层门厅按钮重开门:电梯在1楼时点击1楼的门厅按钮,此时电梯门打开。

(2)手动开门优先:在电梯轿厢内点击开门按钮,则在电梯不运行状态下,则电梯门打开,此信号优先于轿厢内关门信号,其次是自动开关们信号。

(3)电梯最远程反向截车原则:电梯如果向上运行时,对于有向下方向的呼梯信号,电梯先响应最远的,换向后再按顺向截车原则响应向下方向的其他信号。

(4)指示灯的闪烁:在电梯上升状态下,PLC实验箱上的Y00,Y02,Y04闪烁,下降时Y01,Y03,Y05闪烁,停在某一楼层时,该楼层指示灯亮,其他楼层的灯灭。

(5)自动停二楼:电梯停止运行30s后电梯自动停到二楼。

二、实验结果处理与分析1.最终的实验系统原理图2.满足实验要求的程序清单程序清单见附录3.实验结果分析①在线PLC写入②打开组态王,选择电梯模型,并点击“VIEW”运行按键③选择实验画面,进行实验④点击开始,电梯处于一楼,按下二楼和三楼的门厅按键⑤电梯运行到二楼开门,门厅向上按键熄灭并开门,延时后关门继续向上运行⑥电梯到达三楼开门,同时门厅向下按键熄灭⑦一段延时后电梯门关闭,响应二楼门厅向下按键信号⑧电梯响应一楼门厅信号,但之后无召唤信号,电梯门关闭,停止运行⑨电梯停止运行后30秒没有请求信号,电梯主动停在二楼三、实验心得体会在本次的实验中,我遇到了许多的困难。

其中在实验程序的调试过程中,出现了许多问题。

比如说在调试的过程中,出现了当电梯停在一楼,而按门厅二楼向下按钮,电梯不是直接到二楼停车,而是先到三楼,再到二楼进行开关门。

三层电梯课程设计实验报告

三层电梯课程设计实验报告

液体混合装置课程设计实验报告系别电气工程系班级本自动化学号学生姓名指导老师组员摘要对于这次的课程设计的必选项:三层电梯控制系统的模拟。

一开始,我们是认为这是个比较基础的程序设计,所以就把重心倾向了选项水塔水位控制模拟中。

可是在水塔的编程和查找文献中,我们小组发现要想把程序顺利的编制并让它按要求正常工作,更好的理解这门实验开展的目的。

所以,在实验的过程中,我们决定从基础做起。

而后期的水塔系统也因为有了前期三层电梯设计的进而开展得相当顺利。

从这两个星期的不断实验中,让我们对可编程控制器这个词有了比较深层次的理解。

可编程序控制器,英文称Programmable Logical Controller,简称PLC。

它主要由CPU模块、输入模块、输出模块和编程器组成,是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中的机械触点的复杂接线、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是PLC的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。

CPU模块又叫中央处理单元或控制器,它主要由微处理器(CPU)和存储器组成。

它用以运行用户程序、监控输入/输出接口状态、作出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如编程器、电脑、打印机等)的请求以及进行各种内部判断等。

PLC的内部存储器有两类,一类是系统程序存储器,主要存放系统管理和监控程序及对用户程序作编译处理的程序,系统程序已由厂家固定,用户不能更改;另一类是用户程序及数据存储器,主要存放用户编制的应用程序及各种暂存数据和中间结果。

关于这次的实验,我们组通过查阅图书馆的相关资料,也选择了网上阅览的方式同步进行。

在我们已有知识的基础上对PLC的发展历程有了更全面的了解。

数字系统设计课程设计三层电梯控制器03071207

数字系统设计课程设计三层电梯控制器03071207

数字系统设计课程设计题目:三层电梯控制器姓名:钟玉钊班级:计算机052班学号:05071232日期:2008.7.5-2008.7.12地点:南山综合楼B—805EDA实验室一、设计目的:1.熟练利用VHDL语言进行数字系统设计;2. 掌握数字系统的设计方法——自顶向下的设计思想;3.掌握电梯控制器的设计与使用;4.根据电梯控制器的功能要求设计一个电梯控制器;二、实验器材:PC机一台,EDA教学实验系统一台,下载电缆一根(已接好),导线若干。

三、设计要求:设计一个简单的三层电梯控制器,它的具体功能为:1、每层电梯的入口处设有上下请求开关,电梯内有乘客到达楼层停站请求开关,能够提前关门和延时关门。

2、每层外面入口处有显示当前电梯处在第几层的数码管,电梯内部有显示当前电梯所处位置的数码管,并有上升或下降的指示灯,有开门或关门的状态指示。

3、电梯到请求站后,开门时间大概为2.6(200*1/76)秒,每两层之间的运行时间为2.6秒,若当前层没有请求则停留在当前层的关门状态。

4、能记忆电梯内外的所有请求信号,并能按照电梯运行规则次序响应,每个信号保留至执行后消除。

5 、电梯运行规则:无论电梯当前是处于何种状态,若电梯没有竞争信号请求,则只要有请求则响应,若当前电梯处于第一层,优先响应第一层的开门请求,若其它层任何信号请求,则应当进入运行状态,然后达到第二层,同理处于第三层的时候,也是优先开门请求,然后再响应其他层的请求,必须经过第二层。

处于第二层时就需要根据电梯的当前方向来判断。

若处于下降模式,且第第三层到第一层的请求还没有响应,此时若二层有请求,只第二层有下降请求,不响应二层的上层请求,到达一层后再回来响应上升请求。

同理若为上升状态,则相反。

四、实验原理:1.功能描述:随着社会的发展,电梯的使用越来越普遍,已从原来只在商业大夏、宾馆使用,过渡到在办公楼、居民楼等场合使用,并且对电梯的功能要求也不断提高。

数字电路与逻辑设计综合实验报告_电梯

数字电路与逻辑设计综合实验报告_电梯
图表层关门等待到2层关门等待此图为电梯处于层关门等待对应图中level0state状态时按下btn3对应二层电梯外按键led3亮起电梯对该信号反应led3熄灭电梯经过层上行对应图中level0state状态2层开门状态对应图中level1state状态2层开门等待状态对应图中level1state状态2层开门状态对应图中level1state状态直到2层关门等待状态对应图中level1state状态的顺序转化由t的上升沿触发实现定时功能
2
说明:
1.状态显示:由点阵显示,采用红色灯,每种状态对应一种显示。
2.楼层:数码管显示,0对应1层,1对应2层。
3.保留信号:led显示。O1,I1,O2,I2,分别对应电梯外,电梯内的一二层指示灯。按键被按下,对应的led灯亮,直到这个信号被执行后,对应的指示灯灭。本实验采用led5-led2。
实现:使用点阵,实现上下行及开关门的显示。
3.电梯的楼层显示。
实现:使用数码管显示。
4.电梯状态到固定时间间隔进行转化。
实现:增加一个分频器
5.能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。
实现:led灯实现该功能的显示。
6.电梯运行规则:本次实验只实现二层电梯的控制,当电梯停靠在某层,优先响应该层的请求。电梯到达有请求的楼层,电梯自动开门。
状态对应对照表格
状态
Door
L
状态标示
一层关门等待
000
0
S0
一层开门
001
0
S1
一层开门等待
011
0
S2
一层关门
010
0
S3
上行
100
0
S4

三层电梯实训报告

三层电梯实训报告

三层电梯实训报告姓名:班级:学号:一、实训要求我们小组所做的是三层电梯,该电梯应实现以下功能:1、当电梯停在1F或2F时,如果按3F按钮SB3呼叫,则电梯上升到3F,由行程开关ST3停止。

2、当电梯停在3F或2F时,如果按1F按钮SB1呼叫,则电梯下降到1F,由行程开关ST1停止。

3、当电梯停在1F时,如果按2F按钮SB2呼叫,则电梯上升到2F,由行程开关ST2停止。

4、当电梯停在3F时,如果按2F按钮SB2呼叫,则电梯下降到2F,由行程开关ST2停止。

5、当电梯停在1F,而2F、3F均有呼叫时,电梯先上升到2F,由ST2控制暂停2S后,继续上升到3F,由ST3停止。

6、当电梯停在3F,而1F、2F均有呼叫时,电梯先下降到2F,由ST2控制暂停2S后,继续下降到1F,由ST1停止。

7、当电梯上升途中,任何反向的下降按钮呼叫均无效。

8、当电梯下降途中,任何反向的上升按钮呼叫均无效。

二、MCGS组态软件简介MCGS是一套用于快速构造和生成计算机监控系统的状态软件,它通过对现场数据的采集处理,以动画态显示,报警处理,流程控制,实时曲线,历史曲线和报表输出等多种方式向用户提供解决实际工程问题方案,它具有简单灵活的可视化操作界面,丰富生动的多媒体画面,良好的可维护性和可扩充性等功能及特点。

三、PLC选型;I/O地址分配表PLC选型:CPM2A.四、组态设计1、数据对象2、画面设计五丶综合测试1、组态软件测试按下SB2电梯向二楼上升,到二楼后停止,按下SB3电梯向三楼上升,到三楼停止。

按下SB1电梯向一楼下降到一楼后停止。

2、PLC设备调试,联机调试(1)开始时,电梯处于任意一层。

(2)当有外呼电梯信号到来是,轿厢响应该呼梯信号,达到该楼层时,轿厢停止运行。

(3)当有内呼电梯信号到来是,轿厢响应该呼梯信号,达到该楼层时,轿厢停止运行。

(4)电梯具有最远反向外呼梯功能。

(5)电梯未平层或运行时,开门按钮和关门按钮均不起作用。

三层电梯控制 《PLC课程设计》报告书

三层电梯控制 《PLC课程设计》报告书

机械与车辆学院《PLC课程设计》报告(2013-2014学年第二学期)课程设计题目:三层电梯控制姓名:学号:班级:指导老师:时间:年06月09 日—年06月20日成绩:摘要随着社会的不断发展,楼房越来越高,而电梯成为了高层楼房的必须设备。

电梯从手柄开关操纵电梯、按钮控制电梯发展到了现在的群控电梯,为高层运输做出了不可磨灭的贡献。

PLC在电梯升降控制上的应用主要体现在它的逻辑开关控制功能。

由于PLC具有逻辑运算,计数和定时以及数据输入输出的功能。

在电梯升降过程中,各种逻辑开关控制与PLC很好的结合,很好的实现了对电梯的控制。

在PLC课程设计中,我设计了一个三层电梯控制系统,在学完《电气控制与PLC应用》课程后,我们在设计过程中较为得心应手,不至于从头开始。

整个过程包括了方案讨论,程序设计,程序修改,上机调试等,在程序设计方面花了比较多的时间,主要考虑到电梯分别停在一层、二层和三层时在其他楼层呼叫等各种情况。

三层电梯是由三菱PLC作为电梯的控制器,控制电梯的运行。

通过PLC 控制程序经过OPC与组态王结合起来达到全程仿真的过程。

本文设计的三层电梯主要是一些简单得运行程序,通过电梯控制系统的组成,阐述可编程控制器(PLC)在电梯控制中的应用,采用三菱PLC编程的程序控制方式,提出了三层电梯的PLC控制系统总体设计方案、设计过程、组成,列出了具体的主要硬件电路、电梯的控制梯形图及指令表。

并给出了系统组成框图和程序流程图,在分析、处理随机信号逻辑关系的基础上,提出了PLC的编程方法,设计了一套完整的电梯控制系统方案。

采用本方案实现电梯控制,能够解决继电器——接触器触点多,故障率高、可靠性差、安装调试周期长、维修工作量大、接线复杂等缺点。

使电梯运行更加安全、方便、舒适。

目录一、课程设计性质和目的 ..................................... - 3 -二、课程设计的内容及要求 ....................................... - 4 -三、课程设计的进度及安排 ....................................... - 6 -四、设计所需软件平台 ........................................... - 7 -五、设计思路及梯形图程序 ....................................... - 7 -六、组态王人界界面设计 ........................................ - 12 -七、调试运行 .................................................. - 17 -八、结果及分析 ................................................ - 19 -九、心得体会 .................................................. - 19 -十、参考文献 .................................................. - 20 - 十一、致谢 .................................................... - 20 - 十二、附录 ................................................... - 21 -一、课程设计性质和目的PLC课程设计是《PLC原理及应用》课程与实验结束后的一门应用性很强的实践课。

实验十五 三层电梯

实验十五 三层电梯

实验十五三层电梯一、实验前的准备将MODUL_SEL拨码开关组合的2—6拨下为ON,1、7、8拨下为OFF,使数码管显示为C1,此时可对组合二的各个模块进行操作。

二、实验目的1、熟悉利用Quartus II开发数字电路的基本流程和Quartus II软件的相关操作,2、掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,利用JTAG/AS进行下载等基本操作。

3、了解VerilogHDL语言设计或原理图设计方法。

4、通过本知识点的学习,了解并掌握三层楼房自动电梯控制器的逻辑功能及应用。

三、实验原理设计一个三层楼房自动电梯控制器,用两个LED显示电梯所处位置,即层数,在每层电梯入口处设有请求按钮开关,请求按钮按下则相应楼层的LED上升或者请求指示灯亮。

电梯内部设置目的停靠层数请求按钮,即停在1-3层中的一层,共3个。

电梯能够复位,复位时停靠在第一层。

用一个电梯运行时钟脉冲控制电梯运动,每来一个脉冲电梯升(降)一层。

电梯到达有上升或者下降请求的楼层后,该层的指示灯灭,电梯门打开(开门指示灯亮),开门4 秒后,电梯门自动关闭,电梯继续运行。

控制电路应能记忆所有楼层请求信号,并按如下运行规则依次相应:运行过程中先响应最早的请求,再响应后续的请求。

如果无请求则停留当前层。

如果有两个同时请求信号,则判断请求信号离当前层的距离,距离近请求的先响应,再响应较远的请求。

每个请求信号保留至执行后清除。

设计提示此设计问题可分为请求信号输入模块、主控模块、移位寄存显示模块和楼层显示几部分。

在请求信号输入模块中,设置三个开关电平信号,表示3 个楼层的上升或者下降请求信号,每次最多允许两个信号同时请求。

在主控模块中设置开门指示信号doorlight,doorlight=1 为开门状态;doorlinght=0 为关门状态。

在移位寄存显示模块中设置三个LED 显示信号,表示当前所在楼层;一个指示灯udsig 表示电梯上行时为0,电梯下行时为1,电梯初始状态是处在一层,当前楼层经主控模块送LED显示。

三层电梯控制器实验报告

三层电梯控制器实验报告

三层电梯控制器实验报告实验报告:三层电梯控制器一、实验目的本次实验的目的是设计一个能够控制三层电梯的控制器。

通过这个实验,我们可以掌握基本的电梯控制原理,并能够实现电梯的运行、停靠以及乘客上下楼的功能。

同时,通过设计和搭建电梯控制器系统,提升我们的实践操作能力和创新能力。

二、实验原理1.电梯的基本原理电梯的运行基于电动机的驱动和控制,具体来说,电梯的上升和下降是由电动机的旋转方向控制的。

电动机的转向又由控制器控制,控制器通过感应电梯的位置和方向,向电动机发送控制信号,从而实现电梯的运行。

2.电梯控制器的设计电梯控制器是由多个组件组成的系统,包括控制面板、按钮、传感器以及控制器主板等。

控制器主板负责接收传感器信号、处理输入信号、控制电动机运行等功能。

而控制面板和按钮则用于输入电梯运行的指令。

控制器主板的核心是一个单片机,通过编写程序控制电动机的运行、接收输入信号、处理信号等。

其中,传感器用于感应电梯的运动状态和位置,将信号发送给控制器主板。

控制面板和按钮通过线路连接到控制器主板,将输入的指令传递给控制器主板。

三、实验器材和仪器1.模拟电梯2.控制器主板3.控制面板4.按钮5.传感器6.电动机7.电源四、实验步骤和方法1.搭建电梯控制器系统首先,我们需要将控制面板、按钮、传感器和电动机连接到控制器主板上。

具体连线可以参考电梯控制器的电路图进行连接。

2.编写控制器的程序通过编写程序控制电梯的运行、接收输入信号、处理信号等。

程序需要根据传感器的信号来判断电梯的状态和位置,并根据输入的指令来控制电动机的运行。

3.进行实验测试将输入信号输入控制面板和按钮,观察电梯的运行情况,验证电梯控制器的正确性和可靠性。

五、实验结果和分析通过对电梯控制器的搭建和测试,我们成功实现了电梯的正常运行、停靠以及乘客上下楼的功能。

实验结果表明,电梯控制器设计合理,能够准确地根据输入指令来控制电梯的运行。

六、实验总结通过本次实验,我们学习了基本的电梯控制原理,并通过设计和搭建电梯控制器系统,提升了我们的实践操作能力和创新能力。

三层电梯控制器实验报告

三层电梯控制器实验报告

大连理工大学本科实验报告题目:三层电梯控制器课程名称:数字电路与系统设计学院(系):电子信息与电气工程学部专业:班级:学生姓名:学号:完成日期: 2012-7-5成绩:2012 年 7 月 05 日题目:三层电梯控制器1 设计要求随着科技的发展,电梯的使用越来越普遍,在商业大厦、宾馆酒店、办公场所、居民住宅中广泛使用。

并且随着生活水平的提高,人们对电梯功能的要求也不断提高,相应地其控制方式也在不停地方生变化。

对于电梯的控制,传统的方法是使用继电器——接触器控制系统进行控制技术的不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微机化控制的时代。

电梯的微机化控制主要由以下几种形式:1.PLC控制;2.单板机控制;3.单片机控制;4.单微机控制;5.多微机控制;6.人工智能控制。

目前FPGA已广泛应用与电子设计与控制的各个方面。

本设计就是使用一片FPGA来实现对三层电梯的控制。

电梯控制器是控制电梯按顾客的要求自动上下的装置。

三层电梯控制器的功能如下:(1)每层电梯入口处设有上下请求开关,电梯内设有乘客到达层次的停站请求开关。

(2)设有电梯所处位置指示装置及电梯运行模式(上升或下降)指示装置。

(3)电梯每秒升(降)一层楼。

(4)电梯到达有停站请求的楼层后,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停在当前层。

(5)能记忆电梯内外的所有请求信号,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。

(6)电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如更高层有下楼请求,则直接升到有下楼请求的最高层接客,然后便进入下降模式。

当电梯处于下降模式时与上升模式相反。

(7)电梯初始状态为一层开门。

(8)当收到报警信号时,电梯停止工作,电梯维持当前状态不动。

东南大学-PLC实验报告——三层电梯模拟

东南大学-PLC实验报告——三层电梯模拟

Southeast UniversityPLC实验报告——三层电梯模拟班级:******班姓名:****学号:*******指导教师:****小组成员:***Southeast University一、实验目的与要求1、了解PLC 实验原理,掌握简单的PLC 编程方法;2、学习三层电梯的原理电路和面板操作功能,了解其运行原理,掌握控制方法;3、通过编程模拟三层电梯的真实运行情况。

二、硬件原理简述本实验编程及功能的实现均依赖实验室的三层电梯模拟装置,模拟真实电梯的运行情况。

电梯模拟装置由主体框架及导轨、轿箱及门控系统、配重、驱动电机、外呼按钮及显示屏、内选按钮及指示灯和控制系统组成,其实物如图所示。

实验指导书中已详细给出其原理电路,在此不再赘述,仅将面板操作功能简述如下:面板主体可分为四层,自下而上依次为一至四层,其中一到三层与电梯楼层相对应,第四层主要是人在电梯内时对应的操作面板,另外还包括一些其他功能的输入输出端口。

图2 操作面板第四层2.1 按钮与按键背景灯电梯中共有七个按钮,分别是四层的“1”、“2”、“3”,三层的“DOWN ”,二层的“UP ”、“DOWN ”和一层的“UP ”。

这七个按钮原理相同,当按下按钮后,相应的开关量信息将从X1至X7送出,若将H1至H7的红黑端子和24V 直流电源相连,则按键背景灯会亮起。

2.2上下行拨动开关与控制端SA1拨动开关可在电梯处于手动模式时控制上下行,向左拨动,电梯向下运行,向右拨动,电梯向上运行。

当电梯处于自动模式时,将PLC 实验箱中的“SD ”与“正转”短接,则电梯上行,将“SD ”与“反转”短接,则电梯下行。

2.3防夹传感器图1 三层电梯模拟装置Southeast University最右侧的三对黑黄色小孔是防夹传感器SENSOR的输出。

防夹传感器是位于电梯门内的红外线收发装置,正常时,防夹传感器输出开关断开,一旦电梯门夹住人时,输出开关闭合。

数电实验报告-简易三层电梯控制器

数电实验报告-简易三层电梯控制器

数字电路与逻辑设计实验简易电梯控制器实验报告电子工程学院2010211205班张阗目录一、功能设计 (3)1、电梯运行规则 (3)2、实验板硬件实现 (3)二、程序架构 (4)1、分频模块 (5)2、状态机模块 (5)3、寄存器模块 (6)4、外部显示模块 (6)三、程序代码 (7)四、结果仿真 (17)五、实验心得 (20)一、功能设计1、电梯运行规则电梯初始状态为一层开门状态。

电梯外部设有1层请求上升、2层请求下降、2层请求上升、3层请求下降按钮;内部设有1层到达、2层到达、3层到达、关门按钮。

可显示电梯当前所在楼层、外部请求楼层、内部请求楼层。

可现实上升或下降状态。

电梯每秒上升(下降)一层楼。

电梯到达需要停止的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停留在当前层。

电梯需要寄存器来记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。

当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号和停站请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接上升到有下楼请求的最高层,然后进入下降模式。

当电梯处于下降模式时则与上升模式相反。

2、实验板硬件实现(1)控制部分(输入):(2)显示部分(输出):二、程序架构图1 程序架构1、分频模块外部时钟频率为50M,通过分频模块后得到不同功能对应的频率,作为其他模块的时钟输入,包括:状态机模块中的电梯控制时钟、寄存器模块中的按键保存时钟、外部显示模块中的数码管扫描时钟和点阵扫描时钟。

2、状态机模块状态机模块包括十个状态,分别为:stopon1(位于1层),dooropen(开门),doorclose(关门),doorwait1(开门等待第1秒),doorwait2(开门等待第2秒),doorwait3(开门等待第3秒),doorwait4(开门等待第4秒),up(上升),down(下降),stop(停止)。

实训19 三层电梯的模拟控制

实训19 三层电梯的模拟控制

实验十九三层电梯的模拟控制一、实验目的用PLC构成三层电梯控制系统二、实验内容1.控制要求把可编程控制器拨向RUN后,按其它按扭都无效,只有按SQ1,才有效E1亮,表示电梯原始层在一层。

电梯停留在一层:1.按SB5或SB6(SB2)或SB5,SB6(SB2),电梯上升,按SQ2,E1灭,E2亮,上升停止。

2.按SB7(SB3),电梯上升,按SQ3无反应,应先按SQ2,E1灭,E2亮,电梯仍上升,再按SQ3,E2灭,E3亮,电梯停止。

3.按SB5,SB7(SB3) ,电梯上升,按SQ2, E1灭,E2亮,电梯仍上升,按SQ3,E2灭,E3亮,电梯停止2秒后下降,按SQ2,E3灭,E2亮,电梯停止。

4.按SB6(SB2),SB7(SB3) ,电梯上升,按SQ2, E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止。

5.按SB5,SB6(SB2),SB7(SB3) ,电梯上升,按SQ2, E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止2秒后下降,按SQ2,E3灭,E2亮,电梯停止。

电梯停留在二层:1.按SB7(SB3),电梯上升,反方向呼叫无效,按SQ3,E2灭,E3亮,电梯停止。

2.按SB3(SB1),电梯下降,反方向呼叫无效,按SQ1,E2灭,E1亮, 电梯停止。

电梯停留在三层的情况跟停留在一层的情况类似。

2.I/O分配输入输出内呼一层SB1:X1 一层指示灯E1:Y1内呼二层SB2:X2 二层指示灯E2:Y2内呼三层SB3:X3 三层指示灯E3:Y3一层上呼SB4:X4 一层呼叫灯E4:Y4二层下呼SB5:X5 二层向下呼叫灯E5:Y5二层上呼SB6:X6 二层向上呼叫灯E6:Y6三层下呼SB7:X7 三层呼叫灯E7:Y7一层到位开关SQ1:X11 轿厢下降KM1:Y11二层到位开关SQ2:X12 轿厢上升KM2:Y12三层到位开关SQ3:X133.按图所示的梯形图输入程序。

北邮数电实验报告—简易三层电梯控制器

北邮数电实验报告—简易三层电梯控制器

北京邮电大学数字电路与逻辑设计实验简易三层电梯控制器学院:信息与通信工程学院专业:通信工程班级:姓名:学号:一.设计课题的任务要求(一)、实验目的1. 熟练掌握VHDL 语言和QuartusII 软件的使用;2. 理解状态机的工作原理和设计方法;3. 掌握利用EDA 工具进行自顶向下的电子系统设计方法;(二)、相关知识本实验要利用状态机设计实现一个三层电梯控制系统,与其他控制系统一样,本系统划分为控制器和受控电路两部分。

控制器使整个系统按设定的工作方式实现电梯的上升下降和开关门,并接收受控部分即外部按钮以及内部按钮的反馈信号,决定其状态转换方向及输出信号,控制整个系统的工作过程。

三层电梯系统的有上升下降LED指示灯,开关门LED指示灯,所有LED灯均为高电平点亮。

设置4s的开关门等待电路,用数码管显示电梯楼层,用按钮模拟电梯外部及内部的按钮(BTN)。

系统有正常工作和复位两种工作模式。

(三)、实验任务模拟真实电梯的运行情况,设计制作一个简易电梯控制器控制二层电梯的运行。

基本要求:1.电梯设有一层、二层外部呼叫按钮和内部一层、二层指定按钮(BTN)。

2.利用数码管显示电梯所在楼层,用LED显示电梯运行状态如上行、下行、开门、关门等。

提高要求:1.点阵显示楼层;2.用点阵显示楼层的上下滚动移出移入表示电梯的上行或下行运行方向3.增加为三层电梯控制器二.系统设计(包括设计思路、总体框图、分块设计)(一)设计思路电梯控制器采用状态机来实现, 思路比较清晰。

可以将电梯等待的每秒钟以及开门、关门都看成一个独立的状态。

由于电梯又是每秒上升或下降一层, 所以就可以通过一个统一的1秒为周期的时钟来触发状态机。

根据电梯的实际工作情况, 可以把状态机设置10个状态,分别是“电梯停留在第1层”、“开门”、“关门”、“开门等待第1秒”、“开门等待第2秒”、“开门等待第3秒”、“开门等待第4秒”、“上升”、“下降”和“停止”状态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字电路与逻辑设计实验简易电梯控制器实验报告电子工程学院2010211205班张阗目录一、功能设计 (3)1、电梯运行规则 (3)2、实验板硬件实现 (3)二、程序架构 (4)1、分频模块 (5)2、状态机模块 (5)3、寄存器模块 (6)4、外部显示模块 (6)三、程序代码 (7)四、结果仿真 (17)五、实验心得 (20)一、功能设计1、电梯运行规则电梯初始状态为一层开门状态。

电梯外部设有1层请求上升、2层请求下降、2层请求上升、3层请求下降按钮;内部设有1层到达、2层到达、3层到达、关门按钮。

可显示电梯当前所在楼层、外部请求楼层、内部请求楼层。

可现实上升或下降状态。

电梯每秒上升(下降)一层楼。

电梯到达需要停止的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停留在当前层。

电梯需要寄存器来记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。

当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号和停站请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接上升到有下楼请求的最高层,然后进入下降模式。

当电梯处于下降模式时则与上升模式相反。

2、实验板硬件实现(1)控制部分(输入):(2)显示部分(输出):二、程序架构图1 程序架构1、分频模块外部时钟频率为50M,通过分频模块后得到不同功能对应的频率,作为其他模块的时钟输入,包括:状态机模块中的电梯控制时钟、寄存器模块中的按键保存时钟、外部显示模块中的数码管扫描时钟和点阵扫描时钟。

2、状态机模块状态机模块包括十个状态,分别为:stopon1(位于1层),dooropen(开门),doorclose(关门),doorwait1(开门等待第1秒),doorwait2(开门等待第2秒),doorwait3(开门等待第3秒),doorwait4(开门等待第4秒),up(上升),down(下降),stop(停止)。

电梯初始状态为stopon1,各状态之间的转移情况如图2所示。

图2 状态转移图3、寄存器模块由于纽扣按钮不能长时间按下,所以需要寄存器模块中的变量来储存按钮的输入。

当按下某按钮时,其对应布尔型变量为‘1’,即使松开按钮,该变量仍然为‘1’。

寄存器模块包括各层的上升、下降、请求停站信号,来控制各状态间的转移。

4、外部显示模块外部显示模块包括数码管显示和点阵显示的控制。

根据点阵显示图形的特征,设置点阵扫描方式为逐行扫描,以保证各点亮度的均衡性。

控制行时,低电平对应亮,高电平对应灭;控制列时,高电平对应亮,低电平对应灭。

三、程序代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity threelift isport(clk_in:in std_logic;close:in std_logic; --关门信号reset:in std_logic; --异步复位端口f1upbutton:in std_logic; --一层上升请求端口f2upbutton:in std_logic; --二层上升请求端口f2dnbutton:in std_logic; --二层下降请求端口f3dnbutton:in std_logic; --三层下降请求端口stop1button:in std_logic; --一层停站请求端口stop2button:in std_logic; --二层停站请求端口stop3button:in std_logic; --三层停站请求端口position:buffer integer range 1 to 3; --电梯位置信号udsig:buffer std_logic; --上升或下降信号fuplight,fdnlight,stoplight:buffer std_logic_vector(3 downto 1);--上升、下降、停站请求寄存信号doorlight:out std_logic; --开关门状态信号row: out std_logic_vector(7 downto 0);col: out std_logic_vector(7 downto 0);cat:out std_logic_vector(5 downto 0);led:out std_logic_vector(6 downto 0);beep:out std_logic);end entity threelift;architecture one of threelift istype lift_state is --定义十个状态(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop);signal mylift:lift_state;signal clearup:std_logic; --上升和停站请求清除信号signal cleardn:std_logic; --下降和停站请求清除信号signal buttonclk,liftclk,ledclk,clk_2:std_logic; --分频后时钟signal q1:integer range 0 to 24999999; --分频中间变量signal q2:integer range 0 to 39999999;signal q3:integer range 0 to 9;signal q4:integer range 0 to 49;signal duan:std_logic_vector(6 downto 0); --数码显示管中间变量signal shuju:std_logic_vector(3 downto 0); --选择输入端的中间变量signal cnt:std_logic_vector(2 downto 0); --控制数码管的中间变量signal aim,request,stair:std_logic_vector(3 downto 0); --控制数码管的传值变量signal hang: std_logic_vector(7 downto 0); --控制点阵的行signal lie: std_logic_vector(7 downto 0); --控制点阵的列signal count: std_logic_vector(2 downto 0); --控制点阵的中间变量beginprocess(clk_in) --分频模块beginIf(clk_in' event and clk_in='1')thenIf q1=24999999 then q1<=0;buttonclk<=not buttonclk;else q1<=q1+1;end if;end if;end process;process(clk_in)beginIf(clk_in' event and clk_in='1')thenIf q2=39999999 then q2<=0;liftclk<=not liftclk;else q2<=q2+1;end if;end if;end process;process(clk_in)beginIf(clk_in' event and clk_in='1')thenIf q3=9 then q3<=0;ledclk<=not ledclk;else q3<=q3+1;end if;end if;end process;process(clk_in)beginIf(clk_in' event and clk_in='1')thenIf q4=49 then q4<=0;clk_2<=not clk_2;else q4<=q4+1;end if;end if;end process;ctrlift:process(reset,liftclk) --状态机模块variable pos:integer range 3 downto 1;beginif reset='1' then --异步复位,电梯的初始状态为一层开门状态mylift<=stopon1;clearup<='0';cleardn<='0';elseif liftclk'event and liftclk='1' thencase mylift iswhen stopon1=>doorlight<='1';position<=1;pos:=1;mylift<=doorwait1; --电梯等待4swhen doorwait1=>clearup<='0';cleardn<='0';if(close='1') thenmylift<=doorclose; --如果有关门信号,则转至关门状态elsemylift<=doorwait2;end if;when doorwait2=>if(close='1') thenmylift<=doorclose; --如果有关门信号,则转至关门状态elsemylift<=doorwait3;end if;when doorwait3=>if(close='1') thenmylift<=doorclose; --如果有关门信号,则转至关门状态elsemylift<=doorwait4;end if;when doorwait4=>mylift<=doorclose;when doorclose=> --关门,判定电梯下一个运行方式doorlight<='0';if udsig='1' then --电梯正在上升if position=3 thenif fuplight="000" and fdnlight="000" and stoplight="000" then--没有请求信号时,电梯停在当前层udsig<='0';mylift<=doorclose;elsif fdnlight(3)='1' or stoplight(3)='1' then--本层有请求信号时,电梯开门udsig<='0';mylift<=dooropen;else --否则下降udsig<='0';mylift<=down;end if;elsif position=2 thenif fuplight="000" and fdnlight="000" and stoplight="000" thenudsig<='1';mylift<=doorclose;elsif fuplight(2)='1' or stoplight(2)='1' then--本层有上升或停站请求时时,电梯开门udsig<='1';mylift<=dooropen;elsif fuplight="000" and stoplight="000" and fdnlight="010" then--只有二层有下降请求时,电梯开门udsig<='0';mylift<=dooropen;elsif stoplight(3)='1' or fdnlight(3)='1' then--三层有停站请求或下降请求,则上升udsig<='1';mylift<=up;elseudsig<='0';mylift<=down;end if;elsif position=1 thenif fuplight="000" and fdnlight="000" and stoplight="000" thenudsig<='1';mylift<=doorclose;elsif stoplight(1)='1' or fuplight(1)='1' thenudsig<='1';mylift<=dooropen;elseudsig<='1';mylift<=up;end if;end if;elsif udsig='0' then --电梯正在下降if position=3 thenif fuplight="000" and fdnlight="000" and stoplight="000" then udsig<='0';mylift<=doorclose;elsif fdnlight(3)='1' or stoplight(3)='1' thenudsig<='0';mylift<=dooropen;elseudsig<='0';mylift<=down;end if;elsif position=2 thenif fuplight="000" and fdnlight="000" and stoplight="000" then udsig<='0';mylift<=doorclose;elsif fdnlight(2)='1' or stoplight(2)='1' thenudsig<='0';mylift<=dooropen;elsif fdnlight="000" and stoplight="000" and fuplight="010" then udsig<='1';mylift<=dooropen;elsif fuplight(1)='1' or stoplight(1)='1' then--一层有停站请求或上升请求,则下降udsig<='0';mylift<=down;elseudsig<='1';mylift<=up;end if;elsif position=1 thenif fuplight="000" and fdnlight="000" and stoplight="000" then udsig<='1';mylift<=doorclose;elsif stoplight(1)='1' or fuplight(1)='1' thenudsig<='1';mylift<=dooropen;elseudsig<='1';mylift<=up;end if;end if;end if;when up=> --电梯处于上升状态position<=position+1; --电梯楼层数加一pos:=pos+1;if pos<3 and (stoplight(pos)='1' or fuplight(pos)='1') thenmylift<=stop;--电梯在一层或二层,本层有停站或上升请求时,则停止elsif pos=3 and (stoplight(pos)='1' or fdnlight(pos)='1') thenmylift<=stop;--电梯处在三层,并且有三层停站或下降请求,则停止elsemylift<=doorclose;end if;when down=> --电梯处在下降状态position<=position-1; --电梯楼层数减一pos:=pos-1;if pos>1 and (stoplight(pos)='1' and fdnlight(pos)='1') thenmylift<=stop;elsif pos=1 and (stoplight(pos)='1' or fuplight(pos)='1') thenmylift<=stop;elsemylift<=doorclose;end if;when stop=>mylift<=dooropen;when dooropen=>doorlight<='1';if udsig='1' thenif position<3 and (fuplight(pos)='1' or stoplight(pos)='1') then clearup<='1'; --清除当前层上升和停站请求elseclearup<='1';cleardn<='1';end if;elsif udsig='0' thenif position>1 and (fdnlight(pos)='1' or stoplight(pos)='1') then cleardn<='1'; --清除当前层下降和停站请求elseclearup<='1';cleardn<='1';end if;end if;mylift<=doorwait1;end case;end if;end if;end process ctrlift;ctrlight:process(reset,buttonclk) --寄存器模块beginif reset='1' then --复位,寄存信号清零fuplight<="000";fdnlight<="000";stoplight<="000";elseif buttonclk'event and buttonclk='1' thenif clearup='1' then --上升和停站请求清零fuplight(position)<='0';stoplight(position)<='0';elseif f1upbutton='1' then --记忆各层上升请求fuplight(1)<='1';elsif f2upbutton='1' thenfuplight(2)<='1';end if;end if;if cleardn='1' then --下降和停站请求清零fdnlight(position)<='0';stoplight(position)<='0';elseif f2dnbutton='1' then --记忆各层下降请求fdnlight(2)<='1';elsif f3dnbutton='1' thenfdnlight(3)<='1';end if;end if;if stop1button='1' then --记忆各层停站请求stoplight(1)<='1';elsif stop2button='1' thenstoplight(2)<='1';elsif stop3button='1' thenstoplight(3)<='1';end if;end if;end if;end process ctrlight;process(position)beginif reset='1'thenstair<="0001";elseif position=1 thenstair<="0001";elsif position=2 thenstair<="0010";elsif position=3 thenstair<="0011";end if;end if;end process;process(stoplight)beginif reset='1' thenaim<="0001";elseif stoplight(1)='1' thenaim<="0001";elsif stoplight(2)='1'thenaim<="0010";elsif stoplight(3)='1'thenaim<="0011";end if;end if;end process;process(fuplight)beginif reset='1' thenrequest<="0001";elseif fuplight(1)='1'or fdnlight(1)='1' then request<="0001";elsif fuplight(2)='1'or fdnlight(2)='1'then request<="0010";elsif fuplight(3)='1'or fdnlight(3)='1'thenrequest<="0011";end if;end if;end process;process(ledclk) --数码管控制模块beginif (ledclk'event and ledclk='1') thenif cnt="101" then cnt<="000";else cnt<=cnt+1; --每有一个扫描信号上升沿实现加1扫描end if;end if;end process;process(cnt)begincase cnt is --扫描时给每个数码管赋值when "000"=>cat<="111110"; shuju<=stair;when "001"=>cat<="111101";shuju<="0000";when "010"=>cat<="111011";shuju<=aim;when "011"=>cat<="110111";shuju<="0000";when "100"=>cat<="101111";shuju<=request;when "101"=>cat<="011111";shuju<="0000";when others=> null;end case;end process; --结束进程process(shuju) --开始进程(译码显示)begincase shuju iswhen "0000"=>duan<="0111111"; --0when "0001"=>duan<="0000110"; --1when "0010"=>duan<="1011011"; --2when "0011"=>duan<="1001111"; --3when "0100"=>duan<="1100110"; --4when "0101"=>duan<="1101101"; --5when "0110"=>duan<="1111101"; --6when "0111"=>duan<="0000111"; --7when "1000"=>duan<="1111111"; --8when "1001"=>duan<="1101111"; --9when others=>null;end case;end process;led<=duan;process(clk_2) --点阵控制模块beginif (clk_2'event and clk_2='1') thenif count="111" then count<="000";else count<=count+1; --每有一个扫描信号上升沿实现加1扫描end if;end if;end process; --结束进程process(count)beginif udsig='1'thencase count iswhen "000"=>hang<="01111111";lie<="00011000";when "001"=>hang<="10111111";lie<="00111100";when "010"=>hang<="11011111";lie<="01011010";when "011"=>hang<="11101111";lie<="10011001";when "100"=>hang<="11110111";lie<="00011000";when "101"=>hang<="11111011";lie<="00011000";when "110"=>hang<="11111101";lie<="00011000";when "111"=>hang<="11111110";lie<="00011000";when others=>null;end case;elsecase count iswhen "000"=>hang<="01111111";lie<="00011000";when "001"=>hang<="10111111";lie<="00011000";when "010"=>hang<="11011111";lie<="00011000";when "011"=>hang<="11101111";lie<="00011000";when "100"=>hang<="11110111";lie<="10011001";when "101"=>hang<="11111011";lie<="01011010";when "110"=>hang<="11111101";lie<="00111100";when "111"=>hang<="11111110";lie<="00011000";when others=>null;end case;end if;row<=hang;col<=lie;end process;end architecture one;四、结果仿真1、电梯位于1层→内部有到达2层请求→电梯上升至2层→开门,关门。

相关文档
最新文档