Example #1
0
        private void TransportFinished(PalletStraight palletStraight, IATCLoadType palletLoad)
        {
            if (AlwaysArrival || palletLoad.Location == palletLoad.Destination)
            {
                palletLoad.Location = palletStraight.Name;
                palletPLC.SendTransportFinishedTelegram(palletLoad);

                if (LoadWait)
                {
                    palletLoad.LoadWaitingForWCS = true;
                }
            }
        }
Example #2
0
        private void TransportFinished(PalletCommunicationPoint commPoint, IATCPalletLoadType palletLoad)
        {
            if (AlwaysArrival || palletLoad.Location == palletLoad.Destination)
            {
                palletLoad.Location = commPoint.Name;
                casePLC.SendTransportFinishedTelegram(palletLoad);

                if (LoadWait)
                {
                    palletLoad.LoadWaitingForWCS = true;
                    palletLoad.Stop();
                }
            }
        }
Example #3
0
        bool divertArrival(Load load)
        {
            IATCPalletLoadType atcLoad = load as IATCPalletLoadType;

            if (LoadDestination && liftTableConveyor.Name == atcLoad.Destination && !atcLoad.LoadWaitingForWCS)
            {
                atcLoad.Stop();
                atcLoad.LoadWaitingForWCS = true;
                atcLoad.Location          = liftTableConveyor.Name;
                palletPLC.SendTransportFinishedTelegram(atcLoad);
                return(true);
                //Send a message to WMS and wait for the routing
            }

            List <Direction> validRoutes = new List <Direction>();

            Experior.Dematic.Base.EuroPallet caseload = load as Experior.Dematic.Base.EuroPallet;
            if (atcLoad.Destination != null && liftTableConveyor.LeftMode == Modes.Divert && LeftRoutes != null && LeftRoutes.Contains(atcLoad.Destination))
            {
                validRoutes.Add(Direction.Left);
            }

            if (atcLoad.Destination != null && liftTableConveyor.RightMode == Modes.Divert && RightRoutes != null && RightRoutes.Contains(atcLoad.Destination))
            {
                validRoutes.Add(Direction.Right);
            }

            if (atcLoad.Destination != null && liftTableConveyor.StraightMode == Modes.Divert && StraightRoutes != null && StraightRoutes.Contains(atcLoad.Destination))
            {
                validRoutes.Add(Direction.Straight);
            }

            if (validRoutes.Count == 0 && liftTableConveyor.DefaultRouting == Direction.None)
            {
                if (liftTableConveyor.StraightMode == Modes.Divert)
                {
                    validRoutes.Add(Direction.Straight);
                }
                if (liftTableConveyor.RightMode == Modes.Divert)
                {
                    validRoutes.Add(Direction.Right);
                }
                if (liftTableConveyor.LeftMode == Modes.Divert)
                {
                    validRoutes.Add(Direction.Left);
                }
            }

            //Check if the load has the priority bit set
            bool priority = false;

            if (atcLoad.Destination != null && PriorityRoutes != null && PriorityRoutes.Contains(atcLoad.Destination))
            {
                priority = true;
            }

            liftTableConveyor.RouteLoad(load, validRoutes, priority);
            return(true); //returns true if handled by this controller
        }