解析电梯的运行过程
2014-12-16现在把电梯的运行过程分成四种,分别是:向_L收集任务过程,向下收集任务过程,向上完成任务过程,向下完成任务过程。电梯的运行状态有两种,分别是:当前状态,未来状态。
举例来说:用户在八层,电梯在一层,人想下去,所以按向下的箭头。那么未来状态就是“向下”,而当前状态是“间上”.现在电梯开始向上运行,中间如果有新出现的未来状态是“向下”的呼叫请求,它也停靠,这就是向上收集任务过程。这里设计成低层呼叫不屏蔽高层呼叫的模式,所以暂时不理睬收到的停靠请求。当电梯上升时,要不断检查是否有更高层未来状态是“向下”的呼叫请求,如果有,就停靠在那一层,否则就停靠在最初呼叫它的那一层,即第八层。
电梯停靠期间,如果一直没有收到任何停靠请求,就表示用户自动放弃刚才的决定,可以重新选择方向。否则,电梯进人向下完成任务过程。当电梯下降时,和刚才类似,只处理向下的呼叫或停靠请求。同时也不断检查是否有更低层未来状态是“向下”的呼叫和停靠请求,运行直到那一层为止。然后所有状态清零,开始接受新一轮的请求。
另外两个任务过程可以类似地推导出来,这里就不再述了。电梯是用来装人的,所以判断停靠的优先级较高,放在前面;判断呼叫优先级低,放在后面。其中的帮助函数ChcekDets-Caes用来处理四种任务过程,主要是检查哪个层位有呼叫或停靠请求。关于采用何种策略来满足用户的需求,有很多种办法,这里只是提供一种思路,希望能起到抛砖引玉的效果
下一篇 : 电梯中验收码寄存器的作用