namespace SHARP_CLAS_UI { public enum AoiStageSteps { S0000_WAIT, S1000_PANEL_LOAD_START, S1100_MOVE_STAY_POSITION, S1110_POSITION_CHECK, S1200_PANEL_EXIST_CHECK, S1999_PANEL_LOAD_END, S2000_MEASUREMENT_START, S2100_MEASUREMENT_CHECK, S2999_MEASUREMENT_END, S3000_PANEL_UNLOAD_START, S3100_MOVE_UNLOAD_POSITION, S3110_POSITION_CHECK, S3200_PANEL_EMPTY_CHECK, S3999_PANEL_UNLOAD_END, } public enum AoiStageHomeSteps { S0000_WAIT, S1000_STATUS_CHECK, S2000_T_HOME_START, S2100_T_HOME_CHECK, S3000_MOVE_0_DEG, S3100_POSITION_CHECK, S9999_END, } public abstract class AoiStageUnit : Unit { #region Property public Axis MotorT1 { get { return _motorT1; } set { _motorT1 = value; } } public Axis MotorT2 { get { return _motorT2; } set { _motorT2 = value; } } public VacuumStageCh1 Stage1 { get { return _stage1; } set { _stage1 = value; } } public VacuumStageCh1 Stage2 { get { return _stage2; } set { _stage2 = value; } } public abstract Panel_Info Panel1 { get; set; } public abstract Panel_Info Panel2 { get; set; } public override bool IsHomeComplete { get { if (isHomeComplete && MotorT1.IsHomed && MotorT2.IsHomed) { return true; } else { return false; } } } public override bool IsExist { get { if (Stage1.IsExist || Stage2.IsExist) { return true; } else { return false; } } } #endregion #region Field private Axis _motorT1; private Axis _motorT2; private VacuumStageCh1 _stage1; private VacuumStageCh1 _stage2; #endregion #region Construct public AoiStageUnit(Equipment equipment, MotorAxis motorT1, MotorAxis motorT2) : base(equipment, "AoiStage") { MotorT1 = equipment.Board_Control.Motors[motorT1]; MotorT2 = equipment.Board_Control.Motors[motorT2]; Stage1 = new VacuumStageCh1(equipment); Stage2 = new VacuumStageCh1(equipment); } #endregion } }