From 0b5386e7314cc125c0808deec2d948281f397c0f Mon Sep 17 00:00:00 2001 From: 천호석 <hosuk1418@naver.com> Date: 화, 01 11월 2022 16:46:12 +0900 Subject: [PATCH] 검사 개조, Measurement 후 Width 검사 불합리 제거. --- SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.cs | 7 +- SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.Designer.cs | 3 SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Define.cs | 7 - SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs | 80 +++++++++++--------------- SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Client_AOI.cs | 26 ++++++-- SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs | 10 --- SHARP_CLAS_UI/500.Equipment/600.Info/000.Panel_Info/Panel_Info.cs | 7 ++ 7 files changed, 70 insertions(+), 70 deletions(-) diff --git a/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.Designer.cs b/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.Designer.cs index c2a5688..c447fc5 100644 --- a/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.Designer.cs +++ b/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.Designer.cs @@ -1239,7 +1239,8 @@ this.cbb_AOI_SeqType.FormattingEnabled = true; this.cbb_AOI_SeqType.ItemHeight = 12; this.cbb_AOI_SeqType.Items.AddRange(new object[] { - "AOI Measurement"}); + "AOI Measurement", + "Width Measurement"}); this.cbb_AOI_SeqType.Location = new System.Drawing.Point(106, 51); this.cbb_AOI_SeqType.Name = "cbb_AOI_SeqType"; this.cbb_AOI_SeqType.Size = new System.Drawing.Size(156, 20); diff --git a/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.cs b/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.cs index b97a39a..004ec9b 100644 --- a/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.cs +++ b/SHARP_CLAS_UI/300.Etc_Screen/Form_Vision_Test.cs @@ -378,7 +378,7 @@ private void btn_AOI_Grab_Ready_Req_Click(object sender, EventArgs e) { - int Seq_Type = 3; + int Seq_Type = cbb_AOI_SeqType.SelectedIndex == 0 ? 3 : 4; int Module_Idx = rb_AOI_Left.Checked ? 0 : 1; int Grab_Dir = 1; int Pnl_Dir = rb_AOI_Short.Checked ? 0 : 1; @@ -396,13 +396,13 @@ _Parent.sm.Set_Bit(Vision_Address.Measurement_Left_Ack, false); else _Parent.sm.Set_Bit(Vision_Address.Measurement_Right_Ack, false); - + _Parent._equip.Aoi_vision.SendData(vision_control.Send_Grab_Ready_Req(Seq_Type, Module_Idx, Grab_Dir, Pnl_Dir, Stage_No, Slot_No, Pnl_Idx, Panel_Id)); } private void btn_AOI_Grab_Start_Req_Click(object sender, EventArgs e) { - int Seq_Type = 3; + int Seq_Type = cbb_AOI_SeqType.SelectedIndex == 0 ? 3 : 4; int Module_Idx = rb_AOI_Left.Checked ? 0 : 1; int Mark_Idx = rb_AOI_Mark_1.Checked ? 0 : 1; double Motor_Offset_X; @@ -414,6 +414,7 @@ _Parent.sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack, false); else _Parent.sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack, false); + _Parent._equip.Aoi_vision.SendData(vision_control.Send_Grab_Start_Req(Seq_Type, Module_Idx, Mark_Idx, Motor_Offset_X, Motor_Offset_Y)); } diff --git a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Client_AOI.cs b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Client_AOI.cs index 4dc7cad..f628700 100644 --- a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Client_AOI.cs +++ b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Client_AOI.cs @@ -354,6 +354,12 @@ sm.Set_Bit(Vision_Address.Measurement_Grab_Ready_Ack, true); sm.Set_Bit(Vision_Address.Measurement_Grab_Ready_Result, grab_ready_Ack.result == 0 ? false : true); } + else if (grab_ready_Ack.SeqType == (int)En_SeqType.MeasurementWidth) + { + WriteClientLog($"[Recv]MeasurementWidth Grab Ready, Result : {grab_ready_Ack.result}"); + sm.Set_Bit(Vision_Address.Measurement_Grab_Ready_Ack, true); + sm.Set_Bit(Vision_Address.Measurement_Grab_Ready_Result, grab_ready_Ack.result == 0 ? false : true); + } break; } @@ -388,6 +394,12 @@ sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack, true); sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Left_Result, grab_start_Ack.result == 0 ? false : true); } + else if (grab_start_Ack.SeqType == (int)En_SeqType.MeasurementWidth) + { + WriteClientLog($"[Recv]MeasurementWidth Left Grab Start, Result : {grab_start_Ack.result}"); + sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack, true); + sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Left_Result, grab_start_Ack.result == 0 ? false : true); + } } else if (grab_start_Ack.ModuleIdx == (int)En_Module_Idx.Right) { @@ -412,6 +424,12 @@ else if (grab_start_Ack.SeqType == (int)En_SeqType.Measurement) { WriteClientLog($"[Recv]Measurement Right Grab Start, Result : {grab_start_Ack.result}"); + sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack, true); + sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Right_Result, grab_start_Ack.result == 0 ? false : true); + } + else if (grab_start_Ack.SeqType == (int)En_SeqType.MeasurementWidth) + { + WriteClientLog($"[Recv]MeasurementWidth Right Grab Start, Result : {grab_start_Ack.result}"); sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack, true); sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Right_Result, grab_start_Ack.result == 0 ? false : true); } @@ -623,12 +641,10 @@ if (measurement_result_Ack.moduleIdx == (int)En_Module_Idx.Left) { - WriteClientLog($"[Recv]Width Measurement Left Result, Result : {measurement_result_Ack.measurement_result}, Mark1Width : {measurement_result_Ack.Mark1Width}, Mark2Width : {measurement_result_Ack.Mark2Width}, Mark3Width : {measurement_result_Ack.Mark3Width}, Mark4Width : {measurement_result_Ack.Mark4Width}"); + WriteClientLog($"[Recv]Width Measurement Left Result, Result : {measurement_result_Ack.measurement_result}, Mark1Width : {measurement_result_Ack.Mark1Width}, Mark2Width : {measurement_result_Ack.Mark2Width}"); sm.Set_Value(Vision_Address.Measurement_Left_Result, measurement_result_Ack.measurement_result); sm.Set_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, measurement_result_Ack.Mark1Width); sm.Set_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, measurement_result_Ack.Mark2Width); - sm.Set_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, measurement_result_Ack.Mark3Width); - sm.Set_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, measurement_result_Ack.Mark4Width); sm.Set_Bit(Vision_Address.Measurement_Left_Ack, true); } break; @@ -639,12 +655,10 @@ vision_control.Recv_WidthMeasurement_Result(Recvdata, out measurement_result_Ack); if (measurement_result_Ack.moduleIdx == (int)En_Module_Idx.Right) { - WriteClientLog($"[Recv]Width Measurement Right Result, Result : {measurement_result_Ack.measurement_result}, Mark1Width : {measurement_result_Ack.Mark1Width}, Mark2Width : {measurement_result_Ack.Mark2Width}, Mark3Width : {measurement_result_Ack.Mark3Width}, Mark4Width : {measurement_result_Ack.Mark4Width}"); + WriteClientLog($"[Recv]Width Measurement Right Result, Result : {measurement_result_Ack.measurement_result}, Mark1Width : {measurement_result_Ack.Mark1Width}, Mark2Width : {measurement_result_Ack.Mark2Width}"); sm.Set_Value(Vision_Address.Measurement_Right_Result, measurement_result_Ack.measurement_result); sm.Set_Value(Vision_Address.Measurement_Right_Mark_1_Point_1, measurement_result_Ack.Mark1Width); sm.Set_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, measurement_result_Ack.Mark2Width); - sm.Set_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, measurement_result_Ack.Mark3Width); - sm.Set_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, measurement_result_Ack.Mark4Width); sm.Set_Bit(Vision_Address.Measurement_Right_Ack, true); } break; diff --git a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs index ad858db..d948f7d 100644 --- a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs +++ b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs @@ -482,8 +482,6 @@ byte[] MeasureResult = new byte[4]; //0 : Fail, 1 : Success byte[] Mark1Width = new byte[8]; //Mark1�쓽 �꼻�씠 byte[] Mark2Width = new byte[8]; //Mark2�쓽 �꼻�씠 - byte[] Mark3Width = new byte[8]; //Mark3�쓽 �꼻�씠 - byte[] Mark4Width = new byte[8]; //Mark4�쓽 �꼻�씠 int copylength = 0; Array.Copy(Recvdata, size, size.Length); @@ -500,20 +498,14 @@ copylength += Mark1Width.Length; Array.Copy(Recvdata, copylength, Mark2Width, 0, Mark2Width.Length); copylength += Mark2Width.Length; - Array.Copy(Recvdata, copylength, Mark3Width, 0, Mark3Width.Length); - copylength += Mark3Width.Length; - Array.Copy(Recvdata, copylength, Mark4Width, 0, Mark4Width.Length); - copylength += Mark4Width.Length; int Result_MsgIndex = BitConverter.ToInt32(MsgIndex, 0); int Result_ModuleIdx = BitConverter.ToInt32(ModuleIdx, 0); int Result_MeasureResult = BitConverter.ToInt32(MeasureResult, 0); double Result_Mark1Width = BitConverter.ToDouble(Mark1Width, 0); double Result_Mark2Width = BitConverter.ToDouble(Mark2Width, 0); - double Result_Mark3Width = BitConverter.ToDouble(Mark3Width, 0); - double Result_Mark4Width = BitConverter.ToDouble(Mark4Width, 0); - Ack = new WidthMeasurementResultAck(Result_MsgIndex, Result_ModuleIdx, Result_MeasureResult, Result_Mark1Width, Result_Mark2Width, Result_Mark3Width, Result_Mark4Width); + Ack = new WidthMeasurementResultAck(Result_MsgIndex, Result_ModuleIdx, Result_MeasureResult, Result_Mark1Width, Result_Mark2Width); } public void Recv_Fine_Align_Result(byte[] Recvdata, out FineAlignResultAck Ack) diff --git a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Define.cs b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Define.cs index 413fba8..479cbf2 100644 --- a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Define.cs +++ b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Define.cs @@ -6,6 +6,7 @@ Pre_Align, Fine_Align, Measurement, + MeasurementWidth, } public enum En_Module_Idx : int @@ -170,18 +171,14 @@ public int measurement_result { get; private set; } public double Mark1Width { get; private set; } public double Mark2Width { get; private set; } - public double Mark3Width { get; private set; } - public double Mark4Width { get; private set; } - public WidthMeasurementResultAck(int msg_Index = 0, int moduleIdx = 0, int measurement_result = 0, double mark1Width = 0, double mark2Width = 0, double mark3Width = 0, double mark4Width = 0) + public WidthMeasurementResultAck(int msg_Index = 0, int moduleIdx = 0, int measurement_result = 0, double mark1Width = 0, double mark2Width = 0) { this.msg_Index = msg_Index; this.moduleIdx = moduleIdx; this.measurement_result = measurement_result; this.Mark1Width = mark1Width; this.Mark2Width = mark2Width; - this.Mark3Width = mark3Width; - this.Mark4Width = mark4Width; } } diff --git a/SHARP_CLAS_UI/500.Equipment/600.Info/000.Panel_Info/Panel_Info.cs b/SHARP_CLAS_UI/500.Equipment/600.Info/000.Panel_Info/Panel_Info.cs index 284caf7..50b7fa6 100644 --- a/SHARP_CLAS_UI/500.Equipment/600.Info/000.Panel_Info/Panel_Info.cs +++ b/SHARP_CLAS_UI/500.Equipment/600.Info/000.Panel_Info/Panel_Info.cs @@ -72,7 +72,6 @@ public DateTime Start_Time { get; set; } public DateTime End_Time { get; set; } - #endregion #region Construct @@ -131,6 +130,12 @@ info.Mark3Point2 = this.Mark3Point2; info.Mark4Point1 = this.Mark4Point1; info.Mark4Point2 = this.Mark4Point2; + info.WidthMeasurement_Ack = this.WidthMeasurement_Ack; + info.WidthMeasurement_Result = this.WidthMeasurement_Result; + info.Mark1Width = this.Mark1Width; + info.Mark2Width = this.Mark2Width; + info.Mark3Width = this.Mark3Width; + info.Mark4Width = this.Mark4Width; info.Stage_Num = this.Stage_Num; info.Start_Time = this.Start_Time; info.End_Time = this.End_Time; diff --git a/SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs b/SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs index 7c20ed7..3ccf432 100644 --- a/SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs +++ b/SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs @@ -2091,14 +2091,7 @@ { 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; } @@ -2111,14 +2104,7 @@ { 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) { @@ -2314,13 +2300,13 @@ 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; @@ -2334,33 +2320,30 @@ 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; } } @@ -2501,7 +2484,14 @@ 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; } -- Gitblit v1.9.3