| | |
| | | { |
| | | sequenceChangedTime.Start(); |
| | | |
| | | if (equipment.Cur_Main_Recipe.vision_info.AoiMark34Use) |
| | | { |
| | | Step = UnloaderHandler1Steps.S4630_MOVE_MEASUREMENT_MARK3_POSITION; |
| | | } |
| | | else |
| | | { |
| | | Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; |
| | | } |
| | | Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; |
| | | return; |
| | | } |
| | | |
| | |
| | | { |
| | | if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack)) |
| | | { |
| | | if (equipment.Cur_Main_Recipe.vision_info.AoiMark34Use) |
| | | { |
| | | Step = UnloaderHandler1Steps.S4630_MOVE_MEASUREMENT_MARK3_POSITION; |
| | | } |
| | | else |
| | | { |
| | | Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; |
| | | } |
| | | Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; |
| | | } |
| | | else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) |
| | | { |
| | |
| | | info1.End_Time = DateTime.Now; |
| | | |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, out value); |
| | | info1.Mark1Point1 = double.Parse(value.ToString()); |
| | | info1.Mark1Width = double.Parse(value.ToString()); |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, out value); |
| | | info1.Mark2Point1 = double.Parse(value.ToString()); |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value); |
| | | info1.Mark3Point1 = double.Parse(value.ToString()); |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value); |
| | | info1.Mark4Point1 = double.Parse(value.ToString()); |
| | | info1.Mark2Width = double.Parse(value.ToString()); |
| | | //equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value); |
| | | //info1.Mark3Point1 = double.Parse(value.ToString()); |
| | | //equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value); |
| | | //info1.Mark4Point1 = double.Parse(value.ToString()); |
| | | |
| | | aoistage.Panel1 = info1; |
| | | |
| | |
| | | |
| | | if (aoistage.Stage2.IsExist && info2.WidthMeasurement_Ack == false) |
| | | { |
| | | if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Align_Result)) |
| | | info2.WidthMeasurement_Ack = true; |
| | | |
| | | if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Result, out result)) |
| | | { |
| | | info2.WidthMeasurement_Ack = true; |
| | | info2.WidthMeasurement_Result = result; |
| | | |
| | | if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Result, out result)) |
| | | { |
| | | info2.Measurement_Result = result; |
| | | info2.End_Time = DateTime.Now; |
| | | |
| | | info2.End_Time = DateTime.Now; |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_1_Point_1, out value); |
| | | info2.Mark1Width = double.Parse(value.ToString()); |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, out value); |
| | | info2.Mark2Width = double.Parse(value.ToString()); |
| | | //equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, out value); |
| | | //info2.Mark3Point1 = double.Parse(value.ToString()); |
| | | //equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value); |
| | | //info2.Mark4Point1 = double.Parse(value.ToString()); |
| | | |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_1_Point_1, out value); |
| | | info2.Mark1Point1 = double.Parse(value.ToString()); |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, out value); |
| | | info2.Mark2Point1 = double.Parse(value.ToString()); |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, out value); |
| | | info2.Mark3Point1 = double.Parse(value.ToString()); |
| | | equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value); |
| | | info2.Mark4Point1 = double.Parse(value.ToString()); |
| | | aoistage.Panel2 = info2; |
| | | |
| | | aoistage.Panel2 = info2; |
| | | |
| | | isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Ack; |
| | | } |
| | | else |
| | | { |
| | | return; |
| | | } |
| | | isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Ack; |
| | | } |
| | | else |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | |
| | |
| | | equipment.Aoi_vision.Send_Measurement_Command_Req(2, 1, info2.Tray_Num, info2.Panel_Num, info2.Panel_ID); |
| | | } |
| | | |
| | | Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; |
| | | if (equipment.cim_mode == En_Cim_Mode.Online) |
| | | { |
| | | Step = UnloaderHandler1Steps.S4800_PANEL_LEFT_CIM_SEND; |
| | | } |
| | | else |
| | | { |
| | | Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; |
| | | } |
| | | } |
| | | break; |
| | | } |