Beispiel #1
0
 void Scene_OnLoaded()
 {
     if (ControllerProperties == null)
     {
         ControllerProperties = StandardCase.SetMHEControl(threeWaySwitchInfo, this);
     }
 }
Beispiel #2
0
 public void Scene_OnLoaded()
 {
     if (ControllerProperties == null)
     {
         ControllerProperties = StandardCase.SetMHEControl(tCarInfo, this);
     }
 }
Beispiel #3
0
 private void Scene_OnLoaded()
 {
     if (ControllerProperties == null)
     {
         ControllerProperties = StandardCase.SetMHEControl(transferInfo, this);
     }
 }
Beispiel #4
0
 public override void Scene_OnLoaded()
 {
     base.Scene_OnLoaded();
     if (ControllerProperties == null)
     {
         ControllerProperties = StandardCase.SetMHEControl(palletStraightInfo, this);
     }
 }
Beispiel #5
0
 public override void Scene_OnLoaded()
 {
     if (ControllerProperties == null)
     {
         ControllerProperties = StandardCase.SetMHEControl(myAssemblyInfo, this);
     }
     //base.Scene_OnLoaded();
     //UpdateConveyor();
 }
Beispiel #6
0
 public override void Scene_OnLoaded()
 {
     base.Scene_OnLoaded();
     if (ControllerProperties == null)
     {
         ControllerProperties = StandardCase.SetMHEControl(angledDivertInfo, this);
     }
     UpdateConveyor();
 }
Beispiel #7
0
        public override void Scene_OnLoaded()
        {
            base.Scene_OnLoaded();
            UpdateConveyor();

            if (ControllerProperties == null)
            {
                ControllerProperties = StandardCase.SetMHEControl(straightAccumulationinfo, this);
            }
        }
Beispiel #8
0
        public override void Scene_OnLoaded()
        {
            base.Scene_OnLoaded();

            if (ControllerProperties == null)
            {
                ControllerProperties = StandardCase.SetMHEControl(miniloadPickStationInfo, this);
            }
            feedSection.RouteAvailable = RouteStatuses.Request;
            LoadTransferringIn         = false;
        }
Beispiel #9
0
        public override void Scene_OnLoaded()
        {
            base.Scene_OnLoaded();
            if (ControllerProperties == null)
            {
                ControllerProperties = StandardCase.SetMHEControl(beltSorterDivertInfo, this);
            }

            UpdateConveyor();

            SetNextDivertRouteStatus(NextBlocked);
        }
Beispiel #10
0
        public ThreeWaySwitch(ThreeWaySwitchInfo info) : base(info)
        {
            try
            {
                threeWaySwitchInfo   = info;
                ControllerProperties = StandardCase.SetMHEControl(info, this);
                info.height          = info.height * 2; // assembley is placed at height/2 so that it comes out at height ?!!??

                LeftConv = new StraightThrough(NewStraightInfo(info), this)
                {
                    convPosition = ThreeWayRoutes.Left
                };
                RightConv = new StraightThrough(NewStraightInfo(info), this)
                {
                    convPosition = ThreeWayRoutes.Right
                };
                CenterConv = new StraightThrough(NewStraightInfo(info), this)
                {
                    convPosition = ThreeWayRoutes.Center
                };

                Add(LeftConv, new Vector3(0, 0, -info.width / 2));
                Add(RightConv, new Vector3(0, 0, info.width / 2));
                Add(CenterConv, new Vector3(0, 0, info.centerOffset));

                ReleaseDelayTimer                    = new Core.Timer(ReleaseDelayTimeStraight); //loads will be only be released when the timer elapses the timer will start when a load transfers
                ReleaseDelayTimer.OnElapsed         += ReleaseDelayTimer_OnElapsed;
                ReleaseDelayTimer.AutoReset          = false;
                TimerReleaseConvs.CollectionChanged += TimerReleaseConvs_CollectionChanged;

                ThreeWayLength         = info.threeWayLength;
                internalWidth          = info.threeWayWidth - ((float)info.internalConvWidth / 1000);
                CenterOffset           = info.centerOffset;
                LeftDefaultDirection   = info.leftDefaultDirection;
                RightDefaultDirection  = info.rightDefaultDirection;
                CenterDefaultDirection = info.centerDefaultDirection;
                InternalConvWidth      = info.internalConvWidth;
                Speed = info.speed;

                ReleaseDelayTimeStraight         = info.releaseDelayTimeStraight;
                Core.Environment.Scene.OnLoaded += Scene_OnLoaded;
            }
            catch (Exception e)
            {
                Log.Write(e.Message);
            }
        }
Beispiel #11
0
        public DematicCommunicationPoint(DematicCommunicationPointInfo info, BaseTrack conv) : base(info, conv)
        {
            commPointInfo = info as DematicCommunicationPointInfo;

            commCylinder             = new Cylinder(Color.DarkOrange, 0.15f, 0.08f, 20);
            commCylinder.Pitch       = (float)Math.PI / 2;
            commCylinder.Selectable  = true;
            commCylinder.Color       = LoadColour;
            commCylinder.OnSelected += commPoint_OnSelected;
            Add((RigidPart)commCylinder);

            Font font = new Font("Helvetica", 1f, FontStyle.Bold, GraphicsUnit.Pixel);

            nameLabel       = new Text3D(Color.FromArgb(60, 60, 60), 0.2f, 0.05f, font);
            nameLabel.Text  = "  " + Name;
            nameLabel.Pitch = (float)Math.PI / 2;
            nameLabel.Roll  = Trigonometry.Angle2Rad(90);
            Add((RigidPart)nameLabel);
            nameLabel.LocalPosition = commCylinder.LocalPosition + new Vector3(0.065f, 0.05f, 0);
            nameLabel.OnSelected   += commPoint_OnSelected;

            apCommPoint.Distance = info.distance;
            apCommPoint.Edge     = ActionPoint.Edges.Leading;
            apCommPoint.OnEnter += new ActionPoint.EnterEvent(apCommPoint_OnEnter);
            apCommPoint.Visible  = false;
            apCommPoint.Name     = commPointInfo.name;

            conv.TransportSection.Route.InsertActionPoint(apCommPoint);
            ShowLabel  = info.showLabel;
            LabelAngle = info.labelAngle;

            ControllerProperties = StandardCase.SetMHEControl(commPointInfo, this);
            if (Controller == null)
            {
                ControllerName = "No Controller"; //This will set the default value of controller dropdown box
            }
        }
Beispiel #12
0
        public Transfer(TransferInfo info) : base(info)
        {
            transferInfo = info;
            info.height  = info.height * 2; // assembley is placed at height/2 so that it comes out at height ?!!??

            rightLeftCrossover = new StraightTransportSection(info.color, 1, convThickness, 0.25f);
            leftRightCrossover = new StraightTransportSection(info.color, 1, convThickness, 0.25f);

            rightLeftCrossover.Route.Arrow.Visible = false;
            leftRightCrossover.Route.Arrow.Visible = false;

            if (transferInfo.type == TransferType.TwoWay)
            {
                rightLeftCrossover.Route.Motor.Speed = DivertSpeed;
                leftRightCrossover.Route.Motor.Speed = DivertSpeed;
            }
            else if (transferInfo.type == TransferType.DHDM)
            {
                rightLeftCrossover.Route.Motor.Speed = DHDMSpeed;
                leftRightCrossover.Route.Motor.Speed = DHDMSpeed;
            }

            Add(rightLeftCrossover);
            Add(leftRightCrossover);

            rhsConveyor = new StraightConveyor(NewStraightInfo(info));
            lhsConveyor = new StraightConveyor(NewStraightInfo(info));

            rhsConveyor.Name = "rhs";
            lhsConveyor.Name = "lhs";

            if (transferInfo.type == TransferType.TwoWay)
            {
                crossoverOffset = info.length / 2;
            }

            Add(rhsConveyor);
            Add(lhsConveyor);

            lhsConveyor.StartFixPoint.OnSnapped           += lhsStartFixPoint_OnSnapped;
            lhsConveyor.StartFixPoint.OnUnSnapped         += lhsStartFixPoint_OnUnSnapped;
            lhsConveyor.OnNextRouteStatusAvailableChanged += lhsConveyor_OnNextRouteStatusAvailableChanged;
            lhsConveyor.EndFixPoint.OnSnapped             += lhsEndFixPoint_OnSnapped;

            rhsConveyor.StartFixPoint.OnSnapped           += rhsStartFixPoint_OnSnapped;
            rhsConveyor.StartFixPoint.OnUnSnapped         += rhsStartFixPoint_OnUnSnapped;
            rhsConveyor.OnNextRouteStatusAvailableChanged += rhsConveyor_OnNextRouteStatusAvailableChanged;
            rhsConveyor.EndFixPoint.OnSnapped             += rhsEndFixPoint_OnSnapped;

            lhsConveyor.RouteAvailable = RouteStatuses.Request; //We are setting this to request because the DHDM controls the release of loads from the previous conveyor onto it.
            rhsConveyor.RouteAvailable = RouteStatuses.Request; //same here

            rhsStartAP = rhsConveyor.TransportSection.Route.InsertActionPoint(crossoverOffset);
            lhsStartAP = lhsConveyor.TransportSection.Route.InsertActionPoint(crossoverOffset);
            rhsEndAP   = rhsConveyor.TransportSection.Route.InsertActionPoint(DHDMLength - crossoverOffset);
            lhsEndAP   = lhsConveyor.TransportSection.Route.InsertActionPoint(DHDMLength - crossoverOffset);

            rightToLeftStartAP = rightLeftCrossover.Route.InsertActionPoint(0);
            leftToRightStartAP = leftRightCrossover.Route.InsertActionPoint(0);
            rightToLeftEndAP   = rightLeftCrossover.Route.InsertActionPoint(0); //Should be placed at the end this is done in UpdateCrossoverSectionAngles when we know the correct length of the crossover sections
            leftToRightEndAP   = leftRightCrossover.Route.InsertActionPoint(0); //Should be placed at the end this is done in UpdateCrossoverSectionAngles when we know the correct length of the crossover sections

            rhsStartAP.OnEnter += rhsStartAP_OnEnter;
            lhsStartAP.OnEnter += lhsStartAP_OnEnter;
            rhsEndAP.OnEnter   += rhsEndAP_OnEnter;
            lhsEndAP.OnEnter   += lhsEndAP_OnEnter;

            rightToLeftEndAP.OnEnter += rightToLeftEndAP_OnEnter;
            leftToRightEndAP.OnEnter += leftToRightEndAP_OnEnter;

            DHDMWidth                    = info.width; //This will adjust the crossover conveyors so that the corossover angles are correct
            DHDMLength                   = info.length;
            InternalConvWidth            = info.internalConvWidth;
            ReleaseDelayTimer            = new Core.Timer(ReleaseDelayTimeStraight); //loads will be only be released when the timer elapses the timer will start when a load transfers
            ReleaseDelayTimer.OnElapsed += ReleaseDelayTimer_Elapsed;
            ReleaseDelayTimer.AutoReset  = false;

            Core.Environment.Scene.OnLoaded += Scene_OnLoaded;
            ControllerProperties             = StandardCase.SetMHEControl(info, this);
        }
Beispiel #13
0
 public ControllableAssemblyTemplate1(MyAssemblyInfo info)
     : base(info)
 {
     myAssemblyInfo       = info;
     ControllerProperties = StandardCase.SetMHEControl(info, this);
 }
Beispiel #14
0
        public Miniload(MiniloadInfo info)
            : base(info)
        {
            MiniloadInfo = info;

            Lift.Height = 0.05f;
            Lift.Color  = Color.DarkBlue;

            StraightConveyorInfo pickConveyorInfo = new StraightConveyorInfo()
            {
                Length    = 1.61f,
                thickness = 0.05f,
                Width     = 0.5f,
                Speed     = 0.7f
            };

            pickConveyor = new StraightConveyor(pickConveyorInfo);
            pickConveyor.endLine.Visible          = false;
            pickConveyor.startLine.Visible        = false;
            pickConveyor.Color                    = Color.Gray;
            pickConveyor.arrow.Visible            = false;
            pickConveyor.TransportSection.Visible = false;
            pickConveyor.RouteAvailable           = RouteStatuses.Blocked;
            pickConveyor.EndFixPoint.Visible      = false;
            pickConveyor.EndFixPoint.Enabled      = false;

            Add(pickConveyor);
            pickConveyor.TransportSection.Route.InsertActionPoint(pos2Pick);
            pickConveyor.TransportSection.Route.InsertActionPoint(pos1Pick);
            pos2Pick.OnEnter += pos1pd_OnEnter;
            pos1Pick.OnEnter += pos2pd_OnEnter;

            StraightConveyorInfo dropConveyorInfo = new StraightConveyorInfo()
            {
                Length    = 1.61f,
                thickness = 0.05f,
                Width     = 0.5f,
                Speed     = 0.7f
            };

            dropConveyor = new StraightConveyor(dropConveyorInfo);
            dropConveyor.endLine.Visible          = false;
            dropConveyor.startLine.Visible        = false;
            dropConveyor.Color                    = Color.Gray;
            dropConveyor.arrow.Visible            = false;
            dropConveyor.TransportSection.Visible = false;
            dropConveyor.RouteAvailable           = RouteStatuses.Blocked;
            dropConveyor.StartFixPoint.Visible    = false;
            dropConveyor.StartFixPoint.Enabled    = false;

            Add(dropConveyor);
            dropConveyor.TransportSection.Route.InsertActionPoint(pos2Drop);
            dropConveyor.TransportSection.Route.InsertActionPoint(pos1Drop);

            dropConveyor.OnNextRouteStatusAvailableChanged += dropConveyor_OnNextRouteStatusAvailableChanged;

            StraightConveyorInfo holdingConveyorInfo = new StraightConveyorInfo()
            {
                Length    = 1,
                thickness = 0.05f,
                Width     = 0.5f,
                Speed     = 0.7f
            };

            holdingConveyor = new StraightConveyor(holdingConveyorInfo);
            holdingConveyor.endLine.Visible          = false;
            holdingConveyor.startLine.Visible        = false;
            holdingConveyor.arrow.Visible            = false;
            holdingConveyor.TransportSection.Visible = false;
            holdingConveyor.StartFixPoint.Visible    = false;
            holdingConveyor.EndFixPoint.Visible      = false;

            Add(holdingConveyor);
            holdingConveyor.TransportSection.Route.InsertActionPoint(holdingAp);

            holdingAp.OnEnter += holdingAp_OnEnter;

            UpdateMiniload();

            AllCranes.Add(this);

            subMenu = new List <System.Windows.Forms.ToolStripItem>();
            subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Reset", Common.Icons.Get("fault")));
            subMenu[0].Click += new EventHandler(DematicHBW_ClickReset);
            //subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Set compartment occupied", Common.Icons.Get("fault")));
            //subMenu[1].Click += new EventHandler(DematicHBW_ClickCompartmentOccupied);
            //subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Set compartment empty", Common.Icons.Get("fault")));
            //subMenu[2].Click += new EventHandler(DematicHBW_ClickCompartmentEmpty);
            //subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Fault Miniload", Common.Icons.Get("fault")));
            //subMenu[3].Click += new EventHandler(DematicHBW_ClickFault);

            Control.FinishedJob += Control_FinishedJob;
            Control.LoadDropped += Control_LoadDropped;

            LoadingSpeed   = 1;
            UnloadingSpeed = 1;

            ControllerProperties = StandardCase.SetMHEControl(info, this);
            Experior.Core.Environment.Scene.OnLoaded += Scene_OnLoaded;
        }
Beispiel #15
0
        public PalletCrane(PalletCraneInfo info)
            : base(info)
        {
            palletCraneInfo = info;

            if (info.PickStations == null)
            {
                info.PickStations = new ExpandablePropertyList <StationConfiguration>();
            }
            if (!info.PickStations.Any())
            {
                info.PickStations.Add(new StationConfiguration {
                    LevelHeight = 1, StationType = PalletCraneStationTypes.PickStation, Side = PalletCraneStationSides.Right, Length = 1.61f, thickness = 0.05f, Width = 0.978f, Speed = 0.7f, ConveyorType = PalletConveyorType.Roller
                });
            }
            if (info.DropStations == null)
            {
                info.DropStations = new ExpandablePropertyList <StationConfiguration>();
            }
            if (!info.DropStations.Any())
            {
                info.DropStations.Add(new StationConfiguration {
                    LevelHeight = 1, StationType = PalletCraneStationTypes.DropStation, Side = PalletCraneStationSides.Left, Length = 1.61f, thickness = 0.05f, Width = 0.978f, Speed = 0.7f, ConveyorType = PalletConveyorType.Roller
                });
            }

            Lift.Height = 0.05f;
            Lift.Color  = Color.DarkBlue;

            pickConveyors = new List <PalletStation>();
            foreach (var config in info.PickStations)
            {
                var pickConveyor = new PalletStation(config);
                Add(pickConveyor);
                pickConveyor.PositionAp.OnEnter        += PosPd_OnEnter;
                pickConveyor.StartFixPoint.OnSnapped   += PickConveyorStartFixPoint_OnSnapped;
                pickConveyor.StartFixPoint.OnUnSnapped += PickConveyorStartFixPoint_OnUnSnapped;
                pickConveyors.Add(pickConveyor);
            }

            dropConveyors = new List <PalletStation>();
            foreach (var config in info.DropStations)
            {
                var dropConveyor = new PalletStation(config);
                Add(dropConveyor);
                dropConveyor.ThisRouteStatus.OnRouteStatusChanged += DropConveyor_OnRouteStatusChanged;
                dropConveyors.Add(dropConveyor);
            }

            holdingConveyor = new StraightTransportSection(Color.Black, 1, 0, 0.5f);
            Add(holdingConveyor);
            holdingConveyor.Route.InsertActionPoint(holdingAp, holdingConveyor.Length / 2);
            holdingConveyor.Route.Motor.Speed = 0.7f;
            holdingConveyor.Visible           = false;

            holdingAp.OnEnter += HoldingAp_OnEnter;

            UpdatePalletCrane();

            AllCranes.Add(this);

            subMenu = new List <System.Windows.Forms.ToolStripItem>();
            subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Reset", Common.Icons.Get("fault")));
            subMenu[0].Click += DematicHBW_ClickReset;
            //subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Set compartment occupied", Common.Icons.Get("fault")));
            //subMenu[1].Click += new EventHandler(DematicHBW_ClickCompartmentOccupied);
            //subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Set compartment empty", Common.Icons.Get("fault")));
            //subMenu[2].Click += new EventHandler(DematicHBW_ClickCompartmentEmpty);
            //subMenu.Add(new System.Windows.Forms.ToolStripMenuItem("Fault PalletCrane", Common.Icons.Get("fault")));
            //subMenu[3].Click += new EventHandler(DematicHBW_ClickFault);

            Control.FinishedJob += Control_FinishedJob;
            Control.LoadDropped += Control_LoadDropped;

            LoadingSpeed   = 1;
            UnloadingSpeed = 1;

            ControllerProperties             = StandardCase.SetMHEControl(info, this);
            Core.Environment.Scene.OnLoaded += Scene_OnLoaded;
        }