电梯模拟系统
五层模拟电梯系统的三菱PLC程序设计
电梯 的定 向环节 、 自动运 出合格 的电梯安装 、 维修和保 养人员 。实 记忆 与消除环节 、 停车制 动 物 电梯对该 专业 的教学起 到了很大 作用 , 行 时启 动加速和 稳定运行环 节 、 以下是具体设计过程 。 但 在教学 过程 中有 许多不尽 如人意 之处 。 环节来设计 , 电梯 的操 作 、 调试和 故障排 除要靠机 械系
3 . 楼层 信号 的产 生与 清除环
节
X1 O S Q 6 开 门到位 Y1 1
当 电梯 位 于某 一层 时 , 指层 感应 器 ( 1 K R 一5 K R ) 通过 产 生对 应楼层 的信号来控制 楼层灯 的状 态, 而当 电梯离开 该楼层时 , 则其
Xl 1 S Q 7 关 门到位 Y1 4 1 HL 一层层楼指示 X 3 2 3 S B 2 三楼下行 Y 3 5 HL 1 3四楼上呼记忆 X1 2 S Q1 7 上行限位 Y1 5 2 HL-层层楼指示 X 3 3 4 S B 1 四楼上行 Y 3 6 HL 1 4四楼下呼记忆 X1 3 S Q1 8 下行限位 Y1 6 3 HL 三层层楼指示 X 3 4 4 S B 2四楼下行 Y 3 7 HL 1 5 五楼下呼记忆 X1 3 , S B 5 一楼内选 Y1 7 4 H L四层层楼指示 X3 5 5 S B 2 五楼下行
X 4
S B 2 关门
Y 5
K M 6 启动加速
KM7 制动减 速 KM8 制动减速 KM9 开门 KM1 0 关门
Y1 1 : 关 门输 出 ( 参见 下页 图 1 、 图
2 ) 。
电梯系统模拟器需求说明书
电梯系统模拟器需求说明书概述此项目希望通过软件模拟电梯系统的运行过程,来测试电梯控制程序的正确性、电梯系统效率等。
用户使用场景1、用户打开模拟器程序。
2、模拟器显示电梯系统初始状态(包括所有电梯的位置)3、用户点击电梯的楼的向上按钮。
4、模拟器显示对应的按钮灯亮起。
5、模拟器显示电梯的门打开。
(假设电梯已经在楼)6、模拟器显示电梯的楼按钮灯熄灭。
7、模拟器显示电梯的门关闭。
8、用户点击电梯内部按键的楼按钮。
9、模拟器显示电梯内部按键的楼按钮灯,亮起。
10、模拟器显示电梯向上运行。
11、模拟器显示电梯在楼停止。
12、模拟器显示:电梯内部按键的楼按钮灯,熄灭。
13、模拟器显示:电梯开门。
14、模拟器显示:电梯关门。
功能简介此应用包含模拟器、电梯控制程序两部分。
模拟器的主要功能是:1)通过图形化的界面直观的显示电梯系统的状态,如电梯的位置、各种按键灯的亮灭。
2)提供用户与电梯系统交互的途径,如用户可以点击电梯里的楼键。
3)按照电梯控制程序的指令,执行动作,并在图形界面上反应出来。
电梯控制程序的功能主要是:根据电梯系统的运行状态、用户的输入,向模拟器发送控制指令,来控制电梯的上下、开关门等。
电梯控制程序是可替换的,通过替换电梯控制程序,可以模拟和测试各种不同的算法。
详细功能要求模拟器部分可以模拟一座具有层楼的大厦内部电梯的同时运行的过程。
模拟的内容包括:电梯的上下运动、电梯的开关门。
要求支持的楼层数() 和电梯数() 都可以设置。
支持的用户操作:1、某个楼层的每个电梯有上、下两个按键。
用户可以点击这两个按键2、每个电梯内部有一个键盘,键盘上有个按键对应每个楼层,并且有开、关门键。
应用提供操作方法模拟点击每个按键。
3、模拟器按照电梯控制程序的指令,可以显示每个按键灯的亮起和熄灭状态。
4、用户应该可以在任何时候,点击任何按键。
5、用户点击任一按键后,模拟器将此事件发送给电梯控制程序。
为控制程序提供的功能:1、接受来自控制程序的开关某个按键灯指令,并修改界面上显示的按键灯的状态。
电梯运行模拟控制器
目录1.课程设计简介 (1)1.1简介 (1)1.2设计总电路图 (2)1.3实物图 (4)2.设计题目 (4)3.总体设计 (6)3.1电梯运行模拟控制器的总体运作流程 (6)3.2电梯运行模拟控制器各模块关系 (6)4.详细设计 (7)6.1基本的IO配置(输入/输出模式) (7)输出模式配置 (7)输入模式配置 (7)6.2外部中断配置 (8)定时器中断 (8)外部按键输入中断 (8)6.3电梯运行逻辑设计(软件编码) (9)数据结构设计 (9)功能接口设计 (9)5.体会与总结 (10)6.附录 (11)源代码 (11)参考文献 (26)1.课程设计简介1.1简介本设计使用STM8S系列作为主控芯片,使用矩阵键盘、若干个LED和两位数码管作为外设。
其中矩阵键盘用来模拟电梯按键,若干个LED灯用来模拟电梯的运动方向、楼层的指示灯(电梯内部楼层对应的按钮),两位的数码管用于显示电梯目前所处楼层。
1.2设计总电路图(基于AD这个平台生成的PCB图与原理图)原理图原理图PCB图PCB图1.3实物图实物图2.设计题目设计一个电梯运行模拟控制器,其系统框图如下图所示:电梯运行模拟控制器框图功能要求:能够模拟控制一个8层楼梯的电梯的运行。
具体要求如下: 1.电梯平时没有接到命令时候或者执行完命令后停在1楼,门关闭.。
2.电梯运行速度2秒一层楼3.电梯门在开启的情况下没有收到命令10秒中后自动关闭。
在运动中门必须关闭,(最后3秒可以设置音响警告信号)4.一句话,电梯控制器满足实际电梯的运行要求,电梯在运行的时候可以最多记住8个命令。
并且综合考虑公平性(先按键先执行)和有效性(完成任务的总的行走路径最短)来执行。
要求完成的内容:1.完成硬件电路的设计与安装调试(可借助单片机实验电路板),并用CAD 软件画出原理电路图。
2.画出流程图,编写并调试驱动程序。
3.撰写设计报告。
MCU1位七段数码管,3个LED 灯(显示当前电梯所处楼层与运行方向以及键盘以及对应的LED 灯(1-8,开门,关门)每个数字按键对应一个LED 灯,按下按键灯亮,8个LE D灯显示电梯所2个灯显示当前电梯8×2-2=14个按键表示每层楼入口的电梯按键3.1 电梯运行模拟控制器的总体运作流程等待外部信号整体配置初始化收到中断信号?执行电梯处理逻辑是否电梯运行模拟控制器整体运作流程3.2 电梯运行模拟控制器各模块关系电梯运行模拟控制器各模块关系图6.1基本的IO配置(输入/输出模式)输出模式配置对于输出模式IO的配置,用到的外设(LED灯,数码管,矩阵键盘),在代码中都有对它们进行对应的配置。
电梯调度模拟系统-测试方案
电梯调度模拟系统测试方案—080607A小组学号:******姓名:***学号:*********测试方案制作小组:080607班A小组编写目的:在软件测试过程中,人们通常感兴趣于测试的结论部分,而忽略了对测试的过程做一个设计,这样会导致很多意想不到不可避免的失误,所以在进行软件测试之前做一个测试的概要分析非常重要。
测试概要是对软件测试制作一个详细可行的操作过程,以便在软件测试过程中做到有的放矢,避免因乱枪大鸟而引起的各种失误情况。
具体对测试的方法,测试的工具,测试的操作流程,测试过程等做规划。
项目背景:该项目以申老师的课程设计为前提,选择了对升降式电梯进行系统性研究的测试算法。
测试环境与配置(测试的工具):操作系统:Microsoft Windows XP Professional Service Pack 3应用软件:Microsoft Visual C++ 6.0测试操作员:岳蕾测试时间:2010-11-30测试方法:主测:黑盒法优化:白盒法测试操作流程:1 对项目背景做一个简单的了解2 熟悉升降式电梯系统的编译方法,并能实际掌握该电梯的操作3 了解测试环境4 依照测试概要中对测试过程的基本实设计规划流程进行测试操作5 测试完后鉴别软件性能进行总结说明测试过程:1黑盒测试法A.数据;B.字母;C.负数;D.特殊字符;E.字母与特殊字符;F.字母和数字;G.空格和其他字符组合;H.其他非法输入2 业务逻辑测试A.运行测试;B.优先级测试(向上运行);C.优先级测试(向下运行);D.优先级测试(不分运行方向);E.压力测试3 测试注意事项测试过程中要先对测试结果进行一个预期猜想,然后测试后记录实际结果,对两者结果作比较分析,从而发现其中的出入,做记录。
该软件两种版本:v1.0,v2.0。
在测试中分别用两个版本进行测试,发现优劣,记录个软件相关测试后信息。
设计员:080607114 任哲瑶2010-11-28。
电梯模拟系统的研究与设计
关键词 : J a v a语言 ; 电梯模拟系统 ; 电梯调度算法
中图分类号 : T P 2 9 ; T P 3 1 2 文献标识码 : A 文章编号 : 1 0 0 6 - 4 3 2 X ( 2 0 1 3 ) 0 6 . - . 0 0 3 0 - - 0 4
随着现 代建筑技术 的发展 , 住房 、 大型商场 、 办公用 楼 等都 已经逐 渐向高层发展.电梯是高层建筑 中不 可或缺的
运输 工具 . 同时 , 由于人 口老龄化 问题的 日益突 出 , 多 层建
开门信号时 , 将执行对 应操作 , 若 电梯 门处于打 开状态 , 且 未收到闭门信 号 , 等待一段时间后 , 电梯门仍将 自动关闭 . 电梯外 部按 钮 : 最上层 只有呼 叫下行按钮 ; 中间层每层
楼层 . 每个楼层 啦有一个 电梯 门 , 当在某楼 层接受 到例 门 、
暂停 控制 : 当电梯接收到超 重信号 时 , 发 出报警信 号 ,
பைடு நூலகம்
收 稿 日期 : 2 0 1 3 - 0 5 — 2 4 基金项 目 : 塔 里 木 大学 校 长 基 金 硕 上 项 目( T D Z K S S Z D 2 0 1 2 0 7 ) .
都有呼叫上行按钮及呼叫下行按钮 ;最下层只有呼 叫上行
按钮.
筑 同样也有 使用电梯的需求.电梯作为现代智 能建筑 内的 代 步工具 , 方 便 了人们 的生 活、 节省 了人们 的时间和体力 , 因此 , 也越来越 显示 出它的重要作用 . t t 1 生活 中的 电梯 是集 机械原理应用 、 电器控 制技 术 、 微处 理器技术 、 系统 工程学 等多种技术 于一体 的机 电设备t Z ' l , 电梯质量 的好坏很大程度 上取决 于它 的控制 系统1 3 1 .
c语言模拟电梯程序
c语言模拟电梯程序我们需要定义电梯的状态。
电梯可以处于静止、上升或下降三种状态中的一种。
我们可以使用一个整型变量来表示电梯的状态,0表示静止,1表示上升,-1表示下降。
接下来,我们需要定义电梯的位置。
电梯可以停在不同的楼层,我们可以使用一个整型变量来表示电梯当前所在的楼层。
我们需要定义一个数组来记录每一层楼的乘客请求。
数组的每一个元素表示该楼层的请求状态,0表示无请求,1表示有上升请求,-1表示有下降请求。
在主程序中,我们可以使用一个循环来模拟电梯的运行过程。
在每一次循环中,我们首先检查电梯当前所在的楼层是否有乘客请求。
如果有请求,我们根据电梯的状态和乘客的请求来确定电梯下一步的动作。
如果电梯处于静止状态,我们可以根据乘客的请求来确定电梯的状态。
如果有上升请求,我们将电梯的状态设为上升;如果有下降请求,我们将电梯的状态设为下降。
如果电梯处于上升状态,我们需要找到最接近电梯当前位置且有上升请求的楼层,然后将电梯移动到该楼层。
如果没有找到符合条件的楼层,则将电梯状态设为静止。
如果电梯处于下降状态,我们需要找到最接近电梯当前位置且有下降请求的楼层,然后将电梯移动到该楼层。
如果没有找到符合条件的楼层,则将电梯状态设为静止。
在每一次循环结束时,我们将输出电梯的状态和位置,以及每一层楼的乘客请求状态。
这样可以让用户清楚地了解电梯的运行过程。
通过以上的步骤,我们可以完成一个简单的电梯模拟程序。
当然,实际的电梯系统要复杂得多,包括更多的功能和安全性考虑。
但是通过这个简单的模拟程序,我们可以初步了解电梯的运行原理和编程实现。
总结一下,本文介绍了如何使用C语言编写一个简单的电梯模拟程序。
通过定义电梯的状态和位置,以及乘客的请求状态,我们可以模拟电梯的运行过程。
通过循环判断电梯的状态和乘客的请求,我们可以确定电梯下一步的动作。
最后,我们输出电梯的状态和位置,以及每一层楼的乘客请求状态,以展示电梯的运行过程。
希望本文对读者理解电梯的工作原理和使用C语言实现电梯模拟程序有所帮助。
六层电梯模拟系统的研究与实现
其次,采用面向对 象语言编写程序模拟 电 梯运行 ,其 中 使 用双缓冲技 术来解决电梯图片在刷新过 程 中出现 的 闪烁现 象 ;最后 ,测试本 系统的正确 性和 合理 性. 关键词:电梯模拟 系统;电梯调度算法;双缓冲技术 中图分类号:T P 3 1 2 文献标识码:A 文章编号:1 6 7 3 - - 9 9 9 X( 2 0 1 4 )O 1 —0 O 5 7 —0 6
级的高低进行排序,从而按照排序执行相应的请求. 3 . 2 系统 逻辑 需 求分析 ( 1 ) 电梯 的初 始状态 是位 于第 一层 ,所 有按 钮都没 有被 按下 ,电梯 门处于关 闭状 态. ( 2 )乘 客可 以在任 意时 刻按任 何一 个 目标楼 层按 钮和 呼叫按钮 . 假 设乘 客在某 一 时刻按 下某 按钮 , 则
M 201 4
V o 1 . 8 NO . 1
ห้องสมุดไป่ตู้
六层 电梯模拟系统 的研 究与实现
陈纪龙 ,孟洪兵 ,吴 刚,刘付 勇
( 塔 里木 大学 信 息工程 学院,新疆 阿拉 尔 8 4 3 3 0 0 )
摘
要 :本研 究 以模 拟 电梯 实际运 行情 况 为 目的.首先 ,设 计 了控 制 电梯 运行 的调 度 算 法 ;
对应 的操 作 ,电梯 开 门、关 门按钮 及 其相应操 作 ,电梯 外部 上下行按 钮 及其功 能 ,电梯 当前运 行状 态 的显
示,电梯到达相应楼层后开关门的提示音等. 该系统模型结构简单,运行效果 良好,采用面向对象的编程 方法 实现 ,建模 方法 具有 一 定 的通 用性 【 4 】 .本研 究 思想与 方法 对分 析 与设计 实 际 电梯控 制 系统 有 一定 的参
可编程控制器 ( P L C )作为主控器件的电梯模拟系统,电路设计简单,但成本比较高,硬件设计也不灵活: 基 于单 片机 的 电梯 模拟 系统 ,使用 光 电传感 器检测 楼层 ,由单片 机控制 电机 停靠 目标 楼层 【 2 】 ,该方 法技 术
电梯调度模拟系统-测试报告
电梯调度模拟系统测试报告—080607A小组学号:080607姓名:岳蕾学号:080607120测试报告1.引言(1)编写目的测试分析报告是在测试分析的基础上,对测试结果以及测试的数据等加以记录和分析总结。
它也是测试过程中的一个重要环节,同时,它也是对软件性能的一个总的分析和认可及对不足之处的说明。
因此,测试分析报告对今后软件功能的加强,不足之处的弥补等起着十分重要的提纲作用。
测试是“为了发现程序中的错误而执行程序的过程”。
测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。
目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明,设计和编码的最后复审,也是不可缺少的关键步骤。
(2)项目背景此项目是由算法申老师依照学校教学计划提出,要求对升降式电梯进行合理调度设计相关的算法。
由080607班A小组负责对此项目开发。
(3)定义软件原始版本:V1.0;软件修正版本:V2.0;总体设计:构造模块,设计业务逻辑,设计数据结构等;接口设计:定义输入输出接口;定义数据的传送方式;数据结构设计:定义数据的组织方式和信息的传递形式;用户界面设计:提供用户输入和显示输出信息的用户和程序的接口;出错设计:定义异常类型及相应的出错处理;(4)参考资料1.王长元,李晋惠等。
软件工程西安:西安地图出版社,20032. 任务概述(1)目标测试是“为了发现程序中的错误而执行程序的过程”,测试的目的就是在软件正式投入生产性运行之前尽可能多的发现软件中的错误。
(2)测试环境操作系统:Microsoft Windows XP Professional Service Pack 3编译环境:Microsoft Visual C++ 6.0(3)条件与限制对于输入数据,合法输入只能是由0-9数字组合而成的数据;不合法的数据包括:纯字母﹑负数﹑特殊字符﹑字母和特殊字符的组合﹑字母和数字的组合﹑空格和其他字符的组合以及其他无意义的输入。
基于MCGS的电梯仿真模拟控制系统
基于MCGS的电梯仿真模拟控制系统作者:栾荣华郭志礼崔守娟来源:《农业科技与装备》2020年第04期摘要:为及时排除电梯运行故障,采用MCGS组态应用软件设计三层电梯的模拟系统,通过模拟电梯运行过程来监控处理系统的运行情况。
模拟运行结果显示,模拟仿真系统实时性强,机械和电气故障显示更为直观,具有良好的并行处理性能。
关键词:MCGS;电梯;设计;模拟运行;控制系统中图分类号:TU85 文献标识码:A 文章编号:1674-1161(2020)04-0036-03电梯在日常生活中的应用十分广泛,可以让人们快速到达目标楼层,在高层建筑中应用最多。
虽然电梯能给人们带来便捷,但也存在不少问题,例如运行时突然停止、电梯门未关便开始运行等。
为此,采用MCGS组态应用软件设计三层电梯的模拟系统,较为直观地模拟电梯运行过程,通过组态软件的模拟运行图像监控处理系统的运行情况,为排除电梯运行故障提供便利。
1 电梯结构电梯的结构分为四大空间与八大系统。
四大空间包括机房、井道及底坑、轿厢和层站;八大系统包括曳引系统、导向系统、轿厢、门系统等。
1.1 四大空间四大空间指机房部分、井道及底坑部分、轿厢部分、层站部分,具体结构见图1。
1.2 八大系统電梯的八大系统分为曳引系统、导向系统、轿厢、门系统、重量平衡系统、电力拖动系统、电气控制系统和安全保护系统,详见图2。
曳引系统的基本功能是输入和传递驱动力,使电梯得以运行。
导向系统的主要功能是限制轿厢及对重的活动自由度,促使轿厢及对重只能顺着导轨作上升或下降运动。
轿厢是运送旅客及货物的电梯器件,由轿厢架和轿厢体构成。
门系统的主要功能是封闭和开启层站和轿厢入口。
重量平衡系统的主要功能是平衡轿厢重量,使电梯传动正常。
电力拖动系统可以控制电梯运行速度。
电气控制系统对电梯的运行进行操纵与控制。
安全保护系统对电梯的安全进行保障,防止危及乘客的事故发生。
2 基于MCGS的电梯仿真模拟控制系统上位机选用MCGS(嵌入版,6.801.0002)嵌入式组态软件,实现窗口之间的逻辑控制,以及窗口内的基本功能,其中按键应用程序、文本框等图像对象的基本功能由MCGS的脚本程序完成。
基于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)参考文献 (14)致谢 (15)附录I: (16)附录II: (18)第1章绪论1.1电梯的研究背景及意义电梯是高层宾馆、商城、住宅、多层厂房和仓库等高层建筑不可缺少的垂直方向的交通工具。
随着社会的发展,建筑物规模越来越大,楼层越来越多,对电梯的可靠性、舒适感和美学等方面的要求也有了更高的要求。
电梯是集机电一体的复杂系统,涉及机械传动、电气控制和土建等工程领域,而对现代电梯而言,应具有高度的安全性。
PLC电梯模拟控制(4层简单程序)
产品设计PLC电梯模拟控制教学单位: 机电工程学院专业: 自动化班级:学号:学生姓名:指导教师:完成时间:电子科技大学中山学院机电工程学院课程(产品)设计任务书目录1 题目分析错误!未定义书签。
PLC电梯设计错误!未定义书签。
利用PLC设计电梯系统的目的错误!未定义书签。
利用PLC设计电梯系统意义错误!未定义书签。
利用PLC设计电梯系统优点错误!未定义书签。
电梯概述错误!未定义书签。
电梯的定义及发展错误!未定义书签。
我国电梯发展状况错误!未定义书签。
PLC概述错误!未定义书签。
可编程控制器PLC的概述错误!未定义书签。
可编程控制器PLC的特点错误!未定义书签。
本次设计研究的内容、目的错误!未定义书签。
2 PLC电梯模拟控制系统功能设计错误!未定义书签。
PLC电梯模拟控制系统设计的基本内容错误!未定义书签。
系统的控制要求错误!未定义书签。
3 PLC电梯模拟控制系统硬件设计错误!未定义书签。
元器件清单错误!未定义书签。
I/O地址分配错误!未定义书签。
PLC外部接线图错误!未定义书签。
硬件实物图错误!未定义书签。
4 PLC电梯模拟控制系统软件设计错误!未定义书签。
工作流程图错误!未定义书签。
程序设计错误!未定义书签。
电梯初始化、内呼输入与存储程序错误!未定义书签。
电梯外呼信号输入与存储程序错误!未定义书签。
电梯目标层与本层比较及上升下降错误!未定义书签。
电梯上升下降及达层自动开关门错误!未定义书签。
5 结束语错误!未定义书签。
参考文献错误!未定义书签。
附录:源程序错误!未定义书签。
致谢错误!未定义书签。
1 题目分析PLC电梯设计利用PLC设计电梯系统的目的电梯是高层建筑中垂直上下的运载工具。
电梯对于改善劳动条件、减轻劳动强度、提高人们生活水平有着重要的作用。
电梯目前已经广泛应用于宾馆、酒店、商场、娱乐场所、医院、生产车间和居民住宅大楼等。
在现代社会中,电梯已经成为人们生产、生活中不可缺少的运输工具。
本课题主要对PLC的结构、特点、性能以及与现场控制对象的连线进行具体的研究,并通过PLC实现电梯的自动控制。
C++项目——基于QT的电梯仿真系统
C++项⽬——基于QT的电梯仿真系统1.项⽬要求某贸易中⼼共10层,设有载客电梯1部。
为了处理问题的⽅便,有以下的限定条件:(1)电梯的运⾏规则是:可到达每层。
(2)每部电梯的最⼤乘员量均为K⼈(K值可以根据仿真情况在10~20⼈之间确定)。
(3)仿真开始时,电梯随机地处于其符合运⾏规则的任意⼀层,为空梯。
(4)仿真开始后,有N⼈(>20⼈)在该国际贸易中⼼的1层,开始乘梯活动。
(5)每个⼈初次所要到达的楼层是随机的,开始在底层等待电梯到来。
(6)每个⼈乘坐电梯到达指定楼层后,再随机地去往另⼀楼层,依此类推,当每⼈乘坐过L次(L值可以根据仿真情况在3~10次之间确定)电梯后,第L+1次为下⾄底层并结束乘梯⾏为。
到所有⼈结束乘梯⾏为时,本次仿真结束。
(7)电梯运⾏速度为S秒/层(S值可以根据仿真情况在1~5之间确定),每⼈上下时间为T秒(T值可以根据仿真情况在2~10之间确定)。
(8)电梯运⾏的⽅向由先发出请求者决定,不允许后发出请求者改变电梯的当前运⾏⽅向,除⾮是未被请求的空梯。
软件开发要求:(1)设计⼀个易于理解的界⾯,动态显⽰各梯的载客与运⾏情况(上、下或停⽌),动态显⽰各楼层的⼈员停留情况与要求乘梯情况;动态显⽰从仿真开始到⽬前的时间。
(2)可变动的参数(K、N、L、S、T)应在程序开始时从对话框输⼊。
2.执⾏过程基于⾯对对象的思想,我们创建了⼤楼类、电梯类、乘客类三个主要类,对照⽣活中的经验,为每个类编写各⾃的函数,体现“⾼内聚、低耦合”的设计,每个类只做⾃⼰的事情。
1. 创建MainWidget类,它初始化界⾯2. 当我们按下“开始”按钮时,SimuThread类构造,绑定信号和槽。
在SimuThread类构造中,⼜构造了building类和elevator类3. SimuThread类继承了Simulation,调⽤Simulation类的run⽅法,开始Simulation中的主流程2.1主流程这个电梯遵循传统的电梯调度算法:顺向截停,即在电梯的运⾏过程中,只有跟电梯相同⽅向的请求才会被响应,电梯开门。
基于PLC的电梯群控系统设计与仿真
基于PLC的电梯群控系统设计与仿真电梯是现代建筑中不可或缺的一部分,它们为人们提供了便利和舒适。
而随着大型建筑的增多,单个电梯已经不能满足需要了,电梯群控系统应运而生。
本文基于PLC(可编程逻辑控制器)来设计和仿真一个电梯群控系统。
首先,我们需要明确电梯群控系统的基本要求。
电梯群控系统需要能够实现多个电梯的联动控制,确保乘客在最短的时间内到达目的地。
同时,系统需要具备故障检测和报警功能,以保证安全。
最后,系统还需要考虑节能和资源利用的问题。
基于以上要求,我们可以开始设计电梯群控系统。
首先,我们使用PLC来控制每个电梯的运行。
PLC是一种可编程电子设备,具有高可靠性和可编程性,非常适合用于电梯控制。
每个电梯都有自己的PLC,在PLC中编写程序来控制电梯的运行。
其次,我们需要设计一个中央控制单元(CCU)来协调多个电梯的运行。
CCU通过与各个电梯的PLC通信来实现这一目标。
CCU需要根据乘客的需求和电梯的状态来做出优化的决策。
例如,当有多个电梯都空闲时,CCU可以选择距离最近的电梯来服务乘客。
当有乘客按下上下楼按钮时,CCU可以选择最快到达目的地的电梯来服务乘客。
此外,我们还需要为系统设计故障检测和报警功能。
PLC可以监测电梯的各个部件的状态,例如电梯门的开闭、电梯的运行速度等。
一旦发现异常,PLC会发送报警信号给CCU,并采取相应措施,例如停止电梯运行或者调度其他电梯。
最后,为了实现节能和资源利用,我们可以引入一些优化算法。
例如,CCU可以根据乘客的需求和电梯的状态来调度电梯。
当有多个电梯都服务空闲乘客时,CCU可以选择较大运载量的电梯来服务,以减少电梯的运行次数。
另外,CCU还可以根据乘客流量和楼层情况来预测需求,提前调度电梯到达楼层,以减少等待时间。
设计完电梯群控系统后,我们可以使用仿真软件来验证系统的正确性和性能。
通过模拟不同的乘客需求,我们可以评估系统的吞吐量和等待时间。
同时,我们还可以模拟电梯的各种故障情况,以测试系统的故障检测和报警功能。
电梯群控系统模拟器研究
能 的 E S仿 真软 件工具 的设计 与实 现 ( P GC 含 C机 版本 和嵌 入式 系统 版本两 种 ) 。该 仿 真软件 也 称为 电梯 群 控 系 统 模 拟 器 ( GC S E e ao o p E S , l tr Gru v
Co t o y t m i u a o ) n r lS s e S m l t r 。
( e at n f o u e c n ea dTeh oo yo a j g Unv ri ,N n i 2 0 9 ) D pr me t mp tr i c n c n l f n i i s y a j g 1 0 3 oC S e g N n e t n
Ab t a t Th sp p rg v s a b t a t s rc i a e ie n a s r c d l o lv t rg o p c n r l y t m. B s d o h b ta tmo e ,t i a mo e f ree a o r u o to s e s a e n t e a s r c d l h s p —
n r s r c u e ,s h d l g a g r h ,mo u e d v s n a d p o e sn t ra eo h i lt r u lo g v s t e i lme — e tu t rs c e ui lo i m n t d l ii i n r c s i g i e f c ft e smu a o ,b tas ie h o n mp e n t t n r s lso r t t p ft e s u a o ,wh c n l d s d t tu t r ,p o e sn l w,v s a s ri t r a e r i r n a i e u t fp o o y e o h i l t r o m ih i c u e a a s r c u e r c s i g f o iu l e n e f c ,ta l u u -
基于51单片机的电梯仿真系统(仿真程序PPT)
结果分析
性能评估
根据仿真数据,评估电梯系统的性能,如运行稳定性、响应速度等 。
问题诊断
分析仿真过程中出现的问题,如电梯无法响应某些楼层请求、运行 异常等,定位并解决问题。
优化建议
根据分析结果,提出针对性的优化建议,如改进电梯控制算法、调 整电机驱动参数等,以提高电梯系统的性能。
05
电梯仿真系统优化
汇编语言是51单片机的底层编程语言,它直接对应着硬 件的操作。使用汇编语言编程需要对硬件有深入的了解 ,并且编程效率相对较低。但是,汇编语言具有代码紧 凑、执行效率高等优点,在一些对性能要求较高的场合 仍然有应用。
C语言
C语言是51单片机的主流编程语言之一,它具有语法简 单、易于学习、可移植性好等优点。使用C语言编程可 以大大提高开发效率,并且代码可读性较好。同时,C 语言具有丰富的库函数和强大的数据处理能力,可以满 足大多数应用的需求。
3
该仿真系统具有可视化界面,能够直观 地展示电梯的运行过程和状态变化,方 便用户进行操作和观察。同时,该系统 还具有可扩展性和可定制性,可以根据 实际需求进行功能扩展和定制开发。
02
51单片机基础知识
51单片机简介
51单片机的定义
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来 随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是 ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长 的一段时间内将占有大量市场。
运行仿真
启动仿真,观察电梯在接收到 不同输入信号时的运行状态和 输出动作。
基于MCS-51单片机的电梯模拟系统设计
本科毕业设计论文题目基于MCS-51单片机的电梯模拟系统设计专业名称学生姓名指导教师毕业时间毕业一、题目:基于MCS-51单片机的电梯模拟系统设计二、指导思想和目的要求:通过毕业设计,使学生对所学电子工艺、传感器知识、电机控制技术、模电、数电、等电子基础课程的基本知识加深理解,在所学51八位单片机的基础上,学习更高级十六位单片机的基本指令及基本结构,并将其与实际工程应用紧密结合起来,培养创新意识,增强分析问题解决问题能力,为尽快进入社会角色,熟悉相关开发工作流程,提高基本工作技能,为即将踏入社会奠定理论和实践基础。
要求:认真复习有关基础理论和技术知识,查阅参考资料,参照下列设计思想,运用所学单片机知识独立设计电路、自行焊接、调试,直至预期结果方可。
要求实现:1. 通电后,系统默认电梯轿厢停在一层。
2. 如需上行,请按下所要到达楼层的上行呼叫按钮,轿厢显示开始上行,所经楼层号用LED进行短时显示,到达,楼层号持续显示,直至轿厢被呼叫离开,并有蜂鸣器鸣叫以示到达。
3. 当轿厢停留在中间楼层时,可实现上或下行呼叫,行进方向按呼叫顺序进行,如同时呼叫,则坚持先上行,后下行原则。
4. 由LED指示轿厢行进的方向。
5. 模拟楼层数要求五层及以上。
三、进度与要求:1.第一周~第三周在工作中收集各种相关资料,给出系统整体设计方案。
2.第四周~第五周进行器件选型,并用PROTEL设计硬件原理图。
3.第六周~第九周针对系统具体功能进行编程调试。
4.第十周~第十一周整理并组织论文。
6.第十二周~第十四周完成修改稿,定稿,打印,交评阅。
7.第十五周~第十六周评阅与答辩四、主要参考书及参考资料[1] 谢宜人主编,单片机实用技术问答, 北京人民邮电出版社 ; 2003[2] 靳达,单片机应用系统开发实例导航 , 北京人民邮电出版社 ; 2003[3] 流光斌等,单片机系统实用抗干扰技术,北京人民邮电出版社;2004[4] 余永权,ATMEL89系列单片机应用技术,北京航空航天大学出版社;2002[5] 陈瑾;智能小车运动控制系统的研究与实现[D];东南大学硕士论文;2005年[6] 韦巍;智能控制技术[M];北京:机械工业出版社;2000年[7] 蒋新松;机器人学导论[M];辽宁科学技术出版社;2003年[8] 孙迪生,王炎;机器人控制技术;北京:机械工业出版社;1997年[9] 陈明荧,8051单片机课程设计实训教材,清华大学出版社;2003年[10] 蔡美琴等,MCS-51系列单片机系统及其应用,高等教育出版社;2004年学生指导教师__ _ 系主任摘要电梯开始成为人们生活中不可缺少的一种便利工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电梯模拟系统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}数据关系:R={<a i-1,a i>|a i-1,a i∈D,i=2,…,n}基本操作:PrintClientInfo(Client const &e,ClientStatus)操作结果:输出乘客信息。
CreatClient(Client *&p)操作结果:生成新的乘客。
DestoryClient(Client *&p)操作结果:该乘客离开系统。
GoAbove(Client const &e)操作结果:判断该乘客是否去往高层。
CInfloor(Client const &e)操作结果:返回乘客进入的楼层。
CInTime(Client const &e)操作结果:返回乘客进入时间。
COutfloor(Client const &e)操作结果:返回乘客进入时间。
}2、乘客栈类型电梯内的乘客用乘客栈表示,去不同楼层的乘客放在不同的栈中。
ADT Estack数据对象:D={a i∈乘客信息,I=1,2,…,n,n≥0}数据关系:R={<a i-1,a i>|a i-1,a i∈D,i=2,…,n}基本操作:略。
}3、等候队列类型在电梯外等待的乘客用等待队列表示。
每层各有两个等待队列,分别为上楼队列和下楼队列。
与一般队列不同的是在基本操作中加入了放弃操作CGiveUp(WQueue &Q,int floor)。
4、电梯类型表示电梯的各个属性和所有动作。
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)操作结果:判断电梯是否要开门。
}5、高楼模块实现电梯和乘客之间的互交功能。
包括: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)操作结果:输出电梯动作信息。
四:算法设计1:本程序包含6个模块:(1)主程序模块(2)乘客模块(3)乘客栈模块(4)电梯模块(5)等待队列模块(6)高楼模块:实现电梯和乘客之间的互交。
各模块之间的调用关系如下:2:主程序主程序主要处理两类事件:乘客事件和电梯事件。
除此之外,主程序还处理各个模块的初始化和销毁工作,以及电梯状态的输出。
乘客事件包括新乘客到达事件,乘客放弃等待事件,乘客进出电梯事件。
电梯事件包括电梯运行事件。
3:详细设计#define NULL 0 若有高层请求:上升;2.若无高层请求:转下降期,下降。
2)若电梯在下降期:1. 若有低层请求:下降;2. 若无有低层请求:转上升期,上升。
判断电梯是否要停于当前层函数EleAchieved的算法:1.该层的CallCar为1;2.该层在上升(下降)期有上升(下降)请求(判断CallUp或CallDown);3.上升(下降)期高(低)层没有请求而该层由下降(上升)请求,要转换运行时期。
判断电梯动作函数ElevatorRun的算法:1.若电梯在Opening状态,则转至Opened状态。
2.若电梯在Opened状态,若无人进出,则转至Closing状态。
3.若电梯在Closed状态,则根据电梯请求情况转至相应状态。
4.若电梯在Closing状态,则转至Closed状态。
5.若电梯在Moving状态,若达到目标层,则转至Decelerate状态。
否则,继续移动。
6.若电梯在Decelerate状态,则设定电梯时期,并转至Opening状态。
7.若电梯在Waiting状态,在判断是否等待超时,若超时则向第一层移动。
否则,判断电梯请求情况并转至相应状态。
五:设计与调试分析在本程序中如何判断电梯的动作最为关键。
此外,合理划分各个模块和处理各个模块之间的联系也非常重要。
在电梯调度方面不能按照预定的想法实现,所以和现实中的电梯有出入。
没有显示电梯的运行到哪里,而是用有乘客进入电梯时显示乘客进入到哪层楼来告知电梯运行到几楼。
开门,关门时需要精心思考,此处记时及判断是否要开门也是难点,所以这些看似很平常的动作却是最难也是最容易错的地方。
此外在指针的使用方面也是难点,很多地方比如乘客进队出队以及放弃乘坐电梯时均涉及指针的使用,也经常在这些地方通不过编译。
为了便于控制循环,设计了电梯运行时间,则在时间到达时即可退出系统。
由于开始为了简化程序而定义了很多变量,结果发现并不实际,有的变量仅是在某些函数中赋予其值罢了,于是就将这些变量删除,比如开始按照提示设置了D1—表示人们正在进出电梯等等。
六:体会及建议我们应重视编程思想的培养,语言很重要,但究竟只是工具,思想才是精髓。
通过阅读书中的各种数据结构及相应算法的代码来吸收书中的思想。
我们可以利用各种途径来学习认识一种功能的实现,但是最终的串联编写还是应该靠自己的思路去不断完善,在这段时间中我们有充分的时间去了解我们完成任务所需的知识内容,而我们也应该去认真完成。
在这阶段的设计过程中,编写时总是出现原来未曾遇到过的各种错误,很难解决,常常受到很长时间的困扰,虽然这属于纯粹的个人能力体现,属于自学运用,但老师并不能在有问题时及时给与有效建议。
而我们的所学有限,考虑问题不是很全面,解决问题也总是难以有高效的解决方案只能通过不断的实践去比较结果。
七:参考文献1:严蔚敏等数据机构(C语言版)清华大学出版社2:谭浩强C语言程序设计清华大学出版社八:原代码#include <>#include <>#include <>#include <>#include <>#include <>#include <>n",,;break;case GiveUp: printf("\t%d号乘客放弃等待.\n",;break;case Out: printf("\t%d号乘客走出电梯.\n",;break;case In:printf("\t%d号乘客走进电梯,要去第%d层.\n",,;break;default:break;};}Status CreatClient(Client *&p){int d;p=new Client;if(!p) return OVERFLOW;p->ClinetID=++ID;printf("%d所能容忍的等待时间:",ID);scanf("%d",&d);p->GivepuTime=d;p->InTime=Time;printf("下一乘客要到达的时间:");scanf("%d",&d);InterTime=d;printf("所要到达的楼层:");scanf("%d",&d);p->Outfloor=d;while((p->Infloor=rand()%(Maxfloor+1))==p->Outfloor);PrintClientInfo(*p,New);return OK;}Status DestoryClient(Client *&p){delete p;p=NULL;return OK;}Status GoAbove(Client const &e){if> return TRUE;else return FALSE;}Status CInfloor(Client const &e){return ;}Status CInTime(Client const &e){return ;}Status COutfloor(Client const &e){return ;}#define STACK_INIT_SIZE 10 n");break;case DoorClosed:printf("%\t电梯门已关闭.\n");break;case Achieved:printf("%\t电梯已到达第%d层。