From f0839d9fdd9dc74eef0eafc5562fabf9d7259f08 Mon Sep 17 00:00:00 2001
From: 천호석 <hosuk1418@naver.com>
Date: 수, 14 12월 2022 17:46:40 +0900
Subject: [PATCH] 1. Laser on 시 Stage position도 같이 확인 하도록 변경. 2. Auto power 측정, Manual power 측정  전후  Scanner Z 축 대기 위치 이동 하도록 수정 3. 프로그램 종료 시 Laser off 하도록 수정. 종료 대기시간 5sec

---
 SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs |  140 ++++++++++++++++++++++++++--------------------
 1 files changed, 80 insertions(+), 60 deletions(-)

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 ffc0a8f..05eaf5b 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
@@ -2291,49 +2291,63 @@
                         {
                             if (aoistage.Stage1.IsExist && info1.WidthMeasurement_Ack == false)
                             {
-                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Result))
+                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Ack))
                                 {
-                                    info1.WidthMeasurement_Ack = true;
-                                    info1.WidthMeasurement_Result = true;
+                                    if (equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Result))
+                                    {
+                                        info1.WidthMeasurement_Ack = true;
+                                        info1.WidthMeasurement_Result = true;
 
-                                    info1.End_Time = DateTime.Now;
+                                        info1.End_Time = DateTime.Now;
 
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, out value);
-                                    info1.Mark1Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, out value);
-                                    info1.Mark2Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value);
-                                    info1.Mark3Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value);
-                                    info1.Mark4Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, out value);
+                                        info1.Mark1Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, out value);
+                                        info1.Mark2Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value);
+                                        info1.Mark3Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value);
+                                        info1.Mark4Width = double.Parse(value.ToString());
 
-                                    aoistage.Panel1 = info1;
+                                        aoistage.Panel1 = info1;
 
-                                    isAoiPanel1WidthMeasurementAck = aoiStage.Stage1.IsExist == false || aoiStage.Panel1.WidthMeasurement_Ack;
+                                        isAoiPanel1WidthMeasurementAck = aoiStage.Stage1.IsExist == false || aoiStage.Panel1.WidthMeasurement_Ack;
+                                    }
+                                }
+                                else
+                                {
+                                    return;
                                 }
                             }
 
                             if (aoistage.Stage2.IsExist && info2.WidthMeasurement_Ack == false)
                             {
-                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Result))
+                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Ack))
                                 {
-                                    info2.WidthMeasurement_Ack = true;
-                                    info2.WidthMeasurement_Result = true;
+                                    if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Result))
+                                    {
+                                        info2.WidthMeasurement_Ack = true;
+                                        info2.WidthMeasurement_Result = true;
 
-                                    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.Mark3Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value);
-                                    info2.Mark4Width = double.Parse(value.ToString());
+                                        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.Mark3Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value);
+                                        info2.Mark4Width = double.Parse(value.ToString());
 
-                                    aoistage.Panel2 = info2;
+                                        aoistage.Panel2 = info2;
 
-                                    isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Ack;
+                                        isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Ack;
+                                    }
+                                }
+                                else
+                                {
+                                    return;
                                 }
                             }
 
@@ -2417,12 +2431,12 @@
 
                         if (aoistage.Stage1.IsExist && info1.WidthMeasurement_Ack == false)
                         {
-                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0886_MEASUREMENT_LEFT_ERROR);
+                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0888_MEASUREMENT_WIDTH_ERROR);
                         }
 
                         if (aoistage.Stage2.IsExist && info2.WidthMeasurement_Ack == false)
                         {
-                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0887_MEASUREMENT_RIGHT_ERROR);
+                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0888_MEASUREMENT_WIDTH_ERROR);
                         }
 
                         measurement_user_command = new Form_User_Command_Set("Width Measurement");
@@ -2926,25 +2940,28 @@
                         {
                             if (aoistage.Stage1.IsExist && info1.WidthMeasurement_Ack == false)
                             {
-                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Result))
+                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Ack))
                                 {
-                                    info1.WidthMeasurement_Ack = true;
-                                    info1.WidthMeasurement_Result = true;
+                                    if (equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Result))
+                                    {
+                                        info1.WidthMeasurement_Ack = true;
+                                        info1.WidthMeasurement_Result = true;
 
-                                    info1.End_Time = DateTime.Now;
+                                        info1.End_Time = DateTime.Now;
 
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, out value);
-                                    info1.Mark5Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, out value);
-                                    info1.Mark6Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value);
-                                    info1.Mark7Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value);
-                                    info1.Mark8Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, out value);
+                                        info1.Mark5Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, out value);
+                                        info1.Mark6Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value);
+                                        info1.Mark7Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value);
+                                        info1.Mark8Width = double.Parse(value.ToString());
 
-                                    aoistage.Panel1 = info1;
+                                        aoistage.Panel1 = info1;
 
-                                    isAoiPanel1WidthMeasurementAck = aoiStage.Stage1.IsExist == false || aoiStage.Panel1.WidthMeasurement_Result;
+                                        isAoiPanel1WidthMeasurementAck = aoiStage.Stage1.IsExist == false || aoiStage.Panel1.WidthMeasurement_Result;
+                                    }
                                 }
                                 else
                                 {
@@ -2954,25 +2971,28 @@
 
                             if (aoistage.Stage2.IsExist && info2.WidthMeasurement_Ack == false)
                             {
-                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Result))
+                                if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Ack))
                                 {
-                                    info2.WidthMeasurement_Ack = true;
-                                    info2.WidthMeasurement_Result = true;
+                                    if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Result))
+                                    {
+                                        info2.WidthMeasurement_Ack = true;
+                                        info2.WidthMeasurement_Result = true;
 
-                                    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.Mark5Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, out value);
-                                    info2.Mark6Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, out value);
-                                    info2.Mark7Width = double.Parse(value.ToString());
-                                    equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value);
-                                    info2.Mark8Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_1_Point_1, out value);
+                                        info2.Mark5Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, out value);
+                                        info2.Mark6Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, out value);
+                                        info2.Mark7Width = double.Parse(value.ToString());
+                                        equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value);
+                                        info2.Mark8Width = double.Parse(value.ToString());
 
-                                    aoistage.Panel2 = info2;
+                                        aoistage.Panel2 = info2;
 
-                                    isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Result;
+                                        isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Result;
+                                    }
                                 }
                                 else
                                 {
@@ -3045,12 +3065,12 @@
 
                         if (aoistage.Stage1.IsExist && info1.WidthMeasurement_Ack == false)
                         {
-                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0886_MEASUREMENT_LEFT_ERROR);
+                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0888_MEASUREMENT_WIDTH_ERROR);
                         }
 
                         if (aoistage.Stage2.IsExist && info2.WidthMeasurement_Ack == false)
                         {
-                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0887_MEASUREMENT_RIGHT_ERROR);
+                            Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0888_MEASUREMENT_WIDTH_ERROR);
                         }
 
                         measurement_user_command = new Form_User_Command_Set("Width Measurement");

--
Gitblit v1.9.3