Ejemplo n.º 1
0
        private bool GetLoadingFrom(CarrierSlotStatus carrierSlotStatus)
        {
            switch (carrierSlotStatus.EnumCarrierSlotState)
            {
            case EnumCarrierSlotState.Empty:
                return(false);

            case EnumCarrierSlotState.Loading:
                return(true);

            case EnumCarrierSlotState.PositionError:
            case EnumCarrierSlotState.ReadFail:
                return(true);

            default:
                return(false);
            }
        }
Ejemplo n.º 2
0
        public void SetCarrierSlotStatusTo(CarrierSlotStatus carrierSlotStatus)
        {
            var oriLoadUnloadData = LocalPackage.MainFlowHandler.localData.LoadUnloadData;

            LoadUnloadControlData tempLoadUnloadControlData = new LoadUnloadControlData()
            {
                CommandStatus = oriLoadUnloadData.CommandStatus,
                CommnadID     = oriLoadUnloadData.CommnadID,
                CstID         = carrierSlotStatus.CarrierId,
                ErrorBit      = oriLoadUnloadData.ErrorBit,
                ForkHome      = oriLoadUnloadData.ForkHome,
                Loading       = GetLoadingFrom(carrierSlotStatus),
                Ready         = oriLoadUnloadData.Ready
            };

            LocalPackage.MainFlowHandler.localData.LoadUnloadData = tempLoadUnloadControlData;

            //TODO: DoCstRenameByAgvcFor(tempLoadUnloadControlData);
        }
Ejemplo n.º 3
0
        public void DoRobotCommandFor(RobotCommand robotCommand)
        {
            Task.Run(() =>
            {
                if (robotCommand.GetTransferStepType() == EnumTransferStepType.Load)
                {
                    RobotStatus = new RobotStatus()
                    {
                        EnumRobotState = EnumRobotState.Busy, IsHome = false
                    };

                    OnUpdateRobotStatusEvent?.Invoke(this, RobotStatus);

                    System.Threading.Thread.Sleep(2000);

                    CarrierSlotStatus = new CarrierSlotStatus()
                    {
                        CarrierId = robotCommand.CassetteId, EnumCarrierSlotState = EnumCarrierSlotState.Loading, SlotNumber = robotCommand.SlotNumber
                    };

                    OnUpdateCarrierSlotStatusEvent?.Invoke(this, CarrierSlotStatus);

                    System.Threading.Thread.Sleep(2000);

                    RobotStatus = new RobotStatus()
                    {
                        EnumRobotState = EnumRobotState.Idle, IsHome = true
                    };

                    OnUpdateRobotStatusEvent?.Invoke(this, RobotStatus);

                    OnRobotEndEvent?.Invoke(this, EnumRobotEndType.Finished);
                }
                else if (robotCommand.GetTransferStepType() == EnumTransferStepType.Unload)
                {
                    RobotStatus = new RobotStatus()
                    {
                        EnumRobotState = EnumRobotState.Busy, IsHome = false
                    };

                    OnUpdateRobotStatusEvent?.Invoke(this, RobotStatus);

                    System.Threading.Thread.Sleep(2000);

                    CarrierSlotStatus = new CarrierSlotStatus()
                    {
                        CarrierId = "", EnumCarrierSlotState = EnumCarrierSlotState.Empty, SlotNumber = robotCommand.SlotNumber
                    };

                    OnUpdateCarrierSlotStatusEvent?.Invoke(this, CarrierSlotStatus);

                    System.Threading.Thread.Sleep(2000);

                    RobotStatus = new RobotStatus()
                    {
                        EnumRobotState = EnumRobotState.Idle, IsHome = true
                    };

                    OnUpdateRobotStatusEvent?.Invoke(this, RobotStatus);

                    OnRobotEndEvent?.Invoke(this, EnumRobotEndType.Finished);
                }
            });
        }
Ejemplo n.º 4
0
 public NullObjRobotHandler(RobotStatus robotStatus, CarrierSlotStatus carrierSlotStatus)
 {
     this.RobotStatus       = robotStatus;
     this.CarrierSlotStatus = carrierSlotStatus;
 }
Ejemplo n.º 5
0
 public void SetCarrierSlotStatusTo(CarrierSlotStatus carrierSlotStatus)
 {
     CarrierSlotStatus = carrierSlotStatus;
     OnUpdateCarrierSlotStatusEvent?.Invoke(this, CarrierSlotStatus);
 }