d23004
2023-05-24 39c293f35b62a539d069eda4e519282228fcfdf9
SA_LTT_UI/SA_LTT_UI/Screen/ScreenMain.cs
@@ -33,7 +33,6 @@
            _mainFrame = mainFrame;
            elementHost2.Child = _animationEquipment;
            el_CurrentWaferProcess.Child = _waferProcessPointView;
            _animationEquipment.AddPortMouseDownEvent(AnimationPortMouseDown);
            _animationEquipment.AddChamberMouseDownEvent(AnimationChamberMouseDown);
@@ -63,12 +62,6 @@
                _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)
                {
@@ -87,8 +80,6 @@
            }
            else
            {
                tb_RecipeWidthOverlap.Text = processInfo.BeamWidthOverlap.ToString();
                tb_RecipeHeightOverlap.Text = processInfo.BeamHeightOverlap.ToString();
                tb_RecipeEnergy.Text = processInfo.Energy.ToString();
                _waferProcessPointView.HighlightProcessAreas(processInfoIndex);
@@ -139,8 +130,8 @@
                    }
                }
                tb_PmcSequence.Text = _mainFrame.equipment.PmcStep.ToString();
                tb_TmcSequence.Text = _mainFrame.equipment.TmcStep.ToString();
                DDDDDDDDDDDDDDDDDDDDD.Text = _mainFrame.equipment.PmcStep.ToString();
                DDDDDDDD.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]);
@@ -187,34 +178,34 @@
        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");
        }
@@ -390,22 +381,22 @@
                    Viewer.MessageBoxPad mbp = new Viewer.MessageBoxPad("Process status가 Idle이 아닙니다.");
                    mbp.Show();
                }
                cb_Maint.Checked = _mainFrame.equipment.EquipmentMode == EquipmentMode.Teach ? true : false;
                cb_Maint_X.Checked = _mainFrame.equipment.EquipmentMode == EquipmentMode.Teach ? true : false;
                return;
            }
            if (cb_Maint.Checked)
            if (cb_Maint_X.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.Checked = true;
                    cb_Maint_X.Checked = true;
                }
                else
                {
                    cb_Maint.Checked = false;
                    cb_Maint_X.Checked = false;
                }
            }
            else
@@ -414,11 +405,11 @@
                {
                    EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} false");
                    cb_Maint.Checked = false;
                    cb_Maint_X.Checked = false;
                }
                else
                {
                    cb_Maint.Checked = true;
                    cb_Maint_X.Checked = true;
                }
            }
        }
@@ -432,7 +423,7 @@
                if(foupRecipeSelectViewer.CurrentFoupRecipe != null)
                {
                    _mainFrame.equipment.port1Foup.foupRecipe = foupRecipeSelectViewer.CurrentFoupRecipe.Clone();
                    tb_Port1RecipeName.Text = _mainFrame.equipment.port1Foup.foupRecipe.Name;
                    btn_Port1RecipeSet.Text = _mainFrame.equipment.port1Foup.foupRecipe.Name;
                    EquipmentLogManager.Instance.WriteButtonLog($"ScreenMain : Port1Recipe Set {_mainFrame.equipment.port1Foup.foupRecipe.Name}");
                    Port1RecipeUpdate();
                }
@@ -448,7 +439,7 @@
                if (foupRecipeSelectViewer.CurrentFoupRecipe != null)
                {
                    _mainFrame.equipment.port2Foup.foupRecipe = foupRecipeSelectViewer.CurrentFoupRecipe.Clone();
                    tb_Port2RecipeName.Text = _mainFrame.equipment.port2Foup.foupRecipe.Name;
                    btn_Port2RecipeSet_x.Text = _mainFrame.equipment.port2Foup.foupRecipe.Name;
                    EquipmentLogManager.Instance.WriteButtonLog($"ScreenMain : Port2Recipe Set {_mainFrame.equipment.port1Foup.foupRecipe.Name}");
                    Port2RecipeUpdate();
                }
@@ -457,54 +448,54 @@
        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)
@@ -539,7 +530,7 @@
        private void cb_RunStop_CheckedChanged(object sender, EventArgs e)
        {
            if(cb_RunStop.Checked)
            if(cb_RunStop_X.Checked)
            {
                EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} true");
            }
@@ -548,12 +539,12 @@
                EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} false");
            }
            _mainFrame.equipment.IsRunStop = cb_RunStop.Checked;
            _mainFrame.equipment.IsRunStop = cb_RunStop_X.Checked;
        }
        private void cb_AutoRun_CheckedChanged(object sender, EventArgs e)
        {
            if(cb_AutoRun.Checked)
            if(cb_AutoRun_X.Checked)
            {
                EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} true");
            }
@@ -562,7 +553,7 @@
                EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text} false");
            }
            _mainFrame.equipment.IsAutoRun = cb_AutoRun.Checked;
            _mainFrame.equipment.IsAutoRun = cb_AutoRun_X.Checked;
        }
        private void EnergyDropCheckViewShow()
@@ -620,5 +611,10 @@
            _mainFrame.sequenceViewer.TopMost = true;
            _mainFrame.sequenceViewer.TopMost = false;
        }
        private void elementHost1_ChildChanged(object sender, System.Windows.Forms.Integration.ChildChangedEventArgs e)
        {
        }
    }
}