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/400.Module/200.Scanner/Scanner.cs | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 43 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..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 @@ -161,9 +161,50 @@ { 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"); + double stageA1Position = _equip.Cur_Main_Recipe.process_info.Scanner_Y_A1 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_Y_A1; + double stageA2Position = _equip.Cur_Main_Recipe.process_info.Scanner_Y_A2 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_Y_A2; + double stageB1Position = _equip.Cur_Main_Recipe.process_info.Scanner_Y_B1 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_Y_B1; + double stageB2Position = _equip.Cur_Main_Recipe.process_info.Scanner_Y_B2 + _equip.Cur_Main_Recipe.panel_type_info.Scanner_Offset_Y_B2; + + object value; + _equip.sm.Get_Value(RS_Automation_Motor_Address.Ablation_X_Actual_Position, out value); + double scannerPosition = double.Parse($"{value}"); + + _equip.sm.Get_Value(RS_Automation_Motor_Address.Ablation_Y_1_Actual_Position, out value); + double stageAPosition = double.Parse($"{value}"); + _equip.sm.Get_Value(RS_Automation_Motor_Address.Ablation_Y_2_Actual_Position, out value); + double stageBPosition = double.Parse($"{value}"); + + isInPosition |= (scannerA1Position - 10 <= scannerPosition && scannerPosition <= scannerA1Position + 10) && (stageA1Position - 10 <= stageAPosition && stageAPosition <= stageA1Position + 10); + 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 + { + 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