| | |
| | | _mainFrame = mainFrame; |
| | | |
| | | elementHost2.Child = _animationEquipment; |
| | | el_CurrentWaferProcess.Child = _waferProcessPointView; |
| | | |
| | | _animationEquipment.AddPortMouseDownEvent(AnimationPortMouseDown); |
| | | _animationEquipment.AddChamberMouseDownEvent(AnimationChamberMouseDown); |
| | |
| | | _waferProcessPointView.PrimaryFlat = recipe.DistanceFromCenterToPrimaryFlat; |
| | | |
| | | tb_RecipeName.Text = recipe.Name; |
| | | tb_RecipeRadius.Text = recipe.Radius.ToString(); |
| | | tb_RecipeDistancePrimaryFlat.Text = recipe.DistanceFromCenterToPrimaryFlat.ToString(); |
| | | tb_RecipeEdgeRound.Text = recipe.EdgeRound.ToString(); |
| | | |
| | | tb_RecipeBeamWidth.Text = recipe.BeamWidth.ToString(); |
| | | tb_RecipeBeamHeight.Text = recipe.BeamHeight.ToString(); |
| | | |
| | | foreach (ProcessInfo processInfo in recipe.ProcessInfoList) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | tb_RecipeWidthOverlap.Text = processInfo.BeamWidthOverlap.ToString(); |
| | | tb_RecipeHeightOverlap.Text = processInfo.BeamHeightOverlap.ToString(); |
| | | tb_RecipeEnergy.Text = processInfo.Energy.ToString(); |
| | | |
| | | _waferProcessPointView.HighlightProcessAreas(processInfoIndex); |
| | |
| | | } |
| | | } |
| | | |
| | | DDDDDDDDDDDDDDDDDDDDD.Text = _mainFrame.equipment.PmcStep.ToString(); |
| | | DDDDDDDD.Text = _mainFrame.equipment.TmcStep.ToString(); |
| | | tb_PmcSequence.Text = _mainFrame.equipment.PmcStep.ToString(); |
| | | tb_TmcSequence.Text = _mainFrame.equipment.TmcStep.ToString(); |
| | | |
| | | _animationEquipment.SetDoor1Status(_mainFrame.equipment.crevis.DigitalInputs[SA_LTT.Module.Crevis.DigitalInput.DOOR_LOCK_OPEN_1]); |
| | | _animationEquipment.SetDoor2Status(_mainFrame.equipment.crevis.DigitalInputs[SA_LTT.Module.Crevis.DigitalInput.DOOR_LOCK_OPEN_2]); |
| | |
| | | |
| | | private void UpdateModuleConnectionInfo() |
| | | { |
| | | //lb_Scanner.BackColor = _mainFrame.equipment.scanner.IsInitialized ? Color.Lime : Color.Red; |
| | | //lb_PreAligner.BackColor = _mainFrame.equipment.preAligner.IsOpen? Color.Lime : Color.Red; |
| | | //lb_Robot.BackColor = _mainFrame.equipment.robot.IsOpen ? Color.Lime : Color.Red; |
| | | //lb_Attenuator.BackColor = _mainFrame.equipment.attenuator.IsOpen ? Color.Lime : Color.Red; |
| | | //lb_TempControler.BackColor = _mainFrame.equipment.tempControl.IsOpen ? Color.Lime : Color.Red; |
| | | //lb_FFU.BackColor = _mainFrame.equipment.ffu.IsOpen ? Color.Lime : Color.Red; |
| | | //lb_PowerPmac.BackColor = _mainFrame.equipment.powerPmac.IsOpen() ? Color.Lime : Color.Red; |
| | | //lb_UvLaser.BackColor = _mainFrame.equipment.piLaser.IsOpen ? Color.Lime : Color.Red; |
| | | //lb_PowerMeter.BackColor = _mainFrame.equipment.powerMeter.IsOpen ? Color.Lime : Color.Red; |
| | | lb_Scanner.BackColor = _mainFrame.equipment.scanner.IsInitialized ? Color.Lime : Color.Red; |
| | | lb_PreAligner.BackColor = _mainFrame.equipment.preAligner.IsOpen? Color.Lime : Color.Red; |
| | | lb_Robot.BackColor = _mainFrame.equipment.robot.IsOpen ? Color.Lime : Color.Red; |
| | | lb_Attenuator.BackColor = _mainFrame.equipment.attenuator.IsOpen ? Color.Lime : Color.Red; |
| | | lb_TempControler.BackColor = _mainFrame.equipment.tempControl.IsOpen ? Color.Lime : Color.Red; |
| | | lb_FFU.BackColor = _mainFrame.equipment.ffu.IsOpen ? Color.Lime : Color.Red; |
| | | lb_PowerPmac.BackColor = _mainFrame.equipment.powerPmac.IsOpen() ? Color.Lime : Color.Red; |
| | | lb_UvLaser.BackColor = _mainFrame.equipment.piLaser.IsOpen ? Color.Lime : Color.Red; |
| | | lb_PowerMeter.BackColor = _mainFrame.equipment.powerMeter.IsOpen ? Color.Lime : Color.Red; |
| | | } |
| | | |
| | | private void UpdateLaserInfo() |
| | | { |
| | | lb_PowerOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.PowerOn ? Color.Lime : Color.Red; |
| | | lb_ShutterEnable.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.ShutterEnabled ? Color.Lime : Color.Red; |
| | | //lb_KeySwitch.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.KeySwitch ? Color.Lime : Color.Red; |
| | | //lb_LDDOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddOn ? Color.Lime : Color.Red; |
| | | //lb_QSWOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.QswOn ? Color.Lime : Color.Red; |
| | | //lb_ShutterInterlock.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.ShutterInterlock ? Color.Lime : Color.Red; |
| | | //lb_LDDInterlock.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddInterlock ? Color.Lime : Color.Red; |
| | | lb_KeySwitch.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.KeySwitch ? Color.Lime : Color.Red; |
| | | lb_LDDOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddOn ? Color.Lime : Color.Red; |
| | | lb_QSWOn.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.QswOn ? Color.Lime : Color.Red; |
| | | lb_ShutterInterlock.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.ShutterInterlock ? Color.Lime : Color.Red; |
| | | lb_LDDInterlock.BackColor = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.CurrentSystemStatus.LddInterlock ? Color.Lime : Color.Red; |
| | | |
| | | lb_LaserOn.BackColor = _mainFrame.equipment.scanner.IsLaserOn ? Color.Lime : Color.Red; |
| | | lb_LaserOff.BackColor = !_mainFrame.equipment.scanner.IsLaserOn ? Color.Lime : Color.Red; |
| | | |
| | | lb_SetCurrent.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.SetCurrent.ToString("F2"); |
| | | lb_ActualCurrent.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.ActualCurrent.ToString("F2"); |
| | | //lb_DiodeVoltage.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.DiodeVoltage.ToString("F2"); |
| | | //lb_MaxCurrent.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.MaxCurrent.ToString("F2"); |
| | | lb_DiodeVoltage.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.DiodeVoltage.ToString("F2"); |
| | | lb_MaxCurrent.Text = _mainFrame.equipment.piLaser.CurrentPiLaserStatus.MaxCurrent.ToString("F2"); |
| | | |
| | | lb_AttenuatorAngle.Text = _mainFrame.equipment.attenuator.Degree.ToString("F3"); |
| | | } |
| | |
| | | Viewer.MessageBoxPad mbp = new Viewer.MessageBoxPad("Process status가 Idle이 아닙니다."); |
| | | mbp.Show(); |
| | | } |
| | | cb_Maint_X.Checked = _mainFrame.equipment.EquipmentMode == EquipmentMode.Teach ? true : false; |
| | | cb_Maint.Checked = _mainFrame.equipment.EquipmentMode == EquipmentMode.Teach ? true : false; |
| | | return; |
| | | } |
| | | |
| | | if (cb_Maint_X.Checked) |
| | | if (cb_Maint.Checked) |
| | | { |
| | | if (_mainFrame.equipment.EquipmentMode == EquipmentMode.Auto && _mainFrame.equipment.ChangeMode(EquipmentMode.Teach)) |
| | | { |
| | | EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} true"); |
| | | |
| | | _mainFrame.maintenanceViewer.Show(); |
| | | cb_Maint_X.Checked = true; |
| | | cb_Maint.Checked = true; |
| | | } |
| | | else |
| | | { |
| | | cb_Maint_X.Checked = false; |
| | | cb_Maint.Checked = false; |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} false"); |
| | | |
| | | cb_Maint_X.Checked = false; |
| | | cb_Maint.Checked = false; |
| | | } |
| | | else |
| | | { |
| | | cb_Maint_X.Checked = true; |
| | | cb_Maint.Checked = true; |
| | | } |
| | | } |
| | | } |
| | |
| | | if(foupRecipeSelectViewer.CurrentFoupRecipe != null) |
| | | { |
| | | _mainFrame.equipment.port1Foup.foupRecipe = foupRecipeSelectViewer.CurrentFoupRecipe.Clone(); |
| | | btn_Port1RecipeSet.Text = _mainFrame.equipment.port1Foup.foupRecipe.Name; |
| | | tb_Port1RecipeName.Text = _mainFrame.equipment.port1Foup.foupRecipe.Name; |
| | | EquipmentLogManager.Instance.WriteButtonLog($"ScreenMain : Port1Recipe Set {_mainFrame.equipment.port1Foup.foupRecipe.Name}"); |
| | | Port1RecipeUpdate(); |
| | | } |
| | |
| | | if (foupRecipeSelectViewer.CurrentFoupRecipe != null) |
| | | { |
| | | _mainFrame.equipment.port2Foup.foupRecipe = foupRecipeSelectViewer.CurrentFoupRecipe.Clone(); |
| | | btn_Port2RecipeSet_x.Text = _mainFrame.equipment.port2Foup.foupRecipe.Name; |
| | | tb_Port2RecipeName.Text = _mainFrame.equipment.port2Foup.foupRecipe.Name; |
| | | EquipmentLogManager.Instance.WriteButtonLog($"ScreenMain : Port2Recipe Set {_mainFrame.equipment.port1Foup.foupRecipe.Name}"); |
| | | Port2RecipeUpdate(); |
| | | } |
| | |
| | | |
| | | private void Port1RecipeUpdate() |
| | | { |
| | | //lv_Port1Recipes.Items.Clear(); |
| | | lv_Port1Recipes.Items.Clear(); |
| | | |
| | | //if (_mainFrame.equipment.port1Foup.foupRecipe != null) |
| | | //{ |
| | | // FoupRecipe originalRecipe = _mainFrame.equipment.foupRecipeManager.GetRecipe(_mainFrame.equipment.port1Foup.foupRecipe.Name); |
| | | if (_mainFrame.equipment.port1Foup.foupRecipe != null) |
| | | { |
| | | FoupRecipe originalRecipe = _mainFrame.equipment.foupRecipeManager.GetRecipe(_mainFrame.equipment.port1Foup.foupRecipe.Name); |
| | | |
| | | // for (int i = 24; i >= 0; i--) |
| | | // { |
| | | // ListViewItem lvi = new ListViewItem($"{i + 1}"); |
| | | for (int i = 24; i >= 0; i--) |
| | | { |
| | | ListViewItem lvi = new ListViewItem($"{i + 1}"); |
| | | |
| | | // if (originalRecipe.RecipeNames[i] == null) |
| | | // { |
| | | // lvi.SubItems.Add("Empty"); |
| | | // } |
| | | // else |
| | | // { |
| | | // lvi.SubItems.Add(originalRecipe.RecipeNames[i]); |
| | | // } |
| | | if (originalRecipe.RecipeNames[i] == null) |
| | | { |
| | | lvi.SubItems.Add("Empty"); |
| | | } |
| | | else |
| | | { |
| | | lvi.SubItems.Add(originalRecipe.RecipeNames[i]); |
| | | } |
| | | |
| | | // lv_Port1Recipes.Items.Add(lvi); |
| | | // } |
| | | //} |
| | | lv_Port1Recipes.Items.Add(lvi); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void Port2RecipeUpdate() |
| | | { |
| | | //lv_Port2Recipes.Items.Clear(); |
| | | lv_Port2Recipes.Items.Clear(); |
| | | |
| | | //if (_mainFrame.equipment.port2Foup.foupRecipe != null) |
| | | //{ |
| | | // FoupRecipe originalRecipe = _mainFrame.equipment.foupRecipeManager.GetRecipe(_mainFrame.equipment.port2Foup.foupRecipe.Name); |
| | | if (_mainFrame.equipment.port2Foup.foupRecipe != null) |
| | | { |
| | | FoupRecipe originalRecipe = _mainFrame.equipment.foupRecipeManager.GetRecipe(_mainFrame.equipment.port2Foup.foupRecipe.Name); |
| | | |
| | | // for (int i = 24; i >= 0; i--) |
| | | // { |
| | | // ListViewItem lvi = new ListViewItem($"{i + 1}"); |
| | | for (int i = 24; i >= 0; i--) |
| | | { |
| | | ListViewItem lvi = new ListViewItem($"{i + 1}"); |
| | | |
| | | // if (originalRecipe.RecipeNames[i] == null) |
| | | // { |
| | | // lvi.SubItems.Add("Empty"); |
| | | // } |
| | | // else |
| | | // { |
| | | // lvi.SubItems.Add(originalRecipe.RecipeNames[i]); |
| | | // } |
| | | if (originalRecipe.RecipeNames[i] == null) |
| | | { |
| | | lvi.SubItems.Add("Empty"); |
| | | } |
| | | else |
| | | { |
| | | lvi.SubItems.Add(originalRecipe.RecipeNames[i]); |
| | | } |
| | | |
| | | // lv_Port2Recipes.Items.Add(lvi); |
| | | // } |
| | | //} |
| | | lv_Port2Recipes.Items.Add(lvi); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void tb_Port1Status_DoubleClick(object sender, EventArgs e) |
| | |
| | | |
| | | private void cb_RunStop_CheckedChanged(object sender, EventArgs e) |
| | | { |
| | | if(cb_RunStop_X.Checked) |
| | | if(cb_RunStop.Checked) |
| | | { |
| | | EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} true"); |
| | | } |
| | |
| | | EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} false"); |
| | | } |
| | | |
| | | _mainFrame.equipment.IsRunStop = cb_RunStop_X.Checked; |
| | | _mainFrame.equipment.IsRunStop = cb_RunStop.Checked; |
| | | } |
| | | |
| | | private void cb_AutoRun_CheckedChanged(object sender, EventArgs e) |
| | | { |
| | | if(cb_AutoRun_X.Checked) |
| | | if(cb_AutoRun.Checked) |
| | | { |
| | | EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} true"); |
| | | } |
| | |
| | | EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} false"); |
| | | } |
| | | |
| | | _mainFrame.equipment.IsAutoRun = cb_AutoRun_X.Checked; |
| | | _mainFrame.equipment.IsAutoRun = cb_AutoRun.Checked; |
| | | } |
| | | |
| | | private void EnergyDropCheckViewShow() |
| | |
| | | _mainFrame.sequenceViewer.WindowState = FormWindowState.Normal; |
| | | _mainFrame.sequenceViewer.TopMost = true; |
| | | _mainFrame.sequenceViewer.TopMost = false; |
| | | } |
| | | |
| | | private void elementHost1_ChildChanged(object sender, System.Windows.Forms.Integration.ChildChangedEventArgs e) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |