From 217577e6cb9262757f709de89d97582a1fe1e5e5 Mon Sep 17 00:00:00 2001
From: 천호석 <hosuk1418@naver.com>
Date: 금, 16 12월 2022 08:37:38 +0900
Subject: [PATCH] 1. Laser on Interlock에 Power meter 위치 추가 2. Auto power 측정중 pause시 자동 종료 추가.

---
 SHARP_CLAS_UI/500.Equipment/700.Unit/200.Process/Ablation.cs  |   34 +++++++++++++++++++++++++++++++++-
 SHARP_CLAS_UI/500.Equipment/700.Unit/Base/AblationUnit.cs     |    2 ++
 SHARP_CLAS_UI/500.Equipment/400.Module/200.Scanner/Scanner.cs |    1 +
 3 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/SHARP_CLAS_UI/500.Equipment/400.Module/200.Scanner/Scanner.cs b/SHARP_CLAS_UI/500.Equipment/400.Module/200.Scanner/Scanner.cs
index fe58a8b..14f048f 100644
--- a/SHARP_CLAS_UI/500.Equipment/400.Module/200.Scanner/Scanner.cs
+++ b/SHARP_CLAS_UI/500.Equipment/400.Module/200.Scanner/Scanner.cs
@@ -187,6 +187,7 @@
                     isInPosition |= (scannerA2Position - 10 <= scannerPosition && scannerPosition <= scannerA2Position + 10) && (stageA2Position - 10 <= stageAPosition && stageAPosition <= stageA2Position + 10);
                     isInPosition |= (scannerB1Position - 10 <= scannerPosition && scannerPosition <= scannerB1Position + 10) && (stageB1Position - 10 <= stageBPosition && stageBPosition <= stageB1Position + 10);
                     isInPosition |= (scannerB2Position - 10 <= scannerPosition && scannerPosition <= scannerB2Position + 10) && (stageB2Position - 10 <= stageBPosition && stageBPosition <= stageB2Position + 10);
+                    isInPosition |= _equip.process.ablation.Get_Is_Position_X_Power_Meter() && _equip.process.ablation.Get_Is_Position_Z_Power_Meter();
                 }
                 else
                 {
diff --git a/SHARP_CLAS_UI/500.Equipment/700.Unit/200.Process/Ablation.cs b/SHARP_CLAS_UI/500.Equipment/700.Unit/200.Process/Ablation.cs
index fa86391..a9d0c1b 100644
--- a/SHARP_CLAS_UI/500.Equipment/700.Unit/200.Process/Ablation.cs
+++ b/SHARP_CLAS_UI/500.Equipment/700.Unit/200.Process/Ablation.cs
@@ -127,7 +127,12 @@
             pauseDisableList.Add(AblationSteps.S5460_POWER_MEASUREMENT_END);
             pauseDisableList.Add(AblationSteps.S5470_LASER_OFF);
             pauseDisableList.Add(AblationSteps.S5480_LASER_OFF_CHECK);
+
+            pauseDisableList.Add(AblationSteps.S6000_MOVE_STAY_POSITION);
+            pauseDisableList.Add(AblationSteps.S6010_LASER_OFF);
+            pauseDisableList.Add(AblationSteps.S6020_LASER_OFF_CHECK);
             pauseDisableList.Add(AblationSteps.S6100_MOVE_WAIT);
+            pauseDisableList.Add(AblationSteps.S5999_AUTO_POWER_END);
 
             MotorX.Check_Jog_Interlock = Jog_Interlock_MotorX;
             MotorX.Check_Move_Interlock = Move_Interlock_MotorX;
@@ -294,6 +299,12 @@
                 {
                     if (pauseDisableList.Contains(Step) == false)
                     {
+                        if(Is_Power_Measure)
+                        {
+                            Step = AblationSteps.S6000_MOVE_STAY_POSITION;
+                            return;
+                        }
+
                         UnitMode = En_Equipment_Mode.Pause;
                         return;
                     }
@@ -1851,7 +1862,28 @@
 
                         if (MotorZ.Move_Absolute_Pos(position, 500))
                         {
+                            Step = AblationSteps.S6010_LASER_OFF;
+                        }
+                        break;
+                    }
+                case AblationSteps.S6010_LASER_OFF:
+                    {
+                        if (equipment.scanner.Set_Laser_Off())
+                        {
+                            Step = AblationSteps.S6020_LASER_OFF_CHECK;
+                        }
+                        break;
+                    }
+                case AblationSteps.S6020_LASER_OFF_CHECK:
+                    {
+                        if (!equipment.sm.Get_Bit(Input_Memory_Address.Laser_Active))
+                        {
+                            auto_power_view.Add_Info($"Lsaer Off");
                             Step = AblationSteps.S6100_MOVE_WAIT;
+                        }
+                        else
+                        {
+                            Step = AblationSteps.S6010_LASER_OFF;
                         }
                         break;
                     }
@@ -1874,7 +1906,7 @@
                         break;
                     }
                 case AblationSteps.S5999_AUTO_POWER_END:
-                    {                                                                                                                                                                                                      
+                    {
                         Parameter_Power parameter = equipment.Power_Parameter.Clone();
                         parameter.Measure_Date = DateTime.Now;
                         Parameter_Power_Manager.Instance.Save_Parameter_Power(parameter);
diff --git a/SHARP_CLAS_UI/500.Equipment/700.Unit/Base/AblationUnit.cs b/SHARP_CLAS_UI/500.Equipment/700.Unit/Base/AblationUnit.cs
index f08f59d..1674fdc 100644
--- a/SHARP_CLAS_UI/500.Equipment/700.Unit/Base/AblationUnit.cs
+++ b/SHARP_CLAS_UI/500.Equipment/700.Unit/Base/AblationUnit.cs
@@ -97,6 +97,8 @@
         S5490_ENERGEY_CHECK,
         S5510_RECIPE_POWER_CHANGE,
         S6000_MOVE_STAY_POSITION,
+        S6010_LASER_OFF, //鍮꾩긽�젙吏��떆 �씠�룞
+        S6020_LASER_OFF_CHECK, //鍮꾩긽�젙吏��떆 �씠�룞
         S6100_MOVE_WAIT,
         S5999_AUTO_POWER_END,
     }

--
Gitblit v1.9.3