当前位置:文档之家› 电梯模拟3

电梯模拟3

电梯模拟3
电梯模拟3

数据结构课程设计

专业:计算机科学与技术

班级:计算机10-3班

学号:20102730

姓名:沈宏伟

题目:设计一个模拟电梯工作过程的图形演示系统。要求所设计的电梯符合市场上大多数系统的要求。

思路和原理:

确定电梯的类型。其中包括:电梯所在层,电梯内人数,电梯当前状态,电梯运行时期,电梯计时器,每层的Up按钮,每层的Down按钮,电梯内的目标层按钮,同时,还需要造一个乘客栈,将要去不同楼层的人放在不同的栈中。

确定乘客类型。其中包括:乘客编号,乘客将要去的楼层数,该乘客进入时间,所能容忍的等待时间以及该乘客进入的楼层。

通过进行乘客的进出电梯活动来将两者联系起来。首先,每层都有两个等待队列:上楼队列和下楼队列。其次,此活动包括乘客时间与电梯事件,通过相同的参数将其相连接。乘客事件包括:新乘客进入事件,乘客放弃事件放弃,乘客进出事件。电梯事件包括:判断电梯的状态。

按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。根据实验要求,定义时间:上升时间,下降时间,开门关门时间,进出电梯时间,最高层,最低层。

算法设计:

1.设定乘客栈的抽象数据类型定义

ADT Stack {

数据对象:

数据关系:

基本操作:

InitStack(S);

操作结果:构造一个空栈

DestroyStack(&S);

初始条件:栈S已存在

操作结果:销毁栈S

ClearStack(&S);

初始条件:栈s已存在

操作结果:把S置为空

StackEmpty(S);

初始条件:栈s已存在。

操作结果:若栈S为空,则返回TRUE,否则返回FALSE

StackLength(S);

初始条件:栈s已存在。

操作结果:返回栈S的长度

GetTop(S, &e);

初始条件:栈s已存在。

操作结果:返回栈顶元素

Push(&S, e);

初始条件:栈s已存在。

操作结果:在栈S的栈顶插入新的栈顶元素e。

Pop(&S, &e);

初始条件:栈s已存在。

操作结果:删除S的栈顶元素,并以e返回其值。

PrintStack(&S);

初始条件:栈s已存在。

操作结果:输出栈

乘客类型

ADT Client

数据对象:D={a

i

∈乘客信息,I=1,2,…,n,n≥0}

数据关系:R={

i-1,a

i

>|a

i-1

,a

i

∈D,i=2,…,n}

基本操作:

PrintClientInfo(Client const&e,ClientStatus s) 操作结果:输出乘客信息。

CreatClient(Client *&p)

操作结果:生成新的乘客。

DestoryClient(Client *&p)

操作结果:该乘客离开系统。

GoAbove(Client const&e)

操作结果:判断该乘客是否去往高层。

CInfloor(Client const&e)

操作结果:返回乘客进入的楼层。

CInTime(Client const&e)

操作结果:返回乘客进入时间。

COutfloor(Client const&e)

操作结果:返回乘客进入时间。

}

电梯类型

表示电梯的各个属性和所有动作。

ADT Elevator

数据对象:D={a

i

∈电梯信息,I=1,2,…,n,n≥0}

基本操作:

InitEle(Elevator &E)

操作结果:初始化电梯类型。

DestoryEle(Elevator &E)

操作结果:销毁电梯类型。

EleDecide(Elevator &E,WQueue w[Maxfloor+1][2]) 操作结果:电梯动作决策。

ElevatorRun(Elevator &E,WQueue w[Maxfloor+1][2]){ 操作结果:电梯状态转换。

CountOver(Elevator &E)

操作结果:判断电梯计时是否完成。

EleFloor(Elevator const&E)

操作结果:返回电梯所在的层。

EleStatus(Elevator const&E)

操作结果:返回电梯状态。

RequireAbove(Elevator const&E)

操作结果:判断是否有高层请求。

RequireBelow(Elevator const&E)

操作结果:判断是否有低层请求。

EleAchieved(Elevator &E)

操作结果:判断电梯是否要停于当前层。

EleOpenDoor(Elevator &E)

操作结果:判断电梯是否要开门。

}

实现电梯和乘客之间的相互作用。包括:

InOut(Elevator &E,WQueue w[Maxfloor+1][2])

操作结果:进行乘客的进出电梯活动。

NewClient(Elevator &E,WQueue w[5][2])

操作结果:进入新乘客。

PrintStatus(Elevator &E,WQueue w[5][2])

操作结果:输出当前状态。

Print(Elevator &E,Action a)

操作结果:输出电梯动作信息。

具体实现:

电梯类型基本操作:

voidInitEle(Elevator &E) {

inti;

E.floor=1; //电梯初始停在第一层

E.status=Waiting;E.Count=OverTime;

E.Stage=Down;

E.ClientNumber=0;

for(i=0;i<=Maxfloor;i++) {

E.CallUp[i]=0;E.CallDown[i]=0;E.CallCar[i]=0;

}

for(i=0;i<=Maxfloor;i++) InitStack(E.S[i]);

}

Status CountOver(Elevator &E) { //判断电梯计时是否完成if(E.Count) {

E.Count--;return FALSE;

}

return TRUE;

}

void DestoryEle(Elevator &E) { //销毁电梯类型inti;

for(i=0;i<=Maxfloor;i++) DestroyStack(E.S[i]);

}

intEleFloor(Elevator const&E) { //返回电梯所在的层returnE.floor;

}

EleStatusEleStatus(Elevator const&E) {

returnE.status;

}

Status RequireAbove(Elevator const&E) { //判断是否有高层请求for(inti=E.floor+1;i<=Maxfloor;i++)

if(E.CallCar[i]||E.CallDown[i]||E.CallUp[i]) return TRUE;

return FALSE;

}

Status RequireBelow(Elevator const&E) { //判断是否有低层请求

for(inti=E.floor-1;i>=Minfloor;i--)

if(E.CallCar[i]||E.CallDown[i]||E.CallUp[i]) return TRUE;

return FALSE;

}

Status EleAchieved(Elevator &E) { //判断电梯是否要停于当前层

if(E.Stage==Up&&E.CallUp[E.floor]||E.Stage==Down&&E.CallDown[E.floor]) return TRUE;

if(E.Stage==Up&&E.CallDown[E.floor]&&!RequireAbove(E)) {

E.Stage=Down;return TRUE;

}

if(E.Stage==Down&&E.CallUp[E.floor]&&!RequireBelow(E)) {

E.Stage=Up;return TRUE;

}

return FALSE;

}

Status EleOpenDoor(Elevator &E) { //判断电梯是否要开门

if(E.CallCar[E.floor]||E.CallDown[E.floor]&&E.Stage==Down||E.CallUp[E.floor ]&&E.Stage==Up)

return TRUE;

if(E.status==Waiting) {

if(E.CallDown[E.floor]) {E.Stage=Down;return TRUE;}

if(E.CallUp[E.floor]) {E.Stage=Up;return TRUE;}

}

return FALSE;

}

EleStageEleDecide(Elevator &E) { //判断电梯动作

intAbove,Below;

Above=RequireAbove(E);

Below=RequireBelow(E);

if(Above==0&&Below==0) return Stop; //无请求则停止

else { //有请求则按请求移动

if(E.Stage==Up) {

if(Above!=0) return Up;

else {

E.Stage=Down;return Down;

}

}//if

else {

if(Below!=0) return Down;

else {

E.Stage=Up;return Up;

}

}//if

}

}

Action ElevatorRun(Elevator &E){ //电梯状态转换

switch(E.status) {

case Opening:

E.status=Opened;E.Count=CloseTest;

returnDoorOpened;

case Opened;//进行关门测试

if(E.Stage==Down&&!E.CallCar[E.floor]&&!E.CallDown[E.floor]||

E.Stage==Up&&!E.CallCar[E.floor]&&!E.CallUp[E.floor]) {//无人进出,关门

E.status=Closing;E.Count=DoorTime;

}//if

break;

case Closing: //完成关门则转入Closed状态

E.status=Closed;

returnDoorClosed;

case Waiting: //不在第一层且超出所规定的停候时间,电梯向第一层移动if(E.Count==0) {

if(E.floor!=1) E.CallCar[1]=1;

}

else E.Count--; //如果有人可以进入,则开门

if(EleOpenDoor(E)) {

E.status=Opening;E.Count=DoorTime;break;

}

case Closed: //根据EleDecide的返回值设定电梯状态

switch(EleDecide(E)) {

case Up: E.status=Moving;E.Count=UpTime+Accelerate;returnGoingUp;

case Down: E.status=Moving;E.Count=DownTime+Accelerate;returnGoingDown;

caseStop:if(E.status!=Waiting)

{E.status=Waiting;E.Count=OverTime;}

};//switch

break;

case Moving: //完成移动

if(E.Stage==Up) E.floor++;

else E.floor--;

if(EleAchieved(E)) { //到达目标层,转入减速状态

E.status=Decelerate;

E.Count=DownDecelerate;

}

else E.Count+=DownTime; //未到达目标层,继续下降

return Achieved;

以下是生成新的乘客的基本操作:

Status CreatClient(Client *&p) {

int d;

int a;

int b;

int c;

p=new Client;

if(!p) return OVERFLOW;

p->ClinetID=++ID;

cout<

cout<<"所在楼层:";

cin>>a;

p->Infloor=a;

cout<

cout<<"所能容忍的等待时间:";

cin>>d;

p->GivepuTime=d;

p->InTime=Time;

cout<<"下一乘客要到达的时间:";

cin>>c;

InterTime=c;

cout<<"所要到达的楼层:";

cin>>b;

p->Outfloor=b;

PrintClientInfo(*p,New);

return OK;

}

Status DestoryClient(Client *&p) { //该乘客离开系统delete p;

p=NULL;

return OK;

}

Status GoAbove(Client const&e) { //判断该乘客是否去往高层if(e.Outfloor>e.Infloor) return TRUE;

else return FALSE;

}

intCInfloor(Client const&e) { //返回乘客进入的楼层returne.Infloor;

}

intCInTime(Client const&e) { //返回乘客进入时间returne.InTime;

}

intCOutfloor(Client const&e) { //返回乘客进入时间

returne.Outfloor;

} }

根据定义,电梯开关门时间各为2s,人进出电梯时间各为2.5s,为了方便计算,上升和下降时间暂时设为0,如果要更改其时间,可以在此函数定义里进行更改。

基于plc的三层电梯控制系统设计

摘要 电梯是高层建筑不可缺少的运输工具,用于垂直运送乘客和货物,传统的电梯控制系统主要采用继电器--接触器进行控制,其缺点是触点多,故障率高、可靠性差、维修工作量大等,而采用PLC组成的控制系统可以很好地解决上述问题。本论文通过讨论电梯控制系统的组成,阐述可编程控制器(用三菱PLC编程的程序控制方式,提出了三层电梯的程、组成,列出了具体的主要硬件电路、电梯的控制梯形图及指令表。并给出了系统组成框图和程序流程图,在分析、处理随机信号逻辑关系的基础上,提出了计了一套完整的电梯控制系统方案。触点多,故障率高、可靠性差、安装调试周期长、维修工作量大、接线复杂等缺点。使电梯运行更加安全、方便、舒适。在PLC课程设计中,我组设计了一个三层电梯控制系统,并且将西门子公司S7-200系列可编程控制器与其结合并应用起来,在学完《电气控制与PLC应用》课程后,我们在设计过程中较为得心应手,不至于从头开始。整个过程包括了方案讨论,程序设计,程序修改,上机调试等,在程序设计方面花了比较多的时间,主要考虑到电梯分别停在一层、二层和三层时在其他楼层呼叫等各种情况。每当遇到困难时,我组都积极与老师联系讨论,深入分析研究问题,在整个过程中,我与我的组员都相互配合,相互学习。 关键字:PLC;电梯;升降;梯形图;系统组成框图

In this paper The elevator is an indispensable means of transport for the high-rise building, used for vertical transporting passengers and cargo, the traditional elevator control system mainly adopts relay - contactor to control, its shortcomings is the number of contact, such as high failure rate and poor reliability, maintenance workload is big, and composed of PLC control system is a good way to solve the above problems. Through discussing the composition of the elevator control system, this paper expounds the programmable controller (with mitsubishi PLC programming way of process control, puts forward the three layers of elevator ride, and lists the specific of the main hardware circuit, elevator control ladder diagram and instruction list. And the system composition block diagram and program flow chart is given, based on the analysis, processing, on the basis of random signal logic relation, put forward the plan for a complete set of the elevator control system scheme. Contact, high failure rate, poor reliability, installation and debugging cycle is long, maintenance workload, such as complex wiring faults. Make the elevator running more safe, convenient and comfortable. In the PLC course design, I have come up with a three layers of elevator group control system, and the Siemens S7-200 series programmable controller and its application and combining, after completing the curriculum, electrical control and PLC application we in the design process is relatively with ease, not from the beginning. The whole process including the solution discussion, program design, program changes, computer debugging, etc., spent more time on program design, main consideration to the elevator stop on the first floor, respectively the second and third floors in other situations such as floor call. Whenever encounter difficulties, I actively

电梯模拟程序(Java语言编写)

import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; public class LiftMainTest { public static void main(String args[]) { new LiftTest("电梯测试"); } } //批量数据测试对话框 class Dialog extends JDialog implements ActionListener { int Message=0; JPanel DJPanel=new JPanel(); JTextField TestField[]=new JTextField[16]; JLabel TestLabel1=new JLabel("时间"); JLabel TestLabel2=new JLabel("人数"); JLabel TestLabel3=new JLabel("起始楼层"); JLabel TestLabel4=new JLabel("目标楼层"); JButton ok=new JButton("确定"); JButton cancel=new JButton("取消"); Dialog(JFrame f,String s,boolean b) { super(f,s,b); DJPanel.setLayout(new GridLayout(7,3)); for(int i=0;i<=15;i++) { TestField[i]=new JTextField(4); } DJPanel.add(TestLabel1); DJPanel.add(TestLabel2); DJPanel.add(TestLabel3); DJPanel.add(TestLabel4); DJPanel.add(TestField[0]); DJPanel.add(TestField[1]); DJPanel.add(TestField[2]); DJPanel.add(TestField[3]); DJPanel.add(TestField[4]); DJPanel.add(TestField[5]); DJPanel.add(TestField[6]); DJPanel.add(TestField[7]); DJPanel.add(TestField[8]);

模拟电梯系统试题

《电子产品装配与调试》试题 题目:模拟电梯系统 完成时间:4小时 工位号: 日期:______________________________

第一部分电路说明部分 一、电路功能概述 模拟电梯系统总共分为三个模块,中枢控制,显示模块,电机模块,键盘输入,电梯门安全检测模块。 中枢控制为STC89C52RC单片机,完成电梯的逻辑判断,按键读取,显示功能。显示模块由两位数码管和LED指示灯组成。 数码管DS1显示当前电梯状态,有停止,上行,下行三种状态,分别如下图所示: 数码管DS2显示当前楼层。 “当前楼层”标志下的一列LED(LED2,LED5……LED23)指示当前电梯所处的楼层,例如电梯在2楼,则LED20点亮,在5楼,则LED11点亮。 “电梯按钮”标志下的一列LED(LED1,LED4……LED22)指示电梯内部按钮状态,例如电梯内部有人需要到5楼,则LED10点亮,有人需要到8楼,则LED1点亮。 “楼层按钮”标志下的一列LED(LED25,LED27……LED33)指示电梯外部按钮状态,也就是每层楼的呼叫按钮指示,例如1楼有人需要乘电梯,则LED33点亮,5楼有人需要乘电梯,则LED29点亮。 贴片LED(LED3,LED6……LED24)为电梯门指示,关门时,LED从两旁向中间依次点亮,开门时,LED从中间向两旁依次熄灭。

“电梯按钮”标志下的按钮K(K1,K2……K8)为电梯内部的按钮,例如电梯内部有人想上5楼,则需要按下K4(从下往上的第5个按键),上8楼,则需要按下K1。 “楼层按钮”标志下的按钮K(K9,K10……K16)为每层楼的呼叫按钮,例如5楼有人想乘电梯,则按下K12。 电机模块有两个电机,一个是拖动电机,一个是门控电机,拖动电机正反转代表电梯上下行,门控电机正反转代表开关门。 电梯门安全检测模块采用红外线对管,检测电梯门关闭时是否有人或物体在门中央,若检测到,电梯门会打开,防止发生危险。

plc三层电梯控制设计

1. 三层电梯PLC控制系统设计 1.1实训目的 本次设计是一种电梯PLC控制系统。电梯是垂直方向的运输设备,是高层建筑中不可缺少的交通运输设备。它靠电力,拖动一个可以载人或物的轿厢,在建筑的井道导轨上做垂直升降运动,在人们生活中起着举足轻重的作用。而控制电梯运行的PLC系统也要求越来越高,要求达到电梯运行的“稳、准、快”的运行目的。该系统主要由PLC、逻辑控制电路组成。其中包括交流异步电动机、继电器、接触器、行程开关、按钮、发光指示器和变频器组成为一体的控制系统。 整个系统通过PLC、逻辑控制电路对电梯的升降;加、减速;平层;起动、制动控制。其结构简单、运行效率高、平层精度高、易于理解与掌握。 1.2 实训容和控制要求 工作过程:电梯由安装在各楼层厅门口的呼叫按钮进行操纵,其操纵容为呼叫电梯、运行方向和停靠楼层。每层楼设有呼叫按钮(一层U1,二层U2,D2,三层D3),指示灯L1指示电梯在一层与二层之间运行、L2指示在二层与三层之间运行、L3指示在三层与二层之间运行、SQ1~SQ3为到位行程开关。电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。输出端用输出指示灯的状态来模拟输出设备的状态。 三层楼电梯的自动控制要求如下: (1)当电梯停于1F或2F时,如果按3F按钮呼叫,则电梯上升到3F,由行程开关SQ3停止; (2)当电梯停于3F或2F时,如果按1F按钮呼叫,则电梯下降到1F,由行程开关LS1停止; (3)当电梯停于1F,如果按2F按钮呼叫,则电梯上升到2F,由行程开关

LS2停止; (4)当电梯停于3F,如果按2F按钮呼叫,则电梯下降到2F,由行程开关LS2停止; (5)当电梯停于2F,而2F、3F按钮均有人呼叫时,电梯先上升到2F,由LS2控制暂停2S后,继续上升到3F,由LS3停止; (6)当电梯停于3F,而1F、2F按钮均有人呼叫时,电梯下降到2F,由LS2控制暂停2S后,继续下降到1F,由LS1停止; (7)在电梯上升途中,任何反方向的下降按钮呼叫均无效; (8)在电梯下降途中,任何反方向的上升按钮呼叫均无效; (9)每层楼之间的到达时间应在10s完成,否则电梯停机; (10)电梯的起始位置和程序的启动、停止运行自行设计。 1.3电梯的结构 1-减速箱2-曳引轮 3-曳引机底座4-导向轮 5-限速器6-机座 7-导轨支架8-曳引钢绳 9-开关碰铁10-紧急开关 11-导靴12-轿架 13-轿门14-安全钳 15-导轨16-绳头组合 17-对重18-补偿链

电梯模拟系统教学内容

电梯模拟系统

目录 一:问题描述—————————————————————————第2页二:问题分析—————————————————————————第2页三:数据结构—————————————————————————第2页四:算法设计—————————————————————————第4页五设计与调试分析———————————————————————第6页六:体会及建议————————————————————————第7页七:参考文献—————————————————————————第7页八:原代码——————————————————————————第7页

一:问题描述 设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 二:问题分析 (1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。

三层电梯控制设计

综合实训设计报告信息工程与自动化学院自动化系 设计题目:基于PLC的三层电梯控制系统设计 姓名: 学号: 专业:测控121班 指导老师: 二0一五年七月

引言 随着城市建设的不断发展,城市迅速的崛起,高层建筑的不断增多,电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分。它是采用电力拖动方式,将载有乘客或货物的轿厢,运行于垂直方向的两根刚性导轨之间,运送乘客和货物的固定式提升设备。所以,电梯是为高层建筑运输服务的设备,它具有运送速度快、安全可靠、操作简便的优点。但传统的电梯控制系统主要采用继电器--接触器进行控制,其缺点是触点多,故障率高、可靠性差、维修工作量大等,而采用 PLC组成的控制系统可以很好地解决上述问题,使电梯运行更加安全、方便、舒适。 目前电梯的控制普遍采用了两种方式,一是采用微机作为信号控制单元,完成电梯信号的采集、运行状态和功能的设定,实现电梯的自动调度和集选运行功能,拖动控制则由变频器来完成;第二种控制方式采用可编程控制器取代微机实现信号控制。从控制方式和性能上来说,这两种方法并没有太大的区别,但PLC 可靠性高,程序设计方便灵活。 1.电梯的PLC控制方式 PLC是一种用于工业自动给控制的专用计算机。实质上属于计算机控制方式。PLC与普通微机一样,能通用或专用CPU作为字处理器,实现通道(字)的运算和数据存储,另外还有位处理器(布尔处理器),进行点(位)运算与控制。PLC控制一般具有可靠性高,易操作、维修和编程简单、灵活性强等特点。 1.1 PLC控制系统的可靠性 对可维修的产品,可靠性包括产品的有效性和可维修性。PLC不需要大量的活动元件和接线电子元件,它的接线大大减少,与此同时,系统的维修简单,维修时间短。PLC采用了一系列可靠性设计的方法进行设计,例如,冗余设计,断电保护,故障诊断和信息保护及恢复等,提高了MTBF,降低了MTTR,使可靠性提高。PLC是为工业生产过程控制而专门设计的控制装置,它具有比通用计算机控制更简单的编程语言,而为工业恶劣操作环境设计的硬件使可靠性大大提高。在PLC的硬件方面,采用了一系列提高可靠性的措施。例如,采用可靠性的元件,采用先进的工艺制造流水线制造,对于干扰的屏蔽、隔离和滤波等,对电源的断

电梯模拟系统

电梯模拟系统 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

目录 一:问题描述—————————————————————————第2页二:问题分析—————————————————————————第2页三:数据结构—————————————————————————第2页四:算法设计—————————————————————————第4页五设计与调试分析———————————————————————第6页六:体会及建议————————————————————————第7页七:参考文献—————————————————————————第7页八:原代码——————————————————————————第7页一:问题描述 设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 二:问题分析 (1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的

变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。 (2)、电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。 (3)、乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。对于在楼层内等待电梯的乘客,将插入在等候队列里,每一层有两个等候队列,一队要求向上,一队要求向下,用链队列来实现。对于在电梯内的乘客,用五个乘客栈来实现,该乘客要去哪一层,就把他放在相应编号的栈中,对应变量为EleStack[0…4]。(4)、模拟时钟从0开始,时间单位为秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t): 有人进出时,电梯每隔40t测试一次,若无人进出,则关门 关门和开门各需要20t 每个人进出电梯均需要25t 电梯加速需要15t 如果电梯在某层静止时间超过300t,则驶回1层候命。 (5)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。三:数据结构 1、乘客类型 反映乘客的所有属性。 ADT Client 数据对象:D={a i∈乘客信息,I=1,2,…,n,n≥0}

电梯模拟

一电梯模拟 一.题目要求 模拟某校九层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。九个楼层由下至上依次称为地下层、第一层、第二层、……第八层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。 乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。 模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要消耗一定的时间单位(简记为t),比如:有人进出时,电梯每隔40t测试一次,若无人进出,则关门;关门和开门各需要20t;每个人进出电梯均需要25t;如果电梯在某层静止时间超过300t,则驶回1层侯命。 要求: 按时序显示系统状态的变化过程,即发生的全部人和电梯的动作序列。 二.设计 1. 设计思想 (1)数据结构设计 构建一个栈用以表示乘客,用等待队列表示电梯外等待的乘客 (2)算法设计 1.乘客类型反映乘客的所有属性 2乘客栈类型,电梯内的乘客用乘客栈表示,去不同楼层的乘客放在不同的栈中。 3.等候队列类型,在电梯外等待的乘客用等待队列表示。每层各有两个等待队列,分别为上楼队列和下楼队列。 4.电梯类型,表示电梯的各个属性和所有动作。 2设计表示 1. 调用的函数如下: #include #include #include #include #include #include #include 2. 各函数说明如下: #define DownDecelerate 23 //下降减速 #define DoorTime 20 //开门关门时间 #define InOutTime 25 //进出电梯时间 #define Maxfloor 4 //最高层 #define Minfloor 0 //最低层 long Time=0; //时钟 long MaxTime;//系统运行最长时间 int InOutCount=0;//用于进出计时

最新四层电梯的自动控制系统及模拟系统设计

四层电梯的自动控制系统及模拟系统设计

陕西国防工业职业技术学院 SHAANXI INSTITUTE OF TECHNOLOGY 毕业设计说明书 题目四层电梯的自动控制系统及模拟系统

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段

保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

PLC课程设计(三层电梯控制系统)

三层电梯控制系统的模拟 我设计的三层电梯控制系统的主要功能有:①楼层指示灯亮时表示停在相应的楼层,②每当停在各楼层时其楼层指示灯闪烁1秒接着常亮,③有呼叫的楼层有响应,反之没有,④电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。 2. 硬件电路设计和描述 ①模拟装置介绍 S1、S2、S3分别为轿厢内一层、二层、三层电梯内选按钮;D2、D3分别为二层、三层电梯外下降呼叫按钮;U1、U2分别为一层、二层电梯外上升呼叫按钮;SQ1、SQ2、SQ3分别为一层、二层、三层行程开关,模拟实际电梯位置传感器的作用。 L1、L2、L3分别为一层、二层、三层电梯位置指示灯;DOWN为电梯下降状态指示灯;UP为电梯上升状态指示灯;SL1、SL2、SL3分

别为轿厢内一层、二层、三层电梯内选指示灯。 ②控制要求 电梯由安装在各楼层门口的上升和下降呼叫按钮进行呼叫操纵,其操纵内容为电梯运行方向。电梯轿箱内设有楼层内选按钮S1~S3,用以选择需停靠的楼层。L1为一层指示、L2为二层指示、L3为三层指示,SQ1~SQ3为到位行程开关。电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。例如,电梯停在由一层运行至三层的过程中,在二层轿箱外呼叫时,若按二层上升呼叫按钮,电梯响应呼叫;若按二层下降呼叫按钮,电梯运行至二层时将不响应呼叫运行至三层,然后再下降,响应二层下降呼叫按钮。 电梯位置由行程开关SQ1、SQ2、SQ3决定,电梯运行由手动依次拨动行程开关完成,其运行方向由上升、下降指示灯UP、DOWN 决定。 例如:闭合开关SQ1,电梯位置指示灯L1亮,表示电梯停在1层,这时按下三层下呼按钮D3,上升指示灯UP亮,电梯处于上升状态。断开SQ1、闭合SQ2,L1灭、L2亮,表示电梯运行至二层,上升指示灯UP仍亮;断开SQ2、闭合SQ3,电梯运行至三层,上升指示灯UP 灭,电梯结束上升状态,以此类推。 当电梯在三层时(开关SQ3闭合),电梯位置指示灯L3亮。按下轿厢内选开关S1,电梯进入下降状态。在电梯从三层运行至一层的过程中,若按下二层上呼U2与下呼按钮D2,由于电梯处于下降状态中,电梯将只响应二层下呼,不响应二层上呼。当电梯运行至二层时,

电梯模拟系统

目录 一:问题描述—————————————————————————第2页二:问题分析—————————————————————————第2页三:数据结构—————————————————————————第2页四:算法设计—————————————————————————第4页五设计与调试分析———————————————————————第6页六:体会及建议————————————————————————第7页七:参考文献—————————————————————————第7页八:原代码——————————————————————————第7页

一:问题描述 设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 二:问题分析 (1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。 (2)、电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。 (3)、乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。对于在楼层内等待电梯的乘客,将插入在等候队列里,每一层有两个等候队列,一队要求向上,一队要求向下,用链队列来实现。对于在电梯内的乘客,用五个乘客栈来实现,该乘客要去哪一层,就把他放在相应编号的栈中,对应变量为EleStack[0…4]。 (4)、模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t): 有人进出时,电梯每隔40t测试一次,若无人进出,则关门 关门和开门各需要20t 每个人进出电梯均需要25t 电梯加速需要15t 如果电梯在某层静止时间超过300t,则驶回1层候命。 (5)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。 三:数据结构 1、乘客类型 反映乘客的所有属性。 ADT Client 数据对象:D={a i∈乘客信息,I=1,2,…,n,n≥0} 数据关系:R={|a i-1,a i∈D,i=2,…,n}

模拟电梯控制及显示系统设计

模拟电梯控制与显示系统设计 摘要 单片机即单片微型计算机(Single-Chip Microputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域.电梯是集机械原理应用、电气控制技术、微处理器技术、系统工程学等多学科和技术分支于一体的机电设备,它是建筑中的永久垂直交通工具。本论文选择 AT89S51为核心控制元件,设计了一个5层电梯智能操作与显示系统,使用单片机C51语言进行编程,实现运送乘客到任意楼层,并且显示电梯的楼层和上下行。利用单片机控制电梯有成本低,通用性强,灵活性大及易于实现复杂控制等优点 随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。1889年美国奥梯斯升降机公司推出的世界上第一部以电动机为动力的升降机,同年在纽约市马累特大厦安装成功。随着建筑物规模越来越大,楼层也越来越高,对电梯的调速精度、调速围等静态和动态特性都提出了更高的要求。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。 目前,由可编程控制器(PLC)或微型计算机组成的电梯运行逻辑控制系统,正以很快的速度发展着。可编程控制器,是微机技术与继电器常规控制技术相结合的产物,是在顺序控制器和微机控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。而单片机价格相当便宜,如果在抗干扰功能上有所提高的话完全可以代替PLC实现对工控设备的控制。当然单片机并不象PLC那么有针对性,所以由单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级。电梯控制系统是比较复杂的一个大型系统,在计算机诞生的几十年里,继电器控制系统为电梯控制的发展做了巨大的贡献,但在性能上和PLC还是有本质上的差距。在科技的不断发展下,单片机控制系统很快可以解决抗扰性,成为方便有效的电梯控制系统 单片机概述 单片机全称为单片微型计算机(Single Chip Microputer),又称为微控制器(Microcontroller Unit)或嵌入式控制器(Embedded Controller)。它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。(如图1-1所示)。随着技术的发展,单片机片集成的功能越来越强大,并朝着SOC(System on Chip)方向发展

三层电梯PLC控制系统设计报告

PLC课程设计报告题目:三层电梯PLC控制系统设计 院别: 姓名: 学号: 指导教师: 日期:

本设计主要利用欧姆龙系统完成。主要介绍了3层电梯的PLC的特点、PLC的功能、发展趋势、PLC控制电梯的软、硬件设计。在示意图、接线图、电梯的控制梯形图、指令表、和程序流程图的基础之上提出了PLC的编程方法。 可编程控制系统(Programmable Logic Controller)是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。由于它可通过软件来改变控制过程,而且具有体积小、组装维护方便、编程简单、可靠性高、抗干扰能力强等特点,已广泛应用于工业自动化控制控制的各个领域,大大推进了机电一体化的进程。 电梯是高层建筑不可缺少的运输工具,用于垂直运送乘客和货物,传统的电梯控制系统主要采用继电器--接触器进行控制,其缺点是触点多,故障率高、可靠性差、维修工作量大等,而采用 PLC组成的控制系统可以很好地解决上述问题,使电梯运行更加安全、方便、舒适。目前PLC在电梯行业已得到广泛应用。在层数和控制功能较少的场合,采用PLC控制较为方便。

第一章三层楼电梯自动控制 (4) 一.电梯设计要求 (4) 二.电梯设计分析 (5) 1.分析被控对象 (5) 2.分配PLC的输入/输出端子 (5) 3.统计输入、输出点数并选择PLC型号 (5) 4.输入/输出端子接线图 (6) 5.运动形式分析 (6) 6.助记符 (11) 三.硬件配置设计 (15) 1. 电梯控制构成 (16) 2. 主电路 (16) 四.型号规格 (16)

三层电梯控制的PLC实现(sfc)

三层电梯PLC控制设计的实现 自动化081班邹文轩0805404102 1.设计要求:当乘员进入电梯,按下楼层按纽,电梯门自动关闭后,根据轿箱所处位置及乘员所处层数,判定轿箱运行方向,保证轿箱平层时有一个减速过程。将轿箱停在选定的楼层上,同时,根据楼层的呼叫,顺路停车,自动开关门。另外在轿箱内外均要有信号灯显示电梯运行方向及楼层数。 下图表示PLC控制电梯的工作流程示意图。 2.分析设计要求 2.1输入设备数量的确定: 需要有三个开关来控制内选按钮,分别设为X1、X2和X3;每个楼层都要有呼叫按钮,因为是三层所以需要四个,分别设为X4、X5、X6和X7;每一层都需要一个行程开关,一共三个,分别设为X10、X11和X12;因为需要制动,所以每层至少需要一个接近开关,分别为X20、X21和X22。此外电梯还需要一个总开X13和一个总关X14。故总共有15个输入。 2.2输出设备的数量确定: 用七段灯管来显示1、2、3的数字,以此来指示电梯所在楼层,所以用Y10、Y11、Y12、Y13、Y14、Y15和Y16来表示七段数码管的七段;电梯开门关门分别为Y6和Y7;电梯上升和下降分别为Y4和Y5;电梯制动显示为Y0。故总共有12个输出。 2.3选择PLC: 考虑到I/O要各留30%余量,应选择开关量输入24点,开关量输出24点的PLC。考虑到以后应用到楼层更高、控制更复杂的电梯系统中,所选择的PLC 应该留有30%的输入输出余量,并且要易于扩展。因此选择FX2N-48MR-D,共有24个输入和24个输出,满足要求,并且和此型号PLC配套的有输入输出扩展模块、特殊功能模块/单元、混合温度传感器输入、和通信/网络等单元,易于

基于51单片机的模拟电梯控制系统

目录 摘要............................................................................. II 目录.............................................................................. I 第1章绪论.. (1) 1.1电梯的研究背景及意义 (1) 1.2 电梯的国内外发展状况 (1) 第2章电梯设计任务与要求 (2) 2.1设计任务 (2) 2.2设计要求 (2) 第3章总体设计方案 (3) 3.1设计思路 (3) 3.2总体设计框图 (3) 第4章电梯控制系统 (4) 4.1电梯控制系统 (4) 4.2主要硬件设计器件介绍 (5) 4.3 软件设计 (9) 第5章个人心得体会 (12) 参考文献 (13) 致谢 (14) 附录I: (15) 附录II: (17)

摘要 本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最小系统模块、电梯内外电路按键模拟检测模块、电梯外请求发光管显示模块、楼层显示数码管模块、电梯上下行模块及模拟传感器模块等5部分组成。该系统采用单片机(AT89C51)作为控制核心,内外均使用按键按下与否引起的单片机相应端口电平变化的原理,作为用户请求信息发送到单片机,单片机根据判断的结果最终驱动步进电机做相应的运动,在运动的过程中,单片机依照请求信息通过模拟的传感器使步进电机停止运动,并利用彩灯作为上升和下降的状况显示,七段数码管实时显示当前楼层,完成整个请求和响应的过程。 软件部分使用汇编语言实现,利用查询方式来检测用户请求的按键信息。根据电梯运行到相应楼层时,模拟按键引起的电平变化,进行判断和执行实现电梯的控制,并且将程序模块化,方便了修改和调用。硬件设计简单可靠,结合软件,基本实现了四层电梯的模拟运行。 关键词:单片机,AT89C51,电梯控制,步进电机

基于51单片机的模拟电梯控制系统讲解

摘要 本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最小系统模块、电梯内外电路按键模拟检测模块、电梯外请求发光管显示模块、楼层显示数码管模块、电梯上下行模块及模拟传感器模块等5部分组成。该系统采用单片机(AT89C51)作为控制核心,内外均使用按键按下与否引起的单片机相应端口电平变化的原理,作为用户请求信息发送到单片机,单片机根据判断的结果最终驱动步进电机做相应的运动,在运动的过程中,单片机依照请求信息通过模拟的传感器使步进电机停止运动,并利用彩灯作为上升和下降的状况显示,七段数码管实时显示当前楼层,完成整个请求和响应的过程。 软件部分使用汇编语言实现,利用查询方式来检测用户请求的按键信息。根据电梯运行到相应楼层时,模拟按键引起的电平变化,进行判断和执行实现电梯的控制,并且将程序模块化,方便了修改和调用。硬件设计简单可靠,结合软件,基本实现了四层电梯的模拟运行。 关键词:单片机,AT89C51,电梯控制,步进电机

目录 摘要.............................................................................. I 目录............................................................................. II 第1章绪论.. (1) 1.1电梯的研究背景及意义 (1) 1.2 电梯的国内外发展状况 (1) 第2章电梯设计任务与要求 (2) 2.1设计任务 (2) 2.2设计要求 (2) 第3章总体设计方案 (3) 3.1设计思路 (3) 3.2总体设计框图 (3) 第4章电梯控制系统 (4) 4.1电梯控制系统 (4) 4.2主要硬件设计器件介绍 (5) 4.3 软件设计 (9) 第5章个人心得体会 (12) 参考文献 (13) 致谢 (14) 附录I: (15) 附录II: (17)

三层电梯控制系统的设计

三层电梯控制系统的 实验设计 指导老师:朱静 学生:马小娟 班级:电科092 学号:095203403

三层电梯控制系统的设计 第一节设计要求 要求用FPGA设计实现一个3层电梯的控制系统。系统的要求如下: (1)电梯运行规则:当电梯处在上升模式时,只响应比电梯所在位置高的上楼请求,由下向上逐个执行,直到最后一个上楼请求执行完毕。如果高层有下楼请求,直接升到有下楼请求的最高楼层,然后进入下降模式。电梯处在下降模式时,工作方式与上升模式相反。设电梯共有3层,每秒上升或下降一层。 (2)电梯初始状态为一层,处在开门状态,开门指示灯亮。 (3)每层电梯入口处均设有上下请求开关,电梯内部设有乘客到达楼层的停站请求开关及其显示。 (4)设置电梯所处位置的指示及电梯上升或下降的指示。 (5)电梯到达有停站请求的楼层后,电梯门打开,开门指示灯亮。开门4妙后,电梯门关闭,开门指示灯灭,电梯继续运行,直至执行完最后一个请求信号后停在当前层。 (6)电梯控制系统能记忆电梯内外的请求信号,并按照电梯运行规则工作,每个请求信号执行完毕后清除。 第二节三层电梯控制系统的功能模块及流程图 电梯控制器的功能模块如图2.1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。 图2.1 电梯控制器原理图

数据结构——电梯模拟的报告

数据结构课程设计报告

1
页,共

1.课程设计目的
1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定 问题。 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并 在此过程中培养他们严谨的科学态度和良好的工作作风。
2.课程设计任务与要求:
任务 根据教材《数据结构题集(C 语言版)(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数 》 据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解 和综合运用。 设计题目从《数据结构题集》 “第二篇 实习篇”中选取,每班每题不得超过 2 人。 另选题: 学生自选课题 学生原则上可以结合个人爱好自选课题,要求课题有一定的深度与难度,有一定的算法复杂性,能够巩固 数据结构课程所学的知识。学生自选课题需在 17 周前报课程设计指导教师批准方可生效。 要求: 要求: 1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象 数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否 直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。 2、.设计的题目要求达到一定工作量(300 行以上代码) ,并具有一定的深度和难度。 3、程序设计语言推荐使用 C/C++,程序书写规范,源程序需加必要的注释; 4、每位同学需提交可独立运行的程序; 5 、每位同学需独立提交设计报告书(每人一份) ,要求编排格式统一、规范、内容充实,不少于 10 页(代 码不算) ; 6、课程设计实践作为培养学生动手能力的一种手段,单独考核。
3.课程设计说明书

相关主题
文本预览
相关文档 最新文档