From a4300483169869355a8c19fb78144ae59d1a0595 Mon Sep 17 00:00:00 2001
From: 천호석 <hosuk1418@naver.com>
Date: 금, 04 11월 2022 16:29:28 +0900
Subject: [PATCH] Measurement Width error 알람 추가, PREND 보고 오류 제거, S4750_ 에서 무언정지 제거

---
 SHARP_CLAS_UI/500.Equipment/000.Enum/Enum.cs                       |    2 
 SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs |  140 ++++++++++++++++++++++++++--------------------
 SHARP_CLAS_UI/500.Equipment/400.Module/300.CIM/CIM_Client.cs       |    2 
 3 files changed, 82 insertions(+), 62 deletions(-)

diff --git a/SHARP_CLAS_UI/500.Equipment/000.Enum/Enum.cs b/SHARP_CLAS_UI/500.Equipment/000.Enum/Enum.cs
index 4063592..5c5da05 100644
--- a/SHARP_CLAS_UI/500.Equipment/000.Enum/Enum.cs
+++ b/SHARP_CLAS_UI/500.Equipment/000.Enum/Enum.cs
@@ -1921,7 +1921,7 @@
         AL_0885_FINE_ALIGN_RIGHT_ERROR,
         AL_0886_MEASUREMENT_LEFT_ERROR,
         AL_0887_MEASUREMENT_RIGHT_ERROR,
-        AL_0888_,
+        AL_0888_MEASUREMENT_WIDTH_ERROR,
         AL_0889_,
         AL_0890_,
         AL_0891_,
diff --git a/SHARP_CLAS_UI/500.Equipment/400.Module/300.CIM/CIM_Client.cs b/SHARP_CLAS_UI/500.Equipment/400.Module/300.CIM/CIM_Client.cs
index 0fffe55..15a4c31 100644
--- a/SHARP_CLAS_UI/500.Equipment/400.Module/300.CIM/CIM_Client.cs
+++ b/SHARP_CLAS_UI/500.Equipment/400.Module/300.CIM/CIM_Client.cs
@@ -606,7 +606,7 @@
             data_etc += $"{info.Mark7Width:f3}" + ",";
             data_etc += $"{info.Mark8Width:f3}" + ",";
 
-            for (int i = 86; i < 380; i++)
+            for (int i = 102; i < 380; i++)
             {
                 data_etc += $",";
             }
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