Beispiel #1
0
 void PreviousLoadWaitingStatus_OnLoadWaitingChanged(object sender, LoadWaitingChangedEventArgs e)
 {
     if (e._loadWaiting) //Load is waiting to be released from previous conveyor
     {
         if (RouteAvailable == RouteStatuses.Request)
         {
             psTimeoutTimer.Stop();
             psTimeoutTimer.Reset();
             RouteAvailable = RouteStatuses.Available;
             ParentMultiShuttle.LoadTransferingToPickStation(new PickDropStationArrivalEventArgs(null, e._waitingLoad as Case_Load, Elevator, 1));
         }
     }
     else //Load has completed transfer from previous conveyor
     {
         if (RouteAvailable == RouteStatuses.Available)
         {
             if (TransportSection.Route.Loads.Count == 2) //2 loads are on the pick station
             {
                 RouteAvailable = RouteStatuses.Blocked;
             }
             else
             {
                 RouteAvailable = RouteStatuses.Request;
             }
         }
     }
 }
Beispiel #2
0
 void psTimeoutTimer_OnElapsed(Timer sender)
 {
     if (LocationB.ActiveLoad != null && RouteAvailable == RouteStatuses.Request) //If the conveyor is availbale then do not send arrival message as one is transferring
     {
         RouteAvailable = RouteStatuses.Blocked;
         ParentMultiShuttle.ArrivedAtPickStationConvPosB(new PickDropStationArrivalEventArgs(LocationB.LocName, (Case_Load)LocationB.ActiveLoad, Elevator, 1));
     }
 }
Beispiel #3
0
        //void sensor_OnLeave2(DematicSensor sender, Load load)
        //{
        //    if (infeedInProgress) //This doesn't do anything!
        //    {
        //        RouteAvailable = RouteStatuses.Blocked;
        //    }
        //}

        public void sensor_OnEnterA(DematicSensor sender, Load load)
        {
            if (TransportSection.Route.Loads.Count == 2)
            {
                load.Stop();

                psTimeoutTimer.Stop();
                psTimeoutTimer.Reset();
                RouteAvailable = RouteStatuses.Blocked;
                ParentMultiShuttle.ArrivedAtPickStationConvPosA(new PickDropStationArrivalEventArgs(LocationA.LocName, (Case_Load)load, Elevator, 2));
            }
            else
            {
                ParentMultiShuttle.ArrivedAtPickStationConvPosA(new PickDropStationArrivalEventArgs(LocationA.LocName, (Case_Load)load, Elevator, 1));
            }
        }