namespace SHARP_CLAS_UI
|
{
|
#region Enum
|
|
public enum LoaderHandler1Steps
|
{
|
S0000_WAIT,
|
|
S1000_MOVE_STAY_POSITION_START,
|
S1100_REVERSE_STAGE_POSITION_CHECK,
|
S1110_PICKER_UP,
|
S1200_MOVE_STAY_POSITION,
|
S1220_POSITION_CHECK,
|
S1999_MOVE_STAY_POSITION_END,
|
|
S2000_TRAY_ID_READ_START,
|
S2100_PICKER_UP,
|
S2200_TRAY_TRANSFER_POSITION_CHECK,
|
S2210_MOVE_TRAY_BCR_POS,
|
S2230_POSITION_CHECK,
|
S2240_BCR_DATA_READ,
|
S2245_BCR_DATA_READ_WAIT,
|
S2250_BCR_USER_COMMAND_START,
|
S2260_BCR_USER_COMMAND_CHECK,
|
S2999_TRAY_ID_READ_END,
|
|
S3000_TRAY_FILM_JUDGE_START,
|
S3110_PICKER_UP,
|
S3150_TRAY_TRANSFER_POSITION_CHECK,
|
S3200_PICKER1_GET_PANEL_NUM,
|
S3210_PICKER1_GET_FILM_JUDGE_POITION,
|
S3220_MOVE_PICKER1_FILM_JUDGE_POSITION,
|
S3230_POSITION_CHECK,
|
S3300_LEFT_CAMERA_GRAB_READY,
|
S3310_LEFT_CAMERA_GRAB_READY_WAIT,
|
S3320_LEFT_CAMERA_MARK_GRAB_START,
|
S3330_LEFT_CAMERA_MARK_GRAB_WAIT,
|
S3340_FILM_JUDGE_LEFT_CHECK,
|
S3400_USER_COMMAND_START,
|
S3410_USER_COMMAND_WAIT,
|
S3500_PICKER2_GET_PANEL_NUM,
|
S3510_PICKER2_GET_FILM_JUDGE_POITION,
|
S3520_MOVE_PICKER2_FILM_JUDGE_POS,
|
S3530_POSITION_CHECK,
|
S3600_RIGHT_CAMERA_GRAB_READY,
|
S3610_RIGHT_CAMERA_GRAB_READY_WAIT,
|
S3620_RIGHT_CAMERA_MARK_GRAB_START,
|
S3630_RIGHT_CAMERA_MARK_GRAB_WAIT,
|
S3640_FILM_JUDGE_RIGHT_CHECK,
|
S3700_USER_COMMAND_START,
|
S3710_USER_COMMAND_WAIT,
|
S3999_TRAY_FILM_JUDGE_END,
|
|
S4000_PICK_TRAY_PANEL_START,
|
S4100_PICKER_UP,
|
S4110_TRAY_TRANSFER_POSITION_CHECK,
|
S4200_GET_PICKER1_PANEL_NUM,
|
S4210_GET_PICKER1_PICK_POITION,
|
S4300_MOVE_PICKER1_PICK_POSITION,
|
S4305_POSITION_CHECK,
|
S4310_PICKER1_PICK_START,
|
S4320_PICKER1_PICK_WAIT,
|
S4330_PICKER1_COMMAND_WAIT,
|
S4400_GET_PICKER2_PANEL_NUM,
|
S4410_GET_PICKER2_PICK_POITION,
|
S4500_MOVE_PICKER2_PICK_POSITION,
|
S4505_POSITION_CHECK,
|
S4510_PICKER2_PICK_START,
|
S4520_PICKER2_PICK_WAIT,
|
S4530_PICKER2_COMMAND_WAIT,
|
S4999_PICK_TRAY_PANEL_END,
|
|
S5000_PLACE_PRE_ALIGN_START,
|
S5100_HANDLER2_POSITION_CHECK,
|
S5110_REVERSE_STAGE_POSITION_CHECK,
|
S5120_PRE_ALIGN_POSITION_CHECK,
|
S5140_PICKER_UP,
|
S5200_MOVE_PRE_ALIGN_STAGE,
|
S5220_POSITION_CHECK,
|
S5300_PLACE_START,
|
S5310_PLACE_WAIT,
|
S5999_PLACE_PRE_ALIGN_END,
|
|
S6000_PRE_ALIGN_FILM_JUDGE_START,
|
S6100_HANDLER2_POSITION_CHECK,
|
S6110_REVERSE_STAGE_POSITION_CHECK,
|
S6120_PICKER_UP,
|
S6130_MOVE_FILM_JUGE_POS,
|
S6135_POSITION_CHECK,
|
S6200_LEFT_CAMERA_GRAB_READY,
|
S6210_LEFT_CAMERA_GRAB_READY_WAIT,
|
S6220_RIGHT_CAMERA_GRAB_READY,
|
S6230_RIGHT_CAMERA_GRAB_READY_WAIT,
|
S6240_LEFT_CAMERA_MARK_GRAB_START,
|
S6250_LEFT_CAMERA_MARK_GRAB_WAIT,
|
S6260_RIGHT_CAMERA_MARK_GRAB_START,
|
S6270_RIGHT_CAMERA_MARK_GRAB_WAIT,
|
S6280_FILM_JUDGE_CHECK,
|
S6290_PANEL_INFO_CHECK,
|
S6300_USER_COMMAND_START,
|
S6310_USER_COMMAND_WAIT,
|
S6400_MOVE_PRE_ALIGN_STAGE,
|
S6405_POSITION_CHECK,
|
S6410_PICK_START,
|
S6420_PICK_WAIT,
|
S6999_PRE_ALIGN_FILM_JUDGE_END,
|
|
S7000_PLACE_REVERSE_STAGE_START,
|
S7100_HANDLER2_POSITION_CHECK,
|
S7110_REVERSE_STAGE_POSITION_CHECK,
|
S7130_PICKER_UP,
|
S7200_MOVE_REVERSE_STAGE,
|
S7220_POSITION_CHECK,
|
S7300_PLACE_START,
|
S7310_PLACE_WAIT,
|
S7999_PLACE_REVERSE_STAGE_END,
|
|
S8000_PRE_ALIGN_START,
|
S8100_HANDLER2_POSITION_CHECK,
|
S8110_REVERSE_STAGE_POSITION_CHECK,
|
S8120_PICKER_UP,
|
S8130_LEFT_CAMERA_GRAB_READY,
|
S8140_LEFT_CAMERA_GRAB_READY_WAIT,
|
S8150_RIGHT_CAMERA_GRAB_READY,
|
S8160_RIGHT_CAMERA_GRAB_READY_WAIT,
|
S8200_MOVE_PRE_ALIGN_LEFT_POS,
|
S8205_POSITION_CHECK,
|
S8210_LEFT_CAMERA_MARK_1_GRAB_START,
|
S8220_LEFT_CAMERA_MARK_1_GRAB_WAIT,
|
S8230_RIGHT_CAMERA_MARK_1_GRAB_START,
|
S8240_RIGHT_CAMERA_MARK_1_GRAB_WAIT,
|
S8300_MOVE_PRE_ALIGN_RIGHT_POS,
|
S8305_POSITION_CHECK,
|
S8310_LEFT_CAMERA_MARK_2_GRAB_START,
|
S8320_LEFT_CAMERA_MARK_2_GRAB_WAIT,
|
S8330_RIGHT_CAMERA_MARK_2_GRAB_START,
|
S8340_RIGHT_CAMERA_MARK_2_GRAB_WAIT,
|
S8350_PRE_ALIGN_CHECK,
|
S8400_USER_COMMAND_START,
|
S8410_USER_COMMAND_WAIT,
|
S8999_PRE_ALIGN_END,
|
}
|
|
public enum LoaderHandler2Steps
|
{
|
S0000_WAIT,
|
|
S1000_MOVE_STAY_POSITION_START,
|
S1100_REVERSE_STAGE_POSITION_CHECK,
|
S1110_PICKER_UP,
|
S1200_MOVE_STAY_POSITION,
|
S1220_POSITION_CHECK,
|
S1999_MOVE_STAY_POSITION_END,
|
|
S2000_PICK_PRE_ALIGN_STAGE_START,
|
S2100_HANDLER1_POSITION_CHECK,
|
S2110_LD_REVERSE_POSITION_CHECK,
|
S2120_PRE_ALIGN_POSITION_CHECK,
|
S2130_PICKER_UP,
|
S2200_MOVE_PRE_ALIGN_STAGE_POSITION,
|
S2205_POSITION_CHECK,
|
S2210_PICK_START,
|
S2220_PICK_WAIT,
|
S2999_PICK_PRE_ALIGN_STAGE_END,
|
|
S3000_PLACE_ABLATION_STAGE_1_START,
|
S3110_ABLATION_STAGE_1_POSITION_CHECK,
|
S3120_PICKER_UP,
|
S3200_MOVE_ABLATION_STAGE_1,
|
S3205_POSITION_CHECK,
|
S3210_PLACE_START,
|
S3220_PLACE_WAIT,
|
S3999_PLACE_ABLATION_STAGE_1_END,
|
|
S4000_PLACE_ABLATION_STAGE_2_START,
|
S4110_ABLATION_STAGE_2_POSITION_CHECK,
|
S4120_PICKER_UP,
|
S4200_MOVE_ABLATION_STAGE_2,
|
S4205_POSITION_CHECK,
|
S4210_PLACE_START,
|
S4220_PLACE_WAIT,
|
S4999_PLACE_ABLATION_STAGE_2_END,
|
}
|
|
public enum UnloaderHandler1Steps
|
{
|
S0000_WAIT,
|
|
//======================== STAY POSITION ============================
|
S1000_MOVE_TO_STAY_START,
|
S1100_PICKER_UP,
|
S1200_MOVE_X_STAY, // NG 시 동작
|
S1205_POSITION_CHECK,
|
S1210_MOVE_Y_STAY,
|
S1215_POSITION_CHECK,
|
S1300_MOVE_STAY_POSITION, // 그외 동작
|
S1305_POSITION_CHECK,
|
S1999_MOVE_TO_STAY_END,
|
|
//======================== TRAY OK ID READ ============================
|
S2000_TRAY_OK_ID_READ_START,
|
S2100_PICKER_UP,
|
S2200_ULD_TRAY_TR_POSITION_CHECK,
|
S2210_MOVE_TRAY_OK_BCR_POS,
|
S2230_POSITION_CHECK,
|
S2240_BCR_DATA_READ,
|
S2245_BCR_DATA_READ_WAIT,
|
S2250_BCR_USER_COMMAND_START,
|
S2260_BCR_USER_COMMAND_CHECK,
|
S2999_TRAY_OK_ID_READ_END,
|
|
//======================== TRAY NG ID READ ============================
|
S3000_TRAY_NG_ID_READ_START,
|
S3100_PICKER_UP,
|
S3200_ULD_TRAY_TR_POSITION_CHECK,
|
S3210_MOVE_TRAY_NG_BCR_POS,
|
S3230_POSITION_CHECK,
|
S3240_BCR_DATA_READ,
|
S3245_BCR_DATA_READ_WAIT,
|
S3250_BCR_USER_COMMAND_START,
|
S3260_BCR_USER_COMMAND_CHECK,
|
S3999_TRAY_NG_ID_READ_END,
|
|
//======================== MEASUREMENT ============================
|
S4000_MEASUREMENT_START,
|
S4100_ULD_HANDLER_2_POSITION_CHECK,
|
S4110_REVERSE_POSITION_CHECK,
|
S4120_PICKER_UP,
|
S4130_LEFT_CAMERA_GRAB_READY,
|
S4140_LEFT_CAMERA_GRAB_READY_WAIT,
|
S4150_RIGHT_CAMERA_GRAB_READY,
|
S4160_RIGHT_CAMERA_GRAB_READY_WAIT,
|
|
S4200_MOVE_MEASUREMENT_MARK1_POSITION,
|
S4205_POSITION_CHECK,
|
S4210_LEFT_CAMERA_MARK_1_GRAB_START,
|
S4220_LEFT_CAMERA_MARK_1_GRAB_WAIT,
|
S4230_RIGHT_CAMERA_MARK_1_GRAB_START,
|
S4240_RIGHT_CAMERA_MARK_1_GRAB_WAIT,
|
|
S4300_MOVE_MEASUREMENT_MARK2_POSITION,
|
S4305_POSITION_CHECK,
|
S4310_LEFT_CAMERA_MARK_2_GRAB_START,
|
S4320_LEFT_CAMERA_MARK_2_GRAB_WAIT,
|
S4330_RIGHT_CAMERA_MARK_2_GRAB_START,
|
S4340_RIGHT_CAMERA_MARK_2_GRAB_WAIT,
|
|
S4400_MOVE_MEASUREMENT_MARK3_POSITION,
|
S4405_POSITION_CHECK,
|
S4410_LEFT_CAMERA_MARK_3_GRAB_START,
|
S4420_LEFT_CAMERA_MARK_3_GRAB_WAIT,
|
S4430_RIGHT_CAMERA_MARK_3_GRAB_START,
|
S4440_RIGHT_CAMERA_MARK_3_GRAB_WAIT,
|
|
S4500_MOVE_MEASUREMENT_MARK4_POSITION,
|
S4505_POSITION_CHECK,
|
S4510_LEFT_CAMERA_MARK_4_GRAB_START,
|
S4520_LEFT_CAMERA_MARK_4_GRAB_WAIT,
|
S4530_RIGHT_CAMERA_MARK_4_GRAB_START,
|
S4540_RIGHT_CAMERA_MARK_4_GRAB_WAIT,
|
|
S4550_MEASUREMENT_CHECK,
|
|
S4560_USER_COMMAND_START,
|
S4570_USER_COMMAND_WAIT,
|
|
//Width Measurment Sequence 추가.
|
/*
|
* Camera ready, 4600 ~
|
* 위치 이동및 Grab 1 ~ 4
|
* 종료 확인.
|
* Ok, Retry or Pass 확인. , 4700 ~
|
* CIM 보고 확인.
|
*/
|
S4600_LEFT_CAMERA_GRAB_READY,
|
S4601_LEFT_CAMERA_GRAB_READY_WAIT,
|
S4602_RIGHT_CAMERA_GRAB_READY,
|
S4603_RIGHT_CAMERA_GRAB_READY_WAIT,
|
|
S4610_MOVE_MEASUREMENT_MARK1_POSITION,
|
S4611_POSITION_CHECK,
|
S4612_LEFT_CAMERA_MARK_1_GRAB_START,
|
S4613_LEFT_CAMERA_MARK_1_GRAB_WAIT,
|
S4614_RIGHT_CAMERA_MARK_1_GRAB_START,
|
S4615_RIGHT_CAMERA_MARK_1_GRAB_WAIT,
|
|
S4620_MOVE_MEASUREMENT_MARK2_POSITION,
|
S4621_POSITION_CHECK,
|
S4622_LEFT_CAMERA_MARK_2_GRAB_START,
|
S4623_LEFT_CAMERA_MARK_2_GRAB_WAIT,
|
S4624_RIGHT_CAMERA_MARK_2_GRAB_START,
|
S4625_RIGHT_CAMERA_MARK_2_GRAB_WAIT,
|
|
S4630_MOVE_MEASUREMENT_MARK3_POSITION,
|
S4631_POSITION_CHECK,
|
S4632_LEFT_CAMERA_MARK_3_GRAB_START,
|
S4633_LEFT_CAMERA_MARK_3_GRAB_WAIT,
|
S4634_RIGHT_CAMERA_MARK_3_GRAB_START,
|
S4635_RIGHT_CAMERA_MARK_3_GRAB_WAIT,
|
|
S4640_MOVE_MEASUREMENT_MARK4_POSITION,
|
S4641_POSITION_CHECK,
|
S4642_LEFT_CAMERA_MARK_4_GRAB_START,
|
S4643_LEFT_CAMERA_MARK_4_GRAB_WAIT,
|
S4644_RIGHT_CAMERA_MARK_4_GRAB_START,
|
S4645_RIGHT_CAMERA_MARK_4_GRAB_WAIT,
|
|
S4650_MEASUREMENT_CHECK,
|
|
S4700_USER_COMMAND_START,
|
S4700_USER_COMMAND_WAIT,
|
//==============================
|
|
S4800_PANEL_LEFT_CIM_SEND,
|
S4810_PANEL_LEFT_CIM_SEND_WAIT,
|
S4820_PANEL_RIGHT_CIM_SEND,
|
S4830_PANEL_RIGHT_CIM_SEND_WAIT,
|
|
S4999_MEASUREMENT_END,
|
|
//======================== AOI PICK ============================
|
S5000_PICK_TO_AOI_STAGE_START,
|
S5100_ULD_HANDLER_2_POSITION_CHECK,
|
S5110_REVERSE_STAGE_POSITION_CHECK,
|
S5120_PICKER_UP,
|
S5200_MOVE_AOI_STAGE_POSITION,
|
S5205_POSITION_CHECK,
|
S5210_PICK_START,
|
S5220_PICK_WAIT,
|
S5999_PICK_TO_AOI_STAGE_END,
|
|
//======================== REVERSE STAGE PICK ============================
|
S6000_PICK_TO_REVERSE_STAGE_START,
|
S6100_ULD_HANDLER_2_POSITION_CHECK,
|
S6110_REVERSE_STAGE_POSITION_CHECK,
|
S6120_PICKER_UP,
|
S6200_MOVE_REVERSE_STAGE_POSITION,
|
S6205_POSITION_CHECK,
|
S6210_PICK_START,
|
S6220_PICK_WAIT,
|
S6999_PICK_TO_REVERSE_STAGE_END,
|
|
//======================== REVERSE STAGE BUFFER FUNCTION ============================
|
S7000_PLACE_TO_REVERSE_STAGE_CHANGE_START,
|
S7100_ULD_HANDLER_2_POSITION_CHECK,
|
S7110_REVERSE_STAGE_POSITION_CHECK,
|
S7120_PICKER_UP,
|
S7130_VACUUM_CHECK,
|
S7200_MOVE_PICKER1_REVERSE_STAGE_POSITION,
|
S7205_POSITION_CHECK,
|
S7210_PICKER1_PLACE_START,
|
S7220_PICKER1_PLACE_WAIT,
|
S7300_MOVE_PICKER2_REVERSE_STAGE_POSITION,
|
S7305_POSITION_CHECK,
|
S7310_PICKER2_PLACE_START,
|
S7320_PICKER2_PLACE_WAIT,
|
S7999_PLACE_TO_REVERSE_STAGE_CHANGE_END,
|
|
//======================== PLACE TRAY PICK ============================
|
S8000_PLACE_TO_TRAY_START,
|
S8100_ULD_TRAY_TR_POSITION_CHECK,
|
S8110_PICKER_UP,
|
S8200_PICKER1_DATA_CHECK, // PICKER 1 CHECK
|
S8210_PICKER1_GET_OK_PANEL_NUM, // PICKER 1 OK
|
S8220_PICKER1_GET_PLACE_POSITION,
|
S8300_MOVE_PLACE_POSITION,
|
S8305_POSITION_CHECK,
|
S8310_PICKER1_PLACE_START,
|
S8315_PICKER1_PLACE_WAIT,
|
S8320_TRAY_OK_DATA_SET,
|
S8330_TRAY_IN_CIM_SEND,
|
S8340_TRAY_IN_CIM_SEND_WAIT,
|
S8400_PICKER1_GET_NG_PANEL_NUM, // PICKER 1 NG
|
S8410_PICKER1_GET_PLACE_POSITION,
|
S8500_MOVE_Y_PLACE_POSITION,
|
S8505_POSITION_CHECK,
|
S8510_MOVE_X_PLACE_POSITION,
|
S8515_POSITION_CHECK,
|
S8520_PICKER1_PLACE_START,
|
S8525_PICKER1_PLACE_WAIT,
|
S8530_TRAY_NG_DATA_SET,
|
S8540_TRAY_IN_CIM_SEND,
|
S8550_TRAY_IN_CIM_SEND_WAIT,
|
S8600_PICKER2_DATA_CHECK, // PICKER 2 CHECK
|
S8610_PICKER2_GET_OK_PANEL_NUM, // PICKER 2 OK
|
S8620_PICKER2_GET_PLACE_POSITION,
|
S8700_MOVE_PLACE_POSITION,
|
S8705_POSITION_CHECK,
|
S8710_PICKER2_PLACE_START,
|
S8715_PICKER2_PLACE_WAIT,
|
S8720_TRAY_OK_DATA_SET,
|
S8730_TRAY_IN_CIM_SEND,
|
S8740_TRAY_IN_CIM_SEND_WAIT,
|
S8800_PICKER2_GET_NG_PANEL_NUM, // PICKER 2 NG
|
S8810_PICKER2_GET_PLACE_POSITION,
|
S8900_MOVE_Y_PLACE_POSITION,
|
S8905_POSITION_CHECK,
|
S8910_MOVE_X_PLACE_POSITION,
|
S8915_POSITION_CHECK,
|
S8920_PICKER2_PLACE_START,
|
S8925_PICKER2_PLACE_WAIT,
|
S8930_TRAY_NG_DATA_SET,
|
S8940_TRAY_IN_CIM_SEND,
|
S8950_TRAY_IN_CIM_SEND_WAIT,
|
S8999_PLACE_TO_TRAY_END,
|
}
|
|
public enum UnloaderHandler2Steps
|
{
|
S0000_WAIT,
|
|
S1000_MOVE_STAY_POSITION_START,
|
S1100_PICKER_UP,
|
S1200_MOVE_STAY_POSITION,
|
S1205_POSITION_CHECK,
|
S1999_MOVE_STAY_POSITION_END,
|
|
S2000_PICK_ABLATION_STAGE_1_START,
|
S2100_ABLATION_STAGE_1_POSITION_CHECK,
|
S2200_PICKER_UP,
|
S2210_MOVE_ABLATION_STAGE_1,
|
S2215_POSITION_CHECK,
|
S2220_PLACE_START,
|
S2225_PLACE_WAIT,
|
S2999_PICK_ABLATION_STAGE_1_END,
|
|
S3000_PICK_ABLATION_STAGE_2_START,
|
S3100_ABLATION_STAGE_2_POSITION_CHECK,
|
S3230_PICKER_UP,
|
S3200_MOVE_ABLATION_STAGE_2,
|
S3220_POSITION_CHECK,
|
S3300_PLACE_START,
|
S3310_PLACE_WAIT,
|
S3999_PICK_ABLATION_STAGE_2_END,
|
|
S4000_PLACE_AOI_STAGE_START,
|
S4100_ULD_HANDLER_1_POSITION_CHECK,
|
S4110_ULD_REVERSE_STAGE_POSITION_CHECK,
|
S4220_PICKER_UP,
|
S4200_MOVE_AOI_STAGE,
|
S4220_POSITION_CHECK,
|
S4300_PLACE_START,
|
S4310_PLACE_WAIT,
|
S4999_PLACE_AOI_STAGE_END,
|
}
|
|
public enum HandlerHomeSteps
|
{
|
S0000_WAIT,
|
|
S1000_STATUS_CHECK,
|
S1100_TRAY_TRANSFER_HOME_CHECK,
|
S1200_TRAY_TRANSFER_POSITION_CHECK,
|
S1300_MOTOR_Y_HOME,
|
S1305_MOTOR_Y_HOME_CHECK,
|
S1310_MOTOR_X_HOME,
|
S1315_MOTOR_X_HOME_CHECK,
|
S1400_MOVE_STAY_POSITION,
|
S1405_POSITION_CHECK,
|
S1999_END,
|
}
|
#endregion
|
public abstract class Handler : Unit
|
{
|
#region Property
|
public Axis MotorX
|
{
|
get
|
{
|
return _motorX;
|
}
|
|
set
|
{
|
_motorX = value;
|
}
|
}
|
|
public Axis MotorY
|
{
|
get
|
{
|
return _motorY;
|
}
|
|
set
|
{
|
_motorY = value;
|
}
|
}
|
|
public Picker Picker1
|
{
|
get
|
{
|
return _picker1;
|
}
|
|
set
|
{
|
_picker1 = value;
|
}
|
}
|
|
public Picker Picker2
|
{
|
get
|
{
|
return _picker2;
|
}
|
|
set
|
{
|
_picker2 = value;
|
}
|
}
|
|
public override bool IsHomeComplete
|
{
|
get
|
{
|
return MotorX.PowerOn && MotorX.IsHomed && MotorX.ErrorStop == false
|
&& MotorY.PowerOn && MotorY.IsHomed && MotorY.ErrorStop == false && isHomeComplete;
|
}
|
}
|
|
public override bool IsExist
|
{
|
get
|
{
|
if(Picker1.IsVacuumSensor || Picker2.IsVacuumSensor)
|
{
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
}
|
|
public abstract Panel_Info Panel1
|
{
|
get;
|
set;
|
}
|
|
public abstract Panel_Info Panel2
|
{
|
get;
|
set;
|
}
|
#endregion
|
|
#region Field
|
private Axis _motorX;
|
private Axis _motorY;
|
private Picker _picker1;
|
private Picker _picker2;
|
|
protected SequenceTimer picker1Timer = new SequenceTimer();
|
protected SequenceTimer picker2Timer = new SequenceTimer();
|
|
protected double pickerUpWaitTime = 0.5;
|
#endregion
|
|
#region Construct
|
public Handler(Equipment equipment, MotorAxis motorX, MotorAxis motorY, string unitName) : base(equipment, unitName)
|
{
|
_motorX = equipment.Board_Control.Motors[motorX];
|
_motorY = equipment.Board_Control.Motors[motorY];
|
_picker1 = new Picker(equipment);
|
_picker2 = new Picker(equipment);
|
}
|
#endregion
|
}
|
}
|