From 183f2b92b7d5058a8f0d289826d7698b542038fe Mon Sep 17 00:00:00 2001
From: 천호석 <hosuk1418@naver.com>
Date: 화, 06 12월 2022 13:52:12 +0900
Subject: [PATCH] Power 측정 중에는 모든 버튼 진입 금지 Master(DIT) Mode 제외.

---
 SHARP_CLAS_UI/500.Equipment/400.Module/200.Scanner/Scanner.cs |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 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 7269985..ad7ffdf 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
@@ -161,9 +161,38 @@
             {
                 if (!IsInitialize) return false;
 
-                RTC4Wrap.laser_signal_on();
+                bool isInPosition = false;
+                if (_equip.Cur_Main_Recipe != null && _equip.Cur_Main_Recipe.process_info != null && _equip.Cur_Main_Recipe.panel_type_info != null)
+                {
+                    double scannerA1Position = _equip.Cur_Main_Recipe.process_info.Scanner_X_A1 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_A1;
+                    double scannerA2Position = _equip.Cur_Main_Recipe.process_info.Scanner_X_A2 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_A2;
+                    double scannerB1Position = _equip.Cur_Main_Recipe.process_info.Scanner_X_B1 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_B1;
+                    double scannerB2Position = _equip.Cur_Main_Recipe.process_info.Scanner_X_B2 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_B2;
 
-                _equip.Write_Scanner_Log("Laser On Success");
+                    object value;
+                    _equip.sm.Get_Value(Position_Parameter_Address.Scanner_X_Power_Meter_Position, out value);
+                    double scannerPosition = double.Parse($"{value}");
+
+
+                    isInPosition |= scannerA1Position - 10 <= scannerPosition && scannerPosition <= scannerA1Position + 10;
+                    isInPosition |= scannerA2Position - 10 <= scannerPosition && scannerPosition <= scannerA2Position + 10;
+                    isInPosition |= scannerB1Position - 10 <= scannerPosition && scannerPosition <= scannerB1Position + 10;
+                    isInPosition |= scannerB2Position - 10 <= scannerPosition && scannerPosition <= scannerB2Position + 10;
+                }
+
+                isInPosition |= _equip.process.ablation.Get_Is_Position_X_Power_Meter() && _equip.process.ablation.Get_Is_Position_Z_Power_Meter();
+
+                if (isInPosition)
+                {
+                    RTC4Wrap.laser_signal_on();
+                    _equip.Write_Scanner_Log("Laser On Success");
+                }
+                else
+                {
+                    _equip.Write_Scanner_Log("Laser On fail, not enable position");
+                    return false;
+                }
+
                 return true;
             }
             catch (Exception ex)

--
Gitblit v1.9.3