Exemplo n.º 1
0
 void LHSStartFixPoint_OnUnSnapped(Core.Parts.FixPoint stranger)
 {
     lhsConveyor.PreviousConveyor = null;
     lhsPreviousLoadWaitingStatus.OnLoadWaitingChanged -= lhsPreviousLoadWaitingStatus_OnLoadWaitingChanged;
     lhsPreviousLoadWaitingStatus = null;
     Reset();
 }
Exemplo n.º 2
0
        public override void StartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
        {
            IRouteStatus connectedConv = stranger.Parent as IRouteStatus;

            PreviousLoadWaitingStraight = connectedConv.GetLoadWaitingStatus(stranger);
            PreviousLoadWaitingStraight.OnLoadWaitingChanged += PreviousLoadWaitingStraight_OnLoadWaitingChanged;
        }
Exemplo n.º 3
0
 public override void StartFixPoint_OnUnSnapped(FixPoint stranger)
 {
     PreviousConveyor = null;
     PreviousLoadWaitingStatus.OnLoadWaitingChanged -= PreviousLoadWaitingStatus_OnLoadWaitingChanged;
     PreviousLoadWaitingStatus = null;
     Reset();
 }
Exemplo n.º 4
0
        public void MergeSectionStartFixPoint_OnSnapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
        {
            IRouteStatus connectedConv = fixpoint.Parent as IRouteStatus;

            PreviousLoadWaitingMerge = connectedConv.GetLoadWaitingStatus(fixpoint);
            PreviousLoadWaitingMerge.OnLoadWaitingChanged += PreviousLoadWaitingMerge_OnLoadWaitingChanged;
        }
Exemplo n.º 5
0
 public override void StartFixPoint_OnUnSnapped(Core.Parts.FixPoint stranger)
 {
     if (previousLoadWaitingStatus != null)
     {
         previousLoadWaitingStatus.OnLoadWaitingChanged -= PreviousLoadWaitingStatus_OnLoadWaitingChanged;
         previousLoadWaitingStatus = null;
         Reset();
     }
 }
Exemplo n.º 6
0
 public override void StartFixPoint_OnSnapped(Core.Parts.FixPoint stranger, Core.Parts.FixPoint.SnapEventArgs e)
 {
     PreviousConveyor          = stranger.Parent as IRouteStatus;
     previousLoadWaitingStatus = PreviousConveyor.GetLoadWaitingStatus(stranger);
     if (previousLoadWaitingStatus != null)
     {
         previousLoadWaitingStatus.OnLoadWaitingChanged += PreviousLoadWaitingStatus_OnLoadWaitingChanged;
     }
 }
Exemplo n.º 7
0
 public override void Reset()
 {
     base.Reset();
     ResetConveyorLoads(stackConveyor, true);
     ResetConveyorLoads(this, true);
     loadStacks = 0;
     loadActive = false;
     ThisRouteStatus.Available = RouteStatuses.Request;
     previousLoadWaitingStatus = null;
     currentLoad = null;
     stackedLoad = null;
 }
Exemplo n.º 8
0
        private void PreviousLoadWaitingStatusStraight_OnLoadWaitingChanged(object sender, LoadWaitingChangedEventArgs e)
        {
            //If a load arrives and there is nothing else in the divert make it available
            if (e._loadWaiting)
            {
                if (previousLoadWaitingStatus == null)
                {
                    previousLoadWaitingStatus = new LoadWaitingStatus();
                }
                previousLoadWaitingStatus.LoadWaiting = true;
                previousLoadWaitingStatus.WaitingLoad = e._waitingLoad;

                // If the next load is an empty tray then we want to allow it to complete stacking operation
                // However if it's pass through load like a stack then prevent the current load from releasing onto next conveyor
                var trayLoad         = (Tray)e._waitingLoad;
                var currentLoad      = GetCurrentLoad();
                var releaseIfBlocked = true;
                if (trayLoad != null && currentLoad != null &&
                    (trayLoad.Status == TrayStatus.Loaded || trayLoad.Status == TrayStatus.Stacked)
                    )
                {
                    releaseIfBlocked = NextRouteStatus.Available == RouteStatuses.Available;
                }
                if (!delayTimer.Running && releaseIfBlocked)
                {
                    ThisRouteStatus.Available = RouteStatuses.Request;
                    currentOperation          = Operation.PreviousLoadArrived;
                    delayTimer.OnElapsed     += Process_OnElaspsed;
                    delayTimer.Start();
                }
            }
            if (!e._loadWaiting)
            {
                previousLoadWaitingStatus = null;
                if (ThisRouteStatus.Available == RouteStatuses.Available)
                {
                    ThisRouteStatus.Available = RouteStatuses.Request;

                    if (!e._loadDeleted)
                    {
                        loadActive = true;
                    }
                    else
                    {
                        loadActive = false;
                    }
                }
            }
        }
Exemplo n.º 9
0
 void LHSStartFixPoint_OnSnapped(Core.Parts.FixPoint stranger, Core.Parts.FixPoint.SnapEventArgs e)
 {
     lhsConveyor.PreviousConveyor = stranger.Parent as IRouteStatus;
     lhsPreviousLoadWaitingStatus = lhsConveyor.PreviousConveyor.GetLoadWaitingStatus(stranger);
     lhsPreviousLoadWaitingStatus.OnLoadWaitingChanged += lhsPreviousLoadWaitingStatus_OnLoadWaitingChanged;
 }
Exemplo n.º 10
0
 public override void StartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     PreviousConveyor          = stranger.Parent as IRouteStatus;
     PreviousLoadWaitingStatus = PreviousConveyor.GetLoadWaitingStatus(stranger);
     PreviousLoadWaitingStatus.OnLoadWaitingChanged += PreviousLoadWaitingStatus_OnLoadWaitingChanged;
 }
Exemplo n.º 11
0
 public override void StartFixPoint_OnUnSnapped(FixPoint stranger)
 {
     PreviousLoadWaitingStraight.OnLoadWaitingChanged -= PreviousLoadWaitingStraight_OnLoadWaitingChanged;
     PreviousLoadWaitingStraight = null;
 }