首页 > 其他 > 详细

电梯调度(二)

时间:2014-03-21 03:19:01      阅读:343      评论:0      收藏:0      [点我收藏+]

结组队员:刘静(20092532)  解凤娇(20112878)  王洪叶(20112886)

一、电梯调度编写综述:

     1、电梯分为四个,因此设置一个电梯标号选项工乘客选择向乘坐的电梯。

     2、电梯为负一层到二十层,因此为满足电梯需求,每一层电梯内部设置26个按钮工乘客选择所要到达的电梯层数。电梯外部设置两个按钮(第二十层和负一层除外,第二十层只设置向下按钮,负一层只设置向上按钮)并通过按钮的亮灭状态判断电梯的运行状态。

     3、电梯时间设置:电梯到达各层停止时间设置为10s供电体中乘客走出或者电梯外部的人进入电梯;电梯开关门时间设置为1s,通过每一层所用时间为9s。

     4、电梯在每一层会判断电梯载重量是否超重,若超重则不再应答电梯外部请求,直到满足条件为止。

二、流程图:

                                                           bubuko.com,布布扣

                                                     

                                                               

三、功能实现思想:

     1、编译环境:vs2010

     2、实现语言:C#

     3、(1)静态数据设置:

                  具体实现部分代码:

bubuko.com,布布扣
 
bubuko.com,布布扣
static public class St   
    {
        public enum proSt { Wait, Run ,Ready};                             

        public enum dir { Up, Down, Stay };                                  
    }
    public class INFO                                                               //INFO数据块
    {
        public bool Run = true;                                                    //电梯运行状况

        public int req = 0;                                                  //电梯剩下的请求数

        public St.proSt sta = St.proSt.Ready;        //电梯运动状态

        public St.dir edir = St.dir.Stay;              //电梯运动的方向

        public St.dir nextDir = St.dir.Stay;                //电梯被请求的下一个运动方向

        public int curFlo = 0;                                               //电梯当前楼层数

        public int[] upFlo = new int[20];                           //上行 目的地状态栏:0为没有请求 1为有请求

        public int[] downFlo = new int[20];                         //下行 目的地状态栏:0为没有请求 1为有请求
                                       

        public int[] light = new int[20];                                     //电梯内按钮灯的状态,1为亮灯,0为灭灯

        public int[] uplight = new int[20];                                //控制上行灯的显示状态标识

        public int[] dLight = new int[20];                              //控制下行灯的显示状态标识
    }
bubuko.com,布布扣

 


 

2)电梯运行状态类:public class Process

    具体代码部分:

bubuko.com,布布扣
public class Process
    {
        public INFO info = new INFO();
        public TextBox eleSta = new TextBox();                          //用来显示此电梯状况的表
        private delegate void boxDelegate();

        public void Lightup(int floor)
        {
            info.light[floor - 1] = 1;
        }
        public void Lightclose(int floor)
        {
            info.light[floor] = 0;
        }
bubuko.com,布布扣

3)电梯运行方向实现方法:public void setdir()

    具体实现部分代码:

bubuko.com,布布扣
public void setdir()
        {
            int i = 0;
            if (info.req != 0)
            {
                for (i = info.curFlo; i != 20; i++)
                {
                    if (info.upFlo[i] == 1)
                    {
                        if (info.curFlo == i)
                        {
                            info.edir = St.dir.Stay;
                            break;
                        }
                        else                        {
                            info.edir = St.dir.Up;
                            break;
                        }
                    }
                }
                if(i == 20)
                {
                    for(i = 19;i != -1 ;i--)
                    {
                         if (info.downFlo[i] == 1)
                        {
                            if (info.curFlo == i)
                            {
                                info.edir = St.dir.Stay;
                                break;
                            }
                            else                            {
                                info.edir = St.dir.Down;
                                break;
                            }
                         }
                    }
                }
                if(i == -1)
                    info.edir = St.dir.Stay;
            }
        }
bubuko.com,布布扣

 

4)请求参数改变运行状态:public void setFlo(int floor, int reqDir)

    具体实现部分代码:

 


  

 
bubuko.com,布布扣

 

 

    四、运行界面

 五、小组成员时间安排

 

 

      

 

电梯调度(二),布布扣,bubuko.com

电梯调度(二)

原文:http://www.cnblogs.com/kengqiangmeiguiye/p/3614668.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!