SHARP_CLAS_UI/000.MainFrame/Form_Frame.cs | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
SHARP_CLAS_UI/500.Equipment/400.Module/200.Scanner/Scanner.cs | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
SHARP_CLAS_UI/500.Equipment/700.Unit/200.Process/Ablation.cs | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
SHARP_CLAS_UI/500.Equipment/Equipment.cs | ●●●●● 패치 | 보기 | raw | blame | 히스토리 |
SHARP_CLAS_UI/000.MainFrame/Form_Frame.cs
@@ -649,6 +649,17 @@ tb_Main_Recipe_Name.Text = _equip.Cur_Main_Recipe.Name; else tb_Main_Recipe_Name.Text = "Not Selected"; if(_equip.process.ablation.Is_Power_Measure && _equip.User.Level < En_User_Level.Master) { pnl_Main.Enabled = false; pnl_Bottom.Enabled = false; } else { pnl_Main.Enabled = true; pnl_Bottom.Enabled = true; } } catch(Exception ) { 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) SHARP_CLAS_UI/500.Equipment/700.Unit/200.Process/Ablation.cs
@@ -1442,10 +1442,20 @@ } case AblationSteps.S5320_LASER_ON: { if (equipment.scanner.Set_Laser_On()) if (equipment.process.ablation.MotorX.MotionComplete && equipment.process.ablation.MotorZ.MotionComplete) { auto_power_view.Add_Info($"Laser On."); Step = AblationSteps.S5330_LASER_ON_CHECK; if (equipment.process.ablation.Get_Is_Position_X_Power_Meter() && equipment.process.ablation.Get_Is_Position_Z_Power_Meter()) { if (equipment.scanner.Set_Laser_On()) { auto_power_view.Add_Info($"Laser On."); Step = AblationSteps.S5330_LASER_ON_CHECK; } } else { Step = AblationSteps.S0000_WAIT; } } break; } @@ -1587,9 +1597,20 @@ } case AblationSteps.S5420_LASER_ON: { if (equipment.scanner.Set_Laser_On()) if (equipment.process.ablation.MotorX.MotionComplete && equipment.process.ablation.MotorZ.MotionComplete) { Step = AblationSteps.S5430_LASER_ON_CHECK; if (equipment.process.ablation.Get_Is_Position_X_Power_Meter() && equipment.process.ablation.Get_Is_Position_Z_Power_Meter()) { if (equipment.scanner.Set_Laser_On()) { auto_power_view.Add_Info($"Laser On."); Step = AblationSteps.S5430_LASER_ON_CHECK; } } else { Step = AblationSteps.S0000_WAIT; } } break; } SHARP_CLAS_UI/500.Equipment/Equipment.cs
@@ -1006,16 +1006,55 @@ } else { if (process.ablation.Get_Is_Position_X_Power_Meter() && process.ablation.Get_Is_Position_Z_Power_Meter()) } } // Laser On Interlock // Power meter 위치 or 가공 위치가 아닐 때 Laser on시 Laser off 진행 후 Interlock. if (Cur_Main_Recipe != null && Cur_Main_Recipe.process_info != null && Cur_Main_Recipe.panel_type_info != null) { double scannerA1Position = Cur_Main_Recipe.process_info.Scanner_X_A1 + Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_A1; double scannerA2Position = Cur_Main_Recipe.process_info.Scanner_X_A2 + Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_A2; double scannerB1Position = Cur_Main_Recipe.process_info.Scanner_X_B1 + Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_B1; double scannerB2Position = Cur_Main_Recipe.process_info.Scanner_X_B2 + Cur_Main_Recipe.panel_type_info.Scanner_Offset_X_B2; object value; sm.Get_Value(Position_Parameter_Address.Scanner_X_Power_Meter_Position, out value); double scannerPosition = double.Parse($"{value}"); bool isInPosition = false; 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 |= process.ablation.Get_Is_Position_X_Power_Meter() && process.ablation.Get_Is_Position_Z_Power_Meter(); if(isInPosition == false) { if (sm.Get_Bit(Input_Memory_Address.Laser_Active)) { if (sm.Get_Bit(Input_Memory_Address.Laser_Active)) { scanner.Set_Laser_Off(); Interlock_Manager.Add_Interlock_Msg("Laser can't on.", "Please move power meter position."); } scanner.Set_Laser_Off(); Interlock_Manager.Add_Interlock_Msg("Laser can't on.", "Please move power meter position."); } } } else { bool isInPosition = false; isInPosition |= process.ablation.Get_Is_Position_X_Power_Meter() && process.ablation.Get_Is_Position_Z_Power_Meter(); if (isInPosition == false) { if (sm.Get_Bit(Input_Memory_Address.Laser_Active)) { scanner.Set_Laser_Off(); Interlock_Manager.Add_Interlock_Msg("Laser can't on.", "Please move power meter position."); } } } } catch(Exception e) {