private QState StateISIDataProcess(IQEvent qEvent) { LogStateInfo(_processName, System.Reflection.MethodBase.GetCurrentMethod().Name, qEvent); if (qEvent.IsSignal(SigStateJob) || qEvent.IsSignal(_sigTimeout)) { try { if (CommonFunctions.Instance.MeasurementTestRecipe.DeltaISI_Enable) { //_controller.GetSLDRData(_currentRunCarrier); _controller.GetSLDRData_New(_currentRunCarrier); _controller.CheckSLDRDataCorrect(_currentRunCarrier); } Carrier IncomingOutputCarrier = _currentRunCarrier.DeepCopy(); IncomingOutputCarrier.RFIDData = _currentRunCarrier.RFIDData; lock (CommonFunctions.Instance.InputCarriersLock) { foreach (Carrier carrier in CommonFunctions.Instance.InputCarriers.ToArray()) { if (carrier.CarrierID == IncomingOutputCarrier.CarrierID) { carrier.CarrierCurrentLocation = CarrierLocation.BufferStation; break; } } } _workcell.Process.InputEEProcess.Controller.IncomingCarrier = _currentRunCarrier.DeepCopy(); //Public to get ISI data QF.Instance.Publish(new QEvent(HSTWorkcell.SigInputGetISIDataComplete)); TransitionTo(stateWaitForInputCarrierComplete); } catch (Exception ex) { if (_retryCount < 2) { Thread.Sleep(200); Log.Error(this, "Failed to get ISI data. Retry count: {0}, Exception: {1}, StateName: {2}", _retryCount, ex.Message, this.CurrentStateName); TransitionTo(stateISIDataProcess); } else { ButtonList btnlst = new ButtonList(ErrorButton.Retry, ErrorButton.NoButton, ErrorButton.NoButton); TransitionToErrorState(btnlst, ex); } _retryCount++; } return(null); } return(stateRun); }
private QState StatePublishSigCarrierInInputStation(IQEvent qEvent) { LogStateInfo(_processName, System.Reflection.MethodBase.GetCurrentMethod().Name, qEvent); if (qEvent.IsSignal(SigStateJob)) { try { _workcell.Process.InputStationProcess.Controller.IncomingCarrier = _currentInputCarrier.DeepCopy(); _workcell.Process.InputStationProcess.Controller.IncomingCarrierSettings = _currentInputCarrierSettings; //lai if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog) { Log.Info(this, "{0}, ProcessName:{1}, In InputTurnStationProcess' StatePublishSigCarrierInInputStation', _currentInputCarrier: Carrier ID:{2}, " + "HGA1:{3}, HGA2:{4}, HGA3:{5}, HGA4:{6}, HGA5:{7}, " + "HGA6:{8}, HGA7:{9}, HGA8:{10}, HGA9:{11}, HGA10:{12}", LoggerCategory.StateTransition, _processName, _currentInputCarrier.CarrierID, _currentInputCarrier.Hga1.Hga_Status, _currentInputCarrier.Hga2.Hga_Status, _currentInputCarrier.Hga3.Hga_Status, _currentInputCarrier.Hga4.Hga_Status, _currentInputCarrier.Hga5.Hga_Status, _currentInputCarrier.Hga6.Hga_Status, _currentInputCarrier.Hga7.Hga_Status, _currentInputCarrier.Hga8.Hga_Status, _currentInputCarrier.Hga9.Hga_Status, _currentInputCarrier.Hga10.Hga_Status); } QF.Instance.Publish(new QEvent(HSTWorkcell.SigCarrierPresentInInputStation)); TransitionTo(stateInputTurnSectionTurnBackward); } catch (Exception ex) { ButtonList btnlst = new ButtonList(ErrorButton.Retry, ErrorButton.Stop, ErrorButton.NoButton); TransitionToErrorState(btnlst, ex); return(null); } return(null); } return(stateRun); }
private QState StatePickHgaPublishPickDone(IQEvent qEvent) { LogStateInfo(_processName, System.Reflection.MethodBase.GetCurrentMethod().Name, qEvent); if (qEvent.IsSignal(SigStateJob)) { InputEEPicksUpHGAsFromInputStationProcessCycleTimeStopWatch.Stop(); if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog) { CommonFunctions.Instance.LogProcessCycleTime("Input EE Picks Up HGAs From Input Station Process Cycle Time.csv", InputEEPicksUpHGAsFromInputStationProcessCycleTimeStopWatch.ElapsedTime); } _currentInputCarrier = _controller.IncomingCarrier.DeepCopy(); if (_currentInputCarrier == null) { throw new Exception("input carrier object is null"); } _workcell.Process.PrecisorStationProcess.Controller.IncomingCarrier = _currentInputCarrier.DeepCopy(); QF.Instance.Publish(new QEvent(HSTWorkcell.SigHGAsPickDoneAtInputLifter)); QF.Instance.Publish(new QEvent(HSTWorkcell.SigHGAsInputEECompletePick)); InputEEPlacesDownHGAOntoPrecisorNestProcessCycleTimeStopWatch.Start(); TransitionTo(stateRunCheckHGAReadyForPlace); return(null); } return(stateRun); }