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); } }
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); }
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); } }); }
public NullObjRobotHandler(RobotStatus robotStatus, CarrierSlotStatus carrierSlotStatus) { this.RobotStatus = robotStatus; this.CarrierSlotStatus = carrierSlotStatus; }
public void SetCarrierSlotStatusTo(CarrierSlotStatus carrierSlotStatus) { CarrierSlotStatus = carrierSlotStatus; OnUpdateCarrierSlotStatusEvent?.Invoke(this, CarrierSlotStatus); }