using System;
|
|
namespace SHARP_CLAS_UI
|
{
|
public class UnloaderConveyorOut : Conveyor
|
{
|
#region Property
|
public ConveyorOutSteps Step
|
{
|
get
|
{
|
return _step;
|
}
|
|
set
|
{
|
_step = value;
|
}
|
}
|
|
public override bool IsWorkEnd
|
{
|
get
|
{
|
if(Step == ConveyorOutSteps.S0000_WAIT)
|
{
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
}
|
|
public override bool IsStayPosition
|
{
|
get
|
{
|
return true;
|
}
|
}
|
#endregion
|
|
#region Field
|
private ConveyorOutSteps _step;
|
private ConveyorOutSteps _oldStep;
|
private ConveyorHomeStep _homeStep;
|
#endregion
|
|
#region Construct
|
public UnloaderConveyorOut(Equipment equipment) : base(equipment, MotorAxis.ULD_Tray_OK_Port, "UnloaderConveyorOut")
|
{
|
Initialize(InputData.ULD_Ok_Out_Conveyor_In_Sensor, InputData.ULD_Ok_Out_Conveyor_Out_Sensor, InputData.ULD_Ok_Out_Conveyor_Lift_In_Sensor, InputData.ULD_Ok_Out_Conveyor_Lift_Out_Sensor);
|
|
pauseDisableList.Add(ConveyorOutSteps.S1310_CONVEYOR_COMPLETE_SENSOR_CHECK);
|
pauseDisableList.Add(ConveyorOutSteps.S1320_CONVEYOR_IN_SENSOR_CHECK);
|
pauseDisableList.Add(ConveyorOutSteps.S1400_CONVEYOR_STOP);
|
pauseDisableList.Add(ConveyorOutSteps.S1410_CONVEYOR_STOP_CHECK);
|
|
AlignerX.Initialize(OutputData.ULD_Ok_Out_Align_X_Sol_Valve, InputData.ULD_Ok_Out_Align_X_1_Fwd_Sensor, InputData.ULD_Ok_Out_Align_X_2_Fwd_Sensor, InputData.ULD_Ok_Out_Align_X_1_Bwd_Sensor, InputData.ULD_Ok_Out_Align_X_2_Bwd_Sensor,
|
En_Alarm_List.AL_0744_ULD_TRAY_OK_ALIGN_X_1_FWD_SENSOR_CHECK, En_Alarm_List.AL_0745_ULD_TRAY_OK_ALIGN_X_2_FWD_SENSOR_CHECK, En_Alarm_List.AL_0746_ULD_TRAY_OK_ALIGN_X_1_BWD_SENSOR_CHECK, En_Alarm_List.AL_0747_ULD_TRAY_OK_ALIGN_X_2_BWD_SENSOR_CHECK);
|
|
AlignerY.Initialize(OutputData.ULD_Ok_Out_Align_Y_Sol_Valve, InputData.ULD_Ok_Out_Align_Y_1_Fwd_Sensor, InputData.ULD_Ok_Out_Align_Y_2_Fwd_Sensor, InputData.ULD_Ok_Out_Align_Y_1_Bwd_Sensor, InputData.ULD_Ok_Out_Align_Y_2_Bwd_Sensor,
|
En_Alarm_List.AL_0748_ULD_TRAY_OK_ALIGN_Y_1_FWD_SENSOR_CHECK, En_Alarm_List.AL_0749_ULD_TRAY_OK_ALIGN_Y_2_FWD_SENSOR_CHECK, En_Alarm_List.AL_0750_ULD_TRAY_OK_ALIGN_Y_1_BWD_SENSOR_CHECK, En_Alarm_List.AL_0751_ULD_TRAY_OK_ALIGN_Y_2_BWD_SENSOR_CHECK);
|
|
MotorX.Check_Jog_Interlock = Jog_Interlock;
|
MotorX.Check_Move_Interlock = Move_Interlock;
|
}
|
#endregion
|
|
#region Function
|
private bool Move_Interlock()
|
{
|
if (equipment.User.Level != En_User_Level.Master && equipment.Door_Opened)
|
{
|
return true;
|
}
|
|
return false;
|
}
|
|
private bool Jog_Interlock(bool positive)
|
{
|
if (equipment.User.Level != En_User_Level.Master && equipment.Door_Opened)
|
{
|
return true;
|
}
|
|
return false;
|
}
|
|
public void Init_Seq()
|
{
|
if (Step < ConveyorOutSteps.S1000_TRAY_UNLOADING_START || ConveyorOutSteps.S1999_TRAY_UNLOADING_END < Step)
|
Step = ConveyorOutSteps.S0000_WAIT;
|
|
_homeStep = ConveyorHomeStep.S0000_WAIT;
|
}
|
|
public void ExecuteAuto()
|
{
|
if(Step == ConveyorOutSteps.S0000_WAIT)
|
{
|
if(equipment.Cur_Main_Recipe.tray_info.ULD_Tray_Ok_Tray_Count <= equipment.UnloaderOkTrayCount)
|
{
|
if(equipment.unloader.LiftOk.IsStayPosition)
|
{
|
if (IsLiftInSensor && IsLiftInCompleteSensor)
|
{
|
if (!IsConveyorInCompleteSensor && !IsConveyorInSensor)
|
{
|
Step = ConveyorOutSteps.S1000_TRAY_UNLOADING_START;
|
}
|
}
|
}
|
}
|
|
if (IsConveyorInCompleteSensor && IsConveyorInSensor)
|
{
|
if (!equipment.Mode.Agv_Skip)
|
{
|
|
}
|
}
|
}
|
}
|
|
public override void MonitoringStatus()
|
{
|
if (ConveyorOutSteps.S0000_WAIT <= Step && Step < ConveyorOutSteps.S1300_CONVEYOR_MOVE_OUT)
|
{
|
if(!MotorX.MotionComplete)
|
MotorX.Move_Stop();
|
}
|
else
|
{
|
if (Alarm_Manager.Instance.Occured_List.Exists(X => X.Heavy == true) || Alarm_Manager.Instance.Occured_List.Exists(X => X.Code == En_Alarm_List.AL_0053_ULD_LIGHT_CURTAIN_ALARM))
|
{
|
sequenceChangedTime.Start();
|
|
if (!MotorX.MotionComplete)
|
{
|
if (Alarm_Manager.Instance.Occured_List.Exists(x => x.Code == En_Alarm_List.AL_0053_ULD_LIGHT_CURTAIN_ALARM))
|
{
|
equipment.Write_Exception_Log($"ULD Conveyor OK Light Curtain!, conveyor sensor : {IsConveyorInSensor}, conveyor in sensor : {IsConveyorInCompleteSensor}");
|
}
|
|
MotorX.Move_Stop();
|
}
|
}
|
}
|
|
if (equipment.User.Level != En_User_Level.Master && equipment.Door_Opened)
|
{
|
if (MotorX.MotionComplete == false)
|
{
|
MotorX.Move_Stop();
|
}
|
}
|
}
|
|
public override void ExecuteStep()
|
{
|
if (_oldStep != Step)
|
{
|
sequenceChangedTime.Restart();
|
_oldStep = Step;
|
WriteSequenceLog(Step.ToString());
|
}
|
|
AlignerX.ExecuteProcess();
|
AlignerY.ExecuteProcess();
|
|
//상시 Run.
|
if (UnitMode != En_Equipment_Mode.Home)
|
{
|
UnloadingTray();
|
AgvUnloading();
|
}
|
|
if (UnitMode == En_Equipment_Mode.Stop)
|
{
|
Init_Seq();
|
isHomeComplete = false;
|
return;
|
}
|
else if (UnitMode == En_Equipment_Mode.Pause)
|
{
|
sequenceChangedTime.Stop();
|
|
return;
|
}
|
else if (UnitMode == En_Equipment_Mode.Home)
|
{
|
if (!IsHomeComplete)
|
{
|
ExecuteHome();
|
}
|
return;
|
}
|
else if (UnitMode == En_Equipment_Mode.Auto || UnitMode == En_Equipment_Mode.Manual)
|
{
|
sequenceChangedTime.Start();
|
|
if (equipment.equip_mode == En_Equipment_Mode.Pause)
|
{
|
if (pauseDisableList.Contains(Step) == false)
|
{
|
UnitMode = En_Equipment_Mode.Pause;
|
return;
|
}
|
}
|
|
if (UnitMode == En_Equipment_Mode.Auto)
|
{
|
ExecuteAuto();
|
}
|
}
|
}
|
|
public void ExecuteHome()
|
{
|
switch(_homeStep)
|
{
|
case ConveyorHomeStep.S0000_WAIT:
|
{
|
_homeStep = ConveyorHomeStep.S1000_STATUS_CHECK;
|
break;
|
}
|
case ConveyorHomeStep.S1000_STATUS_CHECK:
|
{
|
if (MotorX.ErrorStop)
|
{
|
Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0491_ULD_TRAY_OK_PORT_ERROR_STOP);
|
}
|
else if (!MotorX.PowerOn)
|
{
|
Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0490_ULD_TRAY_OK_PORT_POWER_OFF);
|
}
|
else
|
{
|
_homeStep = ConveyorHomeStep.S1100_CONVEYOR_SENSOR_CHECK;
|
}
|
break;
|
}
|
case ConveyorHomeStep.S1100_CONVEYOR_SENSOR_CHECK:
|
{
|
if (IsConveyorInSensor)
|
{
|
Interlock_Manager.Add_Interlock_Msg("ULD Conveyor OK Home can't run.", "Conveyor in sensor is detected.");
|
}
|
else if (IsConveyorInCompleteSensor)
|
{
|
Interlock_Manager.Add_Interlock_Msg("ULD Conveyor OK Home can't run.", "Conveyor in complete sensor is detected.");
|
}
|
else
|
{
|
_homeStep = ConveyorHomeStep.S1200_LIFT_SENSOR_CHECK;
|
}
|
break;
|
}
|
case ConveyorHomeStep.S1200_LIFT_SENSOR_CHECK:
|
{
|
if (IsLiftInSensor)
|
{
|
Interlock_Manager.Add_Interlock_Msg("ULD Conveyor OK Home can't run.", "Lift in sensor is detected.");
|
}
|
else if (IsLiftInCompleteSensor)
|
{
|
Interlock_Manager.Add_Interlock_Msg("ULD Conveyor OK Home can't run.", "Lift in complete sensor is detected.");
|
}
|
else
|
{
|
_homeStep = ConveyorHomeStep.S2000_POSITION_CLEAR;
|
}
|
break;
|
}
|
case ConveyorHomeStep.S2000_POSITION_CLEAR:
|
{
|
if (MotorX.Position_Clear())
|
{
|
_homeStep = ConveyorHomeStep.S9999_END;
|
}
|
break;
|
}
|
case ConveyorHomeStep.S9999_END:
|
{
|
isHomeComplete = true;
|
_homeStep = ConveyorHomeStep.S0000_WAIT;
|
break;
|
}
|
}
|
}
|
|
public void UnloadingTray()
|
{
|
switch (Step)
|
{
|
case ConveyorOutSteps.S1000_TRAY_UNLOADING_START:
|
{
|
Step = ConveyorOutSteps.S1100_LIFT_POSITION_STAY_CHECK;
|
break;
|
}
|
case ConveyorOutSteps.S1100_LIFT_POSITION_STAY_CHECK:
|
{
|
if (equipment.unloader.LiftOk.IsStayPosition)
|
{
|
Step = ConveyorOutSteps.S1110_CONVEYOR_SENSOR_CHECK;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1110_CONVEYOR_SENSOR_CHECK:
|
{
|
if (IsConveyorInCompleteSensor || IsConveyorInSensor)
|
{
|
if (IsConveyorInSensor)
|
{
|
Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0740_ULD_TRAY_OK_CONVEYOR_IN_SENSOR_CHECK);
|
}
|
|
if (IsConveyorInCompleteSensor)
|
{
|
Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0741_ULD_TRAY_OK_CONVEYOR_IN_COMPLETE_SENSOR_CHECK);
|
}
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S1120_LIFT_SENSOR_CHECK;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1120_LIFT_SENSOR_CHECK:
|
{
|
if (IsLiftInCompleteSensor || IsLiftInSensor)
|
{
|
Step = ConveyorOutSteps.S1200_ALIGN_X_FWD;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S1400_CONVEYOR_STOP;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1200_ALIGN_X_FWD:
|
{
|
if (AlignerX.IsWorkEnd)
|
{
|
if (AlignerX.IsForward)
|
{
|
Step = ConveyorOutSteps.S1220_ALIGN_Y_BWD;
|
}
|
else
|
{
|
AlignerX.Forward();
|
}
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1220_ALIGN_Y_BWD:
|
{
|
if (AlignerY.IsWorkEnd)
|
{
|
if (AlignerY.IsBackward)
|
{
|
Step = ConveyorOutSteps.S1240_WAIT_TIME;
|
}
|
else
|
{
|
AlignerY.Backward();
|
}
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1240_WAIT_TIME:
|
{
|
if (sequenceChangedTime.Seconds > 2)
|
{
|
Step = ConveyorOutSteps.S1250_ALIGN_Y_FWD;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1250_ALIGN_Y_FWD:
|
{
|
if (AlignerY.IsWorkEnd)
|
{
|
if (AlignerY.IsForward)
|
{
|
Step = ConveyorOutSteps.S1270_ALIGN_X_BWD;
|
}
|
else
|
{
|
AlignerY.Forward();
|
}
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1270_ALIGN_X_BWD:
|
{
|
if (AlignerX.IsWorkEnd)
|
{
|
if (AlignerX.IsBackward)
|
{
|
Step = ConveyorOutSteps.S1300_CONVEYOR_MOVE_OUT;
|
}
|
else
|
{
|
AlignerX.Backward();
|
}
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1300_CONVEYOR_MOVE_OUT:
|
{
|
if (JogPositive())
|
{
|
Step = ConveyorOutSteps.S1310_CONVEYOR_COMPLETE_SENSOR_CHECK;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1310_CONVEYOR_COMPLETE_SENSOR_CHECK:
|
{
|
if (MotorX.MotionComplete)
|
{
|
if (!(Alarm_Manager.Instance.Occured_List.Exists(X => X.Heavy == true) || Alarm_Manager.Instance.Occured_List.Exists(X => X.Code == En_Alarm_List.AL_0053_ULD_LIGHT_CURTAIN_ALARM)))
|
{
|
JogPositive();
|
}
|
}
|
|
if (IsConveyorInCompleteSensor || IsConveyorInSensor)
|
{
|
Step = ConveyorOutSteps.S1320_CONVEYOR_IN_SENSOR_CHECK;
|
}
|
else if (sequenceChangedTime.Seconds > equipment.Setting.Conveyor_Timeout)
|
{
|
Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0873_ULD_TRAY_OK_CONVEYOR_TIMEOUT);
|
Step = ConveyorOutSteps.S1400_CONVEYOR_STOP;
|
}
|
|
break;
|
}
|
case ConveyorOutSteps.S1320_CONVEYOR_IN_SENSOR_CHECK:
|
{
|
if (MotorX.MotionComplete)
|
{
|
if (!(Alarm_Manager.Instance.Occured_List.Exists(X => X.Heavy == true) || Alarm_Manager.Instance.Occured_List.Exists(X => X.Code == En_Alarm_List.AL_0053_ULD_LIGHT_CURTAIN_ALARM)))
|
{
|
JogPositive();
|
}
|
}
|
|
if (IsConveyorInSensor || (IsConveyorInCompleteSensor == false && IsConveyorInSensor == false && IsLiftInSensor == false && IsLiftInCompleteSensor == false))
|
{
|
Step = ConveyorOutSteps.S1400_CONVEYOR_STOP;
|
}
|
else if (sequenceChangedTime.Seconds > equipment.Setting.Conveyor_Timeout)
|
{
|
Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0873_ULD_TRAY_OK_CONVEYOR_TIMEOUT);
|
Step = ConveyorOutSteps.S1400_CONVEYOR_STOP;
|
}
|
|
break;
|
}
|
case ConveyorOutSteps.S1400_CONVEYOR_STOP:
|
{
|
if (Stop())
|
{
|
Step = ConveyorOutSteps.S1410_CONVEYOR_STOP_CHECK;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1410_CONVEYOR_STOP_CHECK:
|
{
|
if (MotorX.MotionComplete)
|
{
|
Step = ConveyorOutSteps.S1999_TRAY_UNLOADING_END;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S1400_CONVEYOR_STOP;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S1999_TRAY_UNLOADING_END:
|
{
|
equipment.UnloaderOkTrayCount = 0;
|
|
if (equipment.Mode.Agv_Skip)
|
{
|
equipment.Set_Unload_Tray_Buzzer(true);
|
Step = ConveyorOutSteps.S0000_WAIT;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S2000_AGV_UNLOADING_START;
|
}
|
|
break;
|
}
|
}
|
}
|
|
private void AgvUnloading()
|
{
|
switch (Step)
|
{
|
case ConveyorOutSteps.S2000_AGV_UNLOADING_START:
|
{
|
Step = ConveyorOutSteps.S2100_EQP_UNLOAD_ENABLE_ON;
|
break;
|
}
|
case ConveyorOutSteps.S2100_EQP_UNLOAD_ENABLE_ON:
|
{
|
equipment.Board_Control.IO_manager.Set_Output(OutputData.AGV_ULD_Ok_Request_For_Transfer_LD_ULD, true);
|
Step = ConveyorOutSteps.S2110_EQP_UNLOAD_ENABLE_ON_CHECK;
|
break;
|
}
|
case ConveyorOutSteps.S2110_EQP_UNLOAD_ENABLE_ON_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Output(OutputData.AGV_ULD_Ok_Request_For_Transfer_LD_ULD))
|
{
|
Step = ConveyorOutSteps.S2120_AGV_UNLOAD_STATUS_ON_CHECK;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S2100_EQP_UNLOAD_ENABLE_ON;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2120_AGV_UNLOAD_STATUS_ON_CHECK:
|
{
|
if (equipment.Mode.Agv_Skip)
|
{
|
equipment.Board_Control.IO_manager.Set_Output(OutputData.AGV_ULD_Ok_Request_For_Transfer_LD_ULD, false);
|
Step = ConveyorOutSteps.S0000_WAIT;
|
}
|
else
|
{
|
if (equipment.Board_Control.IO_manager.Get_Input(InputData.AGV_ULD_Ok_Moving_Load_Status))
|
{
|
Step = ConveyorOutSteps.S2130_EQP_UNLOAD_STATUS_ON;
|
}
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2130_EQP_UNLOAD_STATUS_ON:
|
{
|
equipment.Board_Control.IO_manager.Set_Output(OutputData.AGV_ULD_Ok_Moving_Load_Status, true);
|
Step = ConveyorOutSteps.S0000_WAIT;
|
break;
|
}
|
case ConveyorOutSteps.S2140_EQP_UNLOAD_STATUS_ON_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Output(OutputData.AGV_ULD_Ok_Moving_Load_Status))
|
{
|
Step = ConveyorOutSteps.S2150_AGV_UNLOAD_ENABLE_CONVEYOR_RUN_ON_CHECK;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S2130_EQP_UNLOAD_STATUS_ON;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2150_AGV_UNLOAD_ENABLE_CONVEYOR_RUN_ON_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Input(InputData.AGV_ULD_Ok_Request_For_Transfer_LD_ULD)
|
&& equipment.Board_Control.IO_manager.Get_Input(InputData.AGV_ULD_Ok_Conveyor_In_Operation))
|
{
|
Step = ConveyorOutSteps.S2200_EQP_CONVEYOR_RUN_ON;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2200_EQP_CONVEYOR_RUN_ON:
|
{
|
equipment.Board_Control.IO_manager.Set_Output(OutputData.AGV_ULD_Ok_Conveyor_In_Operation, true);
|
Step = ConveyorOutSteps.S2210_EQP_CONVEYOR_RUN_ON_CHECK;
|
break;
|
}
|
case ConveyorOutSteps.S2210_EQP_CONVEYOR_RUN_ON_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Output(OutputData.AGV_ULD_Ok_Conveyor_In_Operation))
|
{
|
Step = ConveyorOutSteps.S2220_EQP_UNLOAD_ENABLE_OFF;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S2200_EQP_CONVEYOR_RUN_ON;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2220_EQP_UNLOAD_ENABLE_OFF:
|
{
|
equipment.Board_Control.IO_manager.Set_Output(OutputData.AGV_ULD_Ok_Request_For_Transfer_LD_ULD, false);
|
Step = ConveyorOutSteps.S2230_EQP_UNLOAD_ENABLE_OFF_CHECK;
|
break;
|
}
|
case ConveyorOutSteps.S2230_EQP_UNLOAD_ENABLE_OFF_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Output(OutputData.AGV_ULD_Ok_Request_For_Transfer_LD_ULD) == false)
|
{
|
Step = ConveyorOutSteps.S2240_CONVEYOR_RUN;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S2220_EQP_UNLOAD_ENABLE_OFF;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2240_CONVEYOR_RUN:
|
{
|
JogPositive();
|
Step = ConveyorOutSteps.S2300_AGV_CONVEYOR_RUN_UNLOAD_STATUS_UNLOAD_ENABLE_OFF_CHECK;
|
break;
|
}
|
case ConveyorOutSteps.S2300_AGV_CONVEYOR_RUN_UNLOAD_STATUS_UNLOAD_ENABLE_OFF_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Input(InputData.AGV_ULD_Ok_Moving_Load_Status) == false
|
&& equipment.Board_Control.IO_manager.Get_Input(InputData.AGV_ULD_Ok_Request_For_Transfer_LD_ULD) == false
|
&& equipment.Board_Control.IO_manager.Get_Input(InputData.AGV_ULD_Ok_Conveyor_In_Operation) == false)
|
{
|
Step = ConveyorOutSteps.S2310_CONVEYOR_STOP_CHECK;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2310_CONVEYOR_STOP_CHECK:
|
{
|
if (MotorX.MotionComplete)
|
{
|
Step = ConveyorOutSteps.S2320_EQP_CONVEYOR_RUN_OFF;
|
}
|
else
|
{
|
Stop();
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2320_EQP_CONVEYOR_RUN_OFF:
|
{
|
equipment.Board_Control.IO_manager.Set_Output(OutputData.AGV_ULD_Ok_Conveyor_In_Operation, false);
|
Step = ConveyorOutSteps.S2330_EQP_CONVEYOR_RUN_OFF_CHECK;
|
break;
|
}
|
case ConveyorOutSteps.S2330_EQP_CONVEYOR_RUN_OFF_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Output(OutputData.AGV_ULD_Ok_Conveyor_In_Operation) == false)
|
{
|
Step = ConveyorOutSteps.S2340_EQP_UNLOAD_STATUS_OFF;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S2320_EQP_CONVEYOR_RUN_OFF;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2340_EQP_UNLOAD_STATUS_OFF:
|
{
|
equipment.Board_Control.IO_manager.Set_Output(OutputData.AGV_ULD_Ok_Moving_Load_Status, false);
|
Step = ConveyorOutSteps.S2350_EQP_UNLOAD_STATUS_OFF_CHECK;
|
break;
|
}
|
case ConveyorOutSteps.S2350_EQP_UNLOAD_STATUS_OFF_CHECK:
|
{
|
if (equipment.Board_Control.IO_manager.Get_Output(OutputData.AGV_ULD_Ok_Moving_Load_Status) == false)
|
{
|
Step = ConveyorOutSteps.S2999_AGV_UNLOADING_END;
|
}
|
else
|
{
|
Step = ConveyorOutSteps.S2340_EQP_UNLOAD_STATUS_OFF;
|
}
|
break;
|
}
|
case ConveyorOutSteps.S2999_AGV_UNLOADING_END:
|
{
|
Step = ConveyorOutSteps.S0000_WAIT;
|
break;
|
}
|
}
|
}
|
|
public void Unload()
|
{
|
Step = ConveyorOutSteps.S1000_TRAY_UNLOADING_START;
|
}
|
#endregion
|
}
|
}
|