资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
电梯模拟程序设计方案电梯模拟程序设计方案电梯模拟程序设计方案电梯模拟程序设计方案报汇人:张翰林报汇人:张翰林队长队长 :陈帅:陈帅-战狼团电梯模拟程序设计模块电梯模拟程序设计模块电梯电梯系统需求系统需求电梯电梯系统需求分析系统需求分析系统系统调度调度策略策略电梯系统演示系统设计人员分工信息12345活动展开流程活动展开流程分大组为小组,细化分工Stp 1Step 2Step 3Setp 4讨论设计方案汇总各组结果,执行设计各小组查阅资料,熟悉设计需求电梯模拟电梯模拟系统需求系统需求1采用1个电梯共有8层楼层。 中间层每层有上下两个按钮,最下层只有上行按钮,最上层只有下行按钮。每层都有相应的指示灯,灯亮表示该按钮已经被按下,如果该层的上行或者下行请求已经被响应,则指示灯灭(取消响应) 电梯内共有8个目标楼层按钮,表示有乘客在该层下电梯。有指示灯指示按钮是否被按下。乘客按按钮导致按钮指示灯亮,如果电梯已经在该层停靠则该按钮指示灯灭。另有一开门关门按钮。当电梯停在某一楼层后,接受到开、关门信息就继续运行。如果得不到开、关门信息,等待一段时间也自动继续运行。电梯内设有方向指示灯表示当前电梯运行方向。 说明:模拟电梯采用MFC界面设计。电梯模拟电梯模拟系统需求分析系统需求分析2 1电梯的初始状态是电梯位于第一层处,所有按钮都没有按下。 2乘客可以在任意时刻按任何一个目标钮和呼叫钮。呼叫和目标对应的楼层可能不是电梯当前运行方向可达的楼层。(每个楼层出现的乘客数量,以及所要到达的目标楼层的方向是随机产生的) 3.电梯系统依照某种预先定义好的调度策略对随机出现的呼叫和目标进行分析和响应。 4.乘客数量,电梯加速减速等外界因素(可能导致停靠时间的长短变化)不予考虑。假设电梯 正常运行一层的时间是3S,停靠目标楼层、上下乘客和电梯继续运行的时间是3S。系统的系统的调度调度策略策略3(1)调度策略一: 按照排队的方案,把所有的电梯乘坐请求按时间排队,这种设计方案由于效率低下,明显不合理。(2) 调度策略二: 在运行控制中所规定的安全前提下,一次将一个方向上的所有呼叫和目标全部完成。然后掉转运行方向完成另外一个方向上的所有呼叫和目标。可以采用设定目标楼层的办法来实现这个策略,即电梯向一个目标楼层运行,但这个楼层可以修改。详情一一.修改目标楼层的策略:修改目标楼层的策略: A如果电梯运行方向向上,那么如果新到一个介于当前电梯所处楼层和目标楼层之间,又可以安全到达的向上呼叫或者目标,将目标楼层修改为这个新的楼层。 B如果电梯运行方向向下,那么如果新到一个介于当前电梯所处楼层和目标楼层之间,又可以安全到达的向下呼叫或者目标,将目标楼层修改为这个新的楼层。二二.确定新的目标楼层确定新的目标楼层策略策略: A.如果电梯向上运行,当它到达某个目标楼层后,则依照以下顺序确定下一个目标楼层: a如果比当前层高的楼层有向上呼叫或者目标,那么以最低的高于当前楼层的有向上呼叫或者目标的楼层为目标。 b如果无法确定目标楼层,那么以最高的向下呼叫或者目标所在楼层为电梯当前目标楼层。 c如果无法确定目标楼层,那么以最低的向上呼叫所在楼层为电梯当前的目标楼层。 d如果仍然不能确定目标楼层(此时实际上没有任何呼叫和目标),那么电梯无目标,运行暂停。B.如果电梯向下运行,依照以下顺序确定下一目标楼层: a如果比当前层低的楼层有向下呼叫或者目标,那么以最高的低于当前楼层的有向下呼叫或者目标的楼层为目标。 b如果无法确定目标楼层,那么以最低的向上呼叫或者目标所在楼层为电梯当前目标楼层。 c如果无法确定目标楼层,那么以最高的向下呼叫楼层为目标楼层。 d如果仍然不能确定目标楼层(此时实际上没有任何呼叫和目标),那么电梯无目标,运行暂停。电梯系统的演示4(1)电梯电路模型设计查看1.电路模型说明 : 采用了两部电梯,分别用左右两排黄灯表示,黄灯亮表示当前电梯位置,中间蓝灯亮表示对应楼层有人等待(蓝色灯为随即点亮)。2.实际运行效果为: 按照前面规定的调度规则,去响应请求,模型的效果为依次点亮电梯经过处相应的LED灯,时间间隔为3S,然后到达目标楼层,持续点亮当前楼层对应的灯,表示电梯停止等待,随即灭掉所在楼层对应的蓝色LED灯,表示人进入电梯。然后电梯继续运行到目标楼层,持续点亮当前楼层对应的灯。表示电梯停止,再点亮对应楼层的蓝色LED,蓝色灯亮2S,然后灭掉,表示人离开电梯。若其他楼层没有请求,则电梯停在当前位置,表示为该楼层对应的LED所代表的电梯一直亮,直到再去响应请求。电梯电路模型设计说明电梯电路模型设计说明电梯系统的演示4(2)MFC电梯模拟系统界面设计 运行程序具体实现的MFC效果图如下: 运行程序 程序设计基本介绍程序设计语言:MFC程序界面模式:基于对话框的程序界面核心模块:定时器的使用程序设计思想: 图像的绘制与覆盖(模拟电梯运行效果) 整体设计思路整体设计思路:1考虑到实际电梯运行过程不需要人为控制,所以本程序在电梯运行之后,就不需要人为来控制,当然,为了防止突发情况,设置了强制电梯停止运行的按钮,不过这个按钮只有在电梯总控制室才能使用,是由电梯控制人员来控制。2因为时间有限,目前程序实现中还没有考虑电梯多人情况,一次只能上去一个人,到目标楼层后,会有另外的楼层发出搭乘信息,电梯在运行到该楼层,继续将乘坐人员送到目标楼层。3程序是使用定时器来控制运行,没到先赢的楼层后,会停顿1.5秒等待人员上下电梯,完毕之后继续下一人员搭乘。二、相关程序具体说明界面设计与相关楼层信息:1.界面设计选用黑白色来进行图形的绘制与填充,没有过多的颜色加以渲染,程序核心是使用定时器,每个一定时间,触发器响应厨房定时器函数,从而来控制电梯的移动。2.楼层信息是系统自动产生,无需人为输入,电梯运行也是自动的,限于时间与相关的能力问题,目前只做到单人出入电梯,并没有实现多人出入电梯的情况。相关代码实例如下:相关代码实例如下: void CChap11_1Dlg:OnTimer(UINT nIDEvent) /定时器触发函数 CClientDC dc(this);/获取当前窗体对象相关的设备上下文 . if(point0.y=pointFloor.y&m_arrive=TRUE) GetDlgItem(IDC_NUM)-SetWindowText(1);/显示当前点内部人员数量,因为只有一个人,所以就设置为1Sleep(1500);/停顿1.5秒等待人员上电梯if(FloorgoFloor)/当目标楼层在该楼层之下时,电梯转向 turn =TRUE; .相关代码实例如下:相关代码实例如下: else if(point0.y=pointgoFloor.y&m_arrive=FALSE) /m_arrive表示人员是否到达目标楼层 FALSE表示到达,TRUE表示还没有到达, GetDlgItem(IDC_NUM)-SetWindowText(0);/人员到达目标楼层之后,设置电梯内部人数为0 int i=goFloor; Sleep(1500);/顶端1.5秒 等待下电梯 goFloor=0;/设置目标楼层为0 InitMessage();/初始化 /以下是设置转向问题 不再详细讲解 if(iFloor) turn=FALSE; else turn =TRUE;m_arrive=TRUE;电梯系统的演示4(3)Flash电梯模拟系统动画的设计播放系统设计人员分工信息5组长:赵伟组员:刘志华 吴志韬 组长: 陈帅 组员: 陈延平 冯汉武组长:杨伟韦组员:汪俊 罗周权战狼团战狼团组长:张翰林 组员:陈威
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号