コード例 #1
0
ファイル: frmSemiAUto.cs プロジェクト: phjungDiones/merge
        private void btnPickup_Click(object sender, EventArgs e)
        {
            if (!ShowDialog())
            {
                return;
            }
            if (cbUnitSel.SelectedIndex < 0 || m_nSelectSource < 0)
            {
                return;
            }

            bool       bFail = false;
            ManualUnit Unit  = (ManualUnit)m_nSelectSource;
            HAND       arm   = HAND.LOWER;

            if (cbArmSel.SelectedIndex == 0)
            {
                arm = HAND.LOWER;
            }
            else
            {
                arm = HAND.UPPER;
            }

            ManualRun.MANUAL_SEQ Manul_Seq = ManualRun.MANUAL_SEQ.NONE;

            switch (cbUnitSel.SelectedIndex)
            {
            case 0:
                //FM Robot
                GlobalVariable.manualInfo.SelArmFM    = arm;
                GlobalVariable.manualInfo.nSlotSource = Convert.ToInt32(cbSlotSource.Text);
                switch (Unit)
                {
                case ManualUnit.LPMA:
                    GlobalVariable.manualInfo.mnlStageFM = FMStage.LPMA;
                    Manul_Seq = ManualRun.MANUAL_SEQ.FMRobot_Pickup_LPM;
                    break;

                case ManualUnit.LPMB:
                    GlobalVariable.manualInfo.mnlStageFM = FMStage.LPMB;
                    Manul_Seq = ManualRun.MANUAL_SEQ.FMRobot_Pickup_LPM;
                    break;

                case ManualUnit.LPMC:
                    GlobalVariable.manualInfo.mnlStageFM = FMStage.LPMC;
                    Manul_Seq = ManualRun.MANUAL_SEQ.FMRobot_Pickup_LPM;
                    break;

                case ManualUnit.LPMD:
                    GlobalVariable.manualInfo.mnlStageFM = FMStage.LPMD;
                    Manul_Seq = ManualRun.MANUAL_SEQ.FMRobot_Pickup_LPM;
                    break;

                case ManualUnit.CP1:
                    GlobalVariable.manualInfo.mnlStageFM = FMStage.CP1;
                    Manul_Seq = ManualRun.MANUAL_SEQ.FMRobot_Pickup_Buffer;
                    break;

                case ManualUnit.CP2:
                    GlobalVariable.manualInfo.mnlStageFM = FMStage.CP2;
                    Manul_Seq = ManualRun.MANUAL_SEQ.FMRobot_Pickup_Buffer;
                    break;

                case ManualUnit.CP3:
                    GlobalVariable.manualInfo.mnlStageFM = FMStage.CP3;
                    Manul_Seq = ManualRun.MANUAL_SEQ.FMRobot_Pickup_Buffer;
                    break;

                default:
                    bFail = true;
                    break;
                }
                break;

            case 1:
                //ATM Robot
                GlobalVariable.manualInfo.SelArmATM   = arm;
                GlobalVariable.manualInfo.nSlotSource = Convert.ToInt32(cbSlotSource.Text);
                switch (Unit)
                {
                case ManualUnit.AL:
                    GlobalVariable.manualInfo.mnlStageATM = AtmStage.ALIGN;
                    Manul_Seq = ManualRun.MANUAL_SEQ.ATMRobot_Pickup_Buffer;
                    break;

                case ManualUnit.HP:
                    GlobalVariable.manualInfo.mnlStageATM = AtmStage.HP;
                    Manul_Seq = ManualRun.MANUAL_SEQ.ATMRobot_Pickup_Buffer;
                    break;

                case ManualUnit.LAMI:
                    GlobalVariable.manualInfo.mnlStageATM = AtmStage.LAMI_ULD;
                    Manul_Seq = ManualRun.MANUAL_SEQ.ATMRobot_Unload_Lami;
                    break;

                case ManualUnit.LL_BD:
                    GlobalVariable.manualInfo.mnlStageATM = AtmStage.BD;
                    Manul_Seq = ManualRun.MANUAL_SEQ.ATMRobot_Place_Loadlock;
                    break;

                default:
                    bFail = true;
                    break;
                }
                break;

            case 2:
                //VTM Robot
                GlobalVariable.manualInfo.SelArmVTM   = arm;
                GlobalVariable.manualInfo.nSlotSource = Convert.ToInt32(cbSlotSource.Text);
                switch (Unit)
                {
                case ManualUnit.LL1_DIV:
                    GlobalVariable.manualInfo.mnlStageVTM = VtmStage.LL;
                    Manul_Seq = ManualRun.MANUAL_SEQ.VTMRobot_Pickup_Loadlock;
                    break;

                case ManualUnit.LL2_CARR:
                    GlobalVariable.manualInfo.mnlStageVTM = VtmStage.LL;
                    Manul_Seq = ManualRun.MANUAL_SEQ.VTMRobot_Pickup_Loadlock;
                    break;

                case ManualUnit.PMC:
                    GlobalVariable.manualInfo.mnlStageVTM = VtmStage.PMC1_ULD;
                    Manul_Seq = ManualRun.MANUAL_SEQ.VTMRobot_Unload_PMC;
                    break;

                default:
                    bFail = true;
                    break;
                }
                break;

            default:
                bFail = true;
                break;

                //매뉴얼 동작 스타트
                GlobalSeq.manualRun.StartManualSeq(Manul_Seq);
            }
        }
コード例 #2
0
ファイル: frmSemiAUto.cs プロジェクト: phjungDiones/merge
        private void chkSource_0_CheckedChanged(object sender, EventArgs e)
        {
            //Source Check Box
            string[] res    = ((CheckBox)sender).Name.ToString().Split('_');
            int      nIndex = Convert.ToInt32(res[1]); //Index Parse

            m_nSelectSource = nIndex;                  //작업 할 유닛 인덱스

            CheckBox[] ChbSource = new CheckBox[(int)ManualUnit.MAX];
            CheckBox   fndSource;

            CheckBox[] ChbDest = new CheckBox[(int)ManualUnit.MAX];
            CheckBox   fndDest;

            for (int i = 0; i < ChbSource.Length; i++)
            {
                //체크박스 배열 처리
                fndSource = this.Controls.Find("chkSource_" + i.ToString(), true).FirstOrDefault() as CheckBox;
                if (fndSource != null)
                {
                    ChbSource[i]           = fndSource;
                    ChbSource[i].BackColor = (ChbSource[i].Enabled == true) ?  Color.White :  Color.Silver;
                }
            }
            lbSourceName.Text           = ChbSource[nIndex].Text;
            ChbSource[nIndex].BackColor = Color.Aqua;

            //Dest
            for (int i = 0; i < ChbDest.Length; i++)
            {
                //체크박스 배열 처리
                fndDest = this.Controls.Find("chkDest_" + i.ToString(), true).FirstOrDefault() as CheckBox;
                if (fndDest != null)
                {
                    ChbDest[i]           = fndDest;
                    ChbDest[i].Enabled   = false;
                    ChbDest[i].BackColor = Color.Silver;
                    //ChbDest[i].BackColor = (ChbDest[i].Enabled == true) ? Color.White : Color.Silver;
                }
            }

            //
            ManualUnit Unit = (ManualUnit)nIndex;  //현재 선택한 유닛

            switch (cbUnitSel.SelectedIndex)
            {
            case 0:
                //FM Robot
                switch (Unit)
                {
                case ManualUnit.LPMA:
                case ManualUnit.LPMB:
                case ManualUnit.LPMC:
                case ManualUnit.LPMD:
                    ChbDest[(int)ManualUnit.AL].Enabled   = true;
                    ChbDest[(int)ManualUnit.AL].BackColor = Color.White;
                    break;

                case ManualUnit.CP1:
                case ManualUnit.CP2:
                case ManualUnit.CP3:
                    ChbDest[(int)ManualUnit.LPMA].Enabled   = true;
                    ChbDest[(int)ManualUnit.LPMB].Enabled   = true;
                    ChbDest[(int)ManualUnit.LPMC].Enabled   = true;
                    ChbDest[(int)ManualUnit.LPMD].Enabled   = true;
                    ChbDest[(int)ManualUnit.LPMA].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.LPMB].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.LPMC].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.LPMD].BackColor = Color.White;
                    break;

                default:
                    break;
                }
                break;

            case 1:
                //ATM Robot
                switch (Unit)
                {
                case ManualUnit.AL:
                    ChbDest[(int)ManualUnit.LAMI].Enabled     = true;
                    ChbDest[(int)ManualUnit.LL1_DIV].Enabled  = true;
                    ChbDest[(int)ManualUnit.LL2_CARR].Enabled = true;

                    ChbDest[(int)ManualUnit.LAMI].BackColor     = Color.White;
                    ChbDest[(int)ManualUnit.LL1_DIV].BackColor  = Color.White;
                    ChbDest[(int)ManualUnit.LL2_CARR].BackColor = Color.White;
                    break;

                case ManualUnit.LAMI:
                    ChbDest[(int)ManualUnit.LL2_CARR].Enabled = true;
                    //CP, HP는 매뉴얼 경우만 사용
                    ChbDest[(int)ManualUnit.CP1].Enabled = true;
                    ChbDest[(int)ManualUnit.CP2].Enabled = true;
                    ChbDest[(int)ManualUnit.CP3].Enabled = true;
                    ChbDest[(int)ManualUnit.HP].Enabled  = true;

                    ChbDest[(int)ManualUnit.LL2_CARR].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.CP1].BackColor      = Color.White;
                    ChbDest[(int)ManualUnit.CP2].BackColor      = Color.White;
                    ChbDest[(int)ManualUnit.CP3].BackColor      = Color.White;
                    ChbDest[(int)ManualUnit.HP].BackColor       = Color.White;
                    break;

                case ManualUnit.HP:
                    ChbDest[(int)ManualUnit.CP1].Enabled = true;
                    ChbDest[(int)ManualUnit.CP2].Enabled = true;
                    ChbDest[(int)ManualUnit.CP3].Enabled = true;

                    ChbDest[(int)ManualUnit.CP1].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.CP2].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.CP3].BackColor = Color.White;
                    break;

                case ManualUnit.LL_BD:
                    //CP, HP는 매뉴얼 경우만 사용
                    ChbDest[(int)ManualUnit.CP1].Enabled = true;
                    ChbDest[(int)ManualUnit.CP2].Enabled = true;
                    ChbDest[(int)ManualUnit.CP3].Enabled = true;
                    ChbDest[(int)ManualUnit.HP].Enabled  = true;


                    ChbDest[(int)ManualUnit.CP1].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.CP2].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.CP3].BackColor = Color.White;
                    ChbDest[(int)ManualUnit.HP].BackColor  = Color.White;
                    break;

                default:
                    break;
                }
                break;

            case 2:
                //VTM Robot
                switch (Unit)
                {
                case ManualUnit.LL1_DIV:
                case ManualUnit.LL2_CARR:
                    ChbDest[(int)ManualUnit.PMC].Enabled   = true;
                    ChbDest[(int)ManualUnit.PMC].BackColor = Color.White;
                    break;

                case ManualUnit.PMC:
                    ChbDest[(int)ManualUnit.LL_BD].Enabled   = true;
                    ChbDest[(int)ManualUnit.LL_BD].BackColor = Color.White;
                    break;

                default:
                    break;
                }
                break;
            }
        }