Beispiel #1
0
        public void ShowPage(int _iPageIdx)
        {
            FrmDeviceSet.UpdateDevInfo(true);
            PM.UpdatePstn(true);
            PM.Load(OM.GetCrntDev());

            switch (_iPageIdx)
            {
            case 0: FrmOperation.Show();          break;

            case 1: FrmDevice.Show();          break;

            case 2: /*FrmMacro    .Show();*/ break;

            case 3: FrmOption.Show();
                FrmOption.bUpdate = true;     break;

            case 4: FrmSPC.Show();          break;

            //FrmSPC      .ShowUpdate();    break;
            case 5: SM.SetDllMainWin(ref pnBase); break;

            default: FrmOperation.Show();         break;
            }
        }
Beispiel #2
0
        private void tcDeviceSet_SelectedIndexChanged(object sender, EventArgs e)
        {
            int iSeletedIndex;

            iSeletedIndex = tcDeviceSet.SelectedIndex;

            switch (iSeletedIndex)
            {
            default: break;

            case 1: gbJogUnit.Parent = pnJog1;                       break;

            case 2: gbJogUnit.Parent = pnJog2;                       break;

            case 3: gbJogUnit.Parent = pnJog3;                       break;

            case 4: gbJogUnit.Parent = pnJog4;                       break;

            case 5: gbJogUnit.Parent = pnJog5;                       break;
            }

            UpdateDevInfo(true);
            UpdateDevOptn(true);
            //LoadTrayMask(OM.GetCrntDev());

            PM.UpdatePstn(true);
            PM.Load(OM.GetCrntDev());
        }
Beispiel #3
0
        public void ShowPage(int _iPageIdx)
        {
            FrmDeviceSet.UpdateDevInfo(true);
            FrmDeviceSet.UpdateDevOptn(true);
            PM.UpdatePstn(true);
            PM.Load(OM.GetCrntDev());

            switch (_iPageIdx)
            {
            case 0: FrmOperation.Show();          break;

            case 1:                               break;

            case 2: FrmDevice.Show();          break;

            case 3: FrmOption.Show();          break;

            case 4: FrmSPC.FormInit();
                FrmSPC.Show();          break;

            case 5: SML.SetDllMainWin(ref pnBase); break;

            default: FrmOperation.Show();         break;
            }
        }
Beispiel #4
0
        private bool DeviceChange(string _sDevName)
        {
            bool bRet = true;

            if (!OM.LoadJobFile(_sDevName))
            {
                return(false);
            }
            SEQ.Visn.SendJobChange(_sDevName);
            PM.Load(_sDevName);
            CConfig Config       = new CConfig();
            string  sExeFolder   = System.AppDomain.CurrentDomain.BaseDirectory;
            string  sDevOptnPath = sExeFolder + "JobFile\\" + _sDevName + "\\TrayMask.ini";

            Config.Load(sDevOptnPath, CConfig.EN_CONFIG_FILE_TYPE.ftIni);
            DM.ARAY[ri.MASK].Load(Config, true);

            CDelayTimer TimeOut = new CDelayTimer();

            TimeOut.Clear();
            while (!SEQ.Visn.GetSendCycleEnd(VisnCom.vs.JobChange))
            {
                Thread.Sleep(1);
                if (TimeOut.OnDelay(8000))
                {
                    Log.ShowMessage("Vision", "Device Change TimeOut");
                    bRet = false;
                    break;
                }
            }

            PM.UpdatePstn(true);

            DM.ARAY[ri.SPLR].SetMaxColRow(1, 1);
            DM.ARAY[ri.IDXR].SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY);
            DM.ARAY[ri.IDXF].SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY);
            DM.ARAY[ri.PCKR].SetMaxColRow(1, 1);
            DM.ARAY[ri.TRYF].SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY);
            DM.ARAY[ri.TRYG].SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY);
            DM.ARAY[ri.OUTZ].SetMaxColRow(1, 1);
            DM.ARAY[ri.STCK].SetMaxColRow(1, OM.DevInfo.iTRAY_StackingCnt);
            DM.ARAY[ri.BARZ].SetMaxColRow(1, 1);
            DM.ARAY[ri.INSP].SetMaxColRow(1, OM.DevInfo.iTRAY_PcktCntY);
            DM.ARAY[ri.PSTC].SetMaxColRow(1, 1);
            DM.ARAY[ri.MASK].SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY);

            DM.ARAY[ri.TRYF].SetStat(cs.Empty);
            DM.ARAY[ri.TRYG].SetStat(cs.Good);
            DM.ARAY[ri.STCK].SetStat(cs.Empty);
            DM.ARAY[ri.INSP].SetStat(cs.Good);

            DM.ARAY[ri.IDXR].SetMask(DM.ARAY[ri.MASK]);
            DM.ARAY[ri.IDXF].SetMask(DM.ARAY[ri.MASK]);
            DM.ARAY[ri.TRYF].SetMask(DM.ARAY[ri.MASK]);
            DM.ARAY[ri.TRYG].SetMask(DM.ARAY[ri.MASK]);

            return(bRet);
        }
Beispiel #5
0
        private void btSetting_Click(object sender, EventArgs e)    //DeviceSet Form 띄움
        {
            this.Hide();
            FrmMain.FrmDeviceSet.Show();
            FrmMain.FrmDeviceSet.UpdateDevOptn(true);
            FrmMain.FrmDeviceSet.UpdateDevInfo(true);
            PM.UpdatePstn(true);

            PM.Load(OM.GetCrntDev());
        }
Beispiel #6
0
        private void btSetting_Click(object sender, EventArgs e)    //DeviceSet Form 띄움
        {
            string sText = ((Button)sender).Text;

            Log.Trace(sFormText + sText + " Button Clicked", ti.Frm);

            this.Hide();
            FrmMain.FrmDeviceSet.Show();
            FrmMain.FrmDeviceSet.UpdateDevInfo(true);
            PM.UpdatePstn(true);

            PM.Load(OM.GetCrntDev());
        }
Beispiel #7
0
        //FormMain FrmMain;
        public FrameMotrPosAPT()
        {
            InitializeComponent();

            SM.PM_SetGetCmdPos(mi.LODR_ZLift);
            SM.PM_SetGetCmdPos(mi.TOOL_XRjct);
            SM.PM_SetGetCmdPos(mi.IDXR_XRear);
            SM.PM_SetGetCmdPos(mi.IDXF_XFrnt);
            SM.PM_SetGetCmdPos(mi.TOOL_YTool);
            SM.PM_SetGetCmdPos(mi.TOOL_ZPckr);
            SM.PM_SetGetCmdPos(mi.BARZ_XPckr);
            SM.PM_SetGetCmdPos(mi.BARZ_ZPckr);
            SM.PM_SetGetCmdPos(mi.STCK_ZStck);
            SM.PM_SetGetCmdPos(mi.TOOL_ZVisn);

            PM.Load(OM.GetCrntDev().ToString());

            PM.UpdatePstn(true);
            tmUpdate.Enabled = false;
        }
Beispiel #8
0
        public FormDeviceSet(Panel _pnBase)
        {
            InitializeComponent();
            this.Width  = 1272;
            this.Height = 866;

            this.TopLevel = false;
            this.Parent   = _pnBase;

            tbUserUnit.Text = 0.01.ToString();
            PstnDisp();

            OM.LoadLastInfo();
            PM.Load(OM.GetCrntDev().ToString());

            PM.UpdatePstn(true);
            UpdateDevInfo(true);

            //모터 축 수에 맞춰 FrameMotr 생성
            FraMotr = new FraMotr[(int)mi.MAX_MOTR];
            for (int m = 0; m < (int)mi.MAX_MOTR; m++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnMotrJog" + m.ToString(), true);

                MOTION_DIR eDir = ML.MT_GetDirType((mi)m);
                FraMotr[m] = new FraMotr();
                FraMotr[m].SetIdType((mi)m, eDir);
                FraMotr[m].TopLevel = false;
                FraMotr[m].Parent   = Ctrl[0];
                FraMotr[m].Show();
                FraMotr[m].SetUnit(EN_UNIT_TYPE.utJog, 0);
            }

            FraCylAPT = new FrameCylinderAPT[(int)ci.MAX_ACTR];
            for (int i = 0; i < (int)ci.MAX_ACTR; i++)
            {
                Control[] CtrlAP = tcDeviceSet.Controls.Find("C" + i.ToString(), true);

                //int iCylCtrl = Convert.ToInt32(CtrlAP[0].Tag);
                int iCylCtrl = Convert.ToInt32(i);
                FraCylAPT[i]          = new FrameCylinderAPT();
                FraCylAPT[i].TopLevel = false;
                FraCylAPT[i].SetConfig((ci)iCylCtrl, ML.CL_GetName(iCylCtrl).ToString(), ML.CL_GetDirType((ci)iCylCtrl), CtrlAP[0]);
                FraCylAPT[i].Show();
            }

            //모터 포지션 AP텍꺼
            FraMotrPosAPT = new FrameMotrPosAPT[(int)mi.MAX_MOTR];
            for (int i = 0; i < (int)mi.MAX_MOTR; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnMotrPos" + i.ToString(), true);

                FraMotrPosAPT[i]          = new FrameMotrPosAPT();
                FraMotrPosAPT[i].TopLevel = false;
                FraMotrPosAPT[i].SetWindow(i, Ctrl[0]);
                FraMotrPosAPT[i].Show();
            }

            //Input Status 생성 AP텍꺼
            const int iInputBtnCnt = 17;

            FraInputAPT = new FrameInputAPT[iInputBtnCnt];
            for (int i = 0; i < iInputBtnCnt; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("X" + i.ToString(), true);

                int iIOCtrl = Convert.ToInt32(Ctrl[0].Tag);

                FraInputAPT[i]          = new FrameInputAPT();
                FraInputAPT[i].TopLevel = false;
                FraInputAPT[i].SetConfig((xi)iIOCtrl, ML.IO_GetXName((xi)iIOCtrl), Ctrl[0]);
                FraInputAPT[i].Show();
            }

            //Output Status 생성 AP텍꺼
            const int iOutputBtnCnt = 8;

            FraOutputAPT = new FrameOutputAPT[iOutputBtnCnt];
            for (int i = 0; i < iOutputBtnCnt; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("Y" + i.ToString(), true);

                int iIOCtrl = Convert.ToInt32(Ctrl[0].Tag);

                FraOutputAPT[i]          = new FrameOutputAPT();
                FraOutputAPT[i].TopLevel = false;
                FraOutputAPT[i].SetConfig((yi)iIOCtrl, ML.IO_GetYName((yi)iIOCtrl), Ctrl[0]);
                FraOutputAPT[i].Show();

                // FraOutputAPT[i].Show();
            }
        }
Beispiel #9
0
        private void btDownload_Click(object sender, EventArgs e)             //HRM-930B 참고
        {
            string sText = ((Button)sender).Text;

            Log.Trace(sFormText + sText + " Button Clicked", ForContext.Frm);

            if (tbFromName.Text == "")
            {
                return;
            }

            //Check Running Status
            //            bool bAllArayNone = DM.ARAY[(int)ri.SLD].CheckAllStat(cs.None);

            //if (LOT.GetLotOpen())
            //{
            //    //Log.ShowMessage("Error", "자재나 메거진이 남아 있으면 잡파일을 바꿀수 없습니다.");
            //    Log.ShowMessage("Error", "Please check the status of the Lot(Need to Lot End).");
            //    return;
            //}

            //if(OM.DevInfo.sMrkData != "")SEQ.Com[0].SendMsg(OM.DevInfo.sMrkData);
            if (lvDevice.SelectedIndices.Count <= 0)
            {
                return;
            }
            int iDeviceSel = lvDevice.SelectedIndices[0];

            string sName = lvDevice.Items[iDeviceSel].SubItems[1].Text;
            string sTemp = "DOWNLOAD JOB FILE. (" + lbSelDevice.Text + ")";

            if (OM.GetCrntDev() == sName)
            {
                //Log.ShowMessage( "ERROR", "현재 잡파일과 같은 잡파일 입니다.");
                Log.ShowMessage("ERROR", "This is the current file with the same file.");
                return;
            }
            if (Log.ShowMessageModal("Confirm", "Are you Sure?") != DialogResult.Yes)
            {
                return;
            }

            SaveDeviceLog(0, OM.GetCrntDev(), sName);
            //FrmMain.FrmDeviceSet.
            OM.LoadJobFile(sName); pbStatus.Minimum = 0;
            //SEQ.Visn.SendJobChange(sName); pbStatus.Minimum = 30;
            PM.Load(sName); pbStatus.Value = 70;
            CConfig Config = new CConfig();

            //string sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
            //string sDevOptnPath = sExeFolder + "JobFile\\" + sName + "\\TrayMask.ini";
            //Config.Load(sDevOptnPath, CConfig.EN_CONFIG_FILE_TYPE.ftIni);

            //ArrayPos.TPara PosPara ;//= new ArrayPos.TPara();
            //PosPara.dColGrGap  = OM.DevInfo.dColGrGap  ;
            //PosPara.iColCnt    = OM.DevInfo.iColCnt    ;
            //PosPara.iRowCnt    = OM.DevInfo.iRowCnt    ;
            //PosPara.dColPitch  = OM.DevInfo.dColPitch  ;
            //PosPara.dRowPitch  = OM.DevInfo.dRowPitch  ;
            //PosPara.iColGrCnt  = OM.DevInfo.iColGrCnt  ;
            //PosPara.iRowGrCnt  = OM.DevInfo.iRowGrCnt  ;
            //PosPara.dColGrGap  = OM.DevInfo.dColGrGap  ;
            //PosPara.dRowGrGap  = OM.DevInfo.dRowGrGap  ;
            //PosPara.iColSbGrCnt= OM.DevInfo.iColSbGrCnt;
            //PosPara.iRowSbGrCnt= OM.DevInfo.iRowSbGrCnt;
            //PosPara.dRowSbGrGap= OM.DevInfo.dRowSbGrGap;
            //PosPara.dColSbGrGap= OM.DevInfo.dColSbGrGap;
            //if(!OM .StripPos.SetPara(PosPara))
            //{
            //    Log.ShowMessage("Strip Position Err" , OM .StripPos.Error);
            //}

            pbStatus.Value = 100;

            CDelayTimer TimeOut = new CDelayTimer();

            TimeOut.Clear();
            //while (!SEQ.Visn.GetSendCycleEnd(VisnCom.vs.JobChange))
            //{
            //    Thread.Sleep(1);
            //    if (TimeOut.OnDelay(5000))
            //    {
            //        ML.ER_SetErr(ei.VSN_ComErr, "JobFile Change TimeOut");
            //        break;
            //    }
            //}

            lbSelDevice.Text  = "";
            tbFromName.Text   = "";
            lbCrntDevice.Text = sName;

            PM.UpdatePstn(true);

            ////Loader.
            //DM.ARAY[ri.LODR].SetMaxColRow(1 , OM.DevInfo.iMgzSlotCnt);
            //
            ////Prebuffer
            //DM.ARAY[ri.PREB].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //
            ////Vision1
            //DM.ARAY[ri.VSN1].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //DM.ARAY[ri.RLT1].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //DM.ARAY[ri.WRK1].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //
            ////Vision2
            //DM.ARAY[ri.VSN2].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //DM.ARAY[ri.RLT2].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //DM.ARAY[ri.WRK2].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //
            ////Vision3
            //DM.ARAY[ri.VSN3].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //DM.ARAY[ri.RLT3].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //DM.ARAY[ri.WRK3].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //
            ////PostBuffer
            //DM.ARAY[ri.PSTB].SetMaxColRow(OM.DevInfo.iColCnt, OM.DevInfo.iRowCnt );
            //
            ////Unloader
            //DM.ARAY[ri.ULDR].SetMaxColRow(1 , OM.DevInfo.iMgzSlotCnt);
            //
            //SEQ.VSNZ.JobChange();
            //SEQ.VisnRB.SendJobChange(sName);

            //CDelayTimer TimeOut = new CDelayTimer();
            //TimeOut.Clear();
            //while(!SEQ.VisnRB.GetSendCycleEnd(VisnCom.vs.JobChange  )){
            //    Thread.Sleep(1);
            //    if(TimeOut.OnDelay(5000)) {
            //        SM.ER_SetErr(ei.VSN_ComErr,"잡체인지 비전 통신 타임아웃");
            //        break;
            //    }
            //}

            //프로그램 강제 종료할때 셋팅 안되서 강제 종료 후 다시 켰을때 종료 이전에 다운로드한 디바이스로
            //다시 로딩되서 집어 넣음. 진섭
            OM.SaveLastInfo();
        }
Beispiel #10
0
        public FormDeviceSet(Panel _pnBase)
        {
            InitializeComponent();
            this.Width  = 1272;
            this.Height = 866;

            this.TopLevel = false;
            this.Parent   = _pnBase;

            tbUserUnit.Text = 0.01.ToString();
            PstnDisp();

            OM.LoadLastInfo();
            PM.Load(OM.GetCrntDev().ToString());

            PM.UpdatePstn(true);
            UpdateDevInfo(true);
            UpdateDevOptn(true);

            DM.ARAY[ri.MASK].SetParent(pnTrayMask); DM.ARAY[ri.MASK].Name = "MASK";
            LoadTrayMask(OM.GetCrntDev().ToString());
            DM.ARAY[ri.MASK].SetDisp(cs.Empty, "Empty", Color.Silver);
            DM.ARAY[ri.MASK].SetDisp(cs.None, "None", Color.White);

            FraMotr     = new FraMotr    [(int)mi.MAX_MOTR];
            FraCylinder = new FraCylOneBt[(int)ci.MAX_ACTR];

            //모터 축 수에 맞춰 FrameMotr 생성
            for (int m = 0; m < (int)mi.MAX_MOTR; m++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnMotrJog" + m.ToString(), true);

                MOTION_DIR eDir = SM.MT_GetDirType((mi)m);
                FraMotr[m] = new FraMotr();
                FraMotr[m].SetIdType((mi)m, eDir);
                FraMotr[m].TopLevel = false;
                FraMotr[m].Parent   = Ctrl[0];
                FraMotr[m].Show();
                FraMotr[m].SetUnit(EN_UNIT_TYPE.utJog, 0);
            }

            for (int i = 0; i < (int)mi.MAX_MOTR; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnMotrPos" + i.ToString(), true);

                switch (i)
                {
                default: break;

                case (int)mi.LODR_ZLift: SetMotrPanel((int)pv.MAX_PSTN_MOTR0, Ctrl[0]); break;

                case (int)mi.TOOL_XRjct: SetMotrPanel((int)pv.MAX_PSTN_MOTR1, Ctrl[0]); break;

                case (int)mi.IDXR_XRear: SetMotrPanel((int)pv.MAX_PSTN_MOTR2, Ctrl[0]); break;

                case (int)mi.IDXF_XFrnt: SetMotrPanel((int)pv.MAX_PSTN_MOTR3, Ctrl[0]); break;

                case (int)mi.TOOL_YTool: SetMotrPanel((int)pv.MAX_PSTN_MOTR4, Ctrl[0]); break;

                case (int)mi.TOOL_ZPckr: SetMotrPanel((int)pv.MAX_PSTN_MOTR5, Ctrl[0]); break;

                case (int)mi.BARZ_XPckr: SetMotrPanel((int)pv.MAX_PSTN_MOTR6, Ctrl[0]); break;

                case (int)mi.BARZ_ZPckr: SetMotrPanel((int)pv.MAX_PSTN_MOTR7, Ctrl[0]); break;

                case (int)mi.STCK_ZStck: SetMotrPanel((int)pv.MAX_PSTN_MOTR8, Ctrl[0]); break;

                case (int)mi.TOOL_ZVisn: SetMotrPanel((int)pv.MAX_PSTN_MOTR9, Ctrl[0]); break;
                }
            }

            //여기 AP텍에서만 쓰는거


            FraCylAPT = new FrameCylinderAPT[(int)ci.MAX_ACTR];
            //실린더 버튼 AP텍꺼
            for (int i = 0; i < (int)ci.MAX_ACTR; i++)
            {
                Control[] CtrlAP = tcDeviceSet.Controls.Find("pnActrAP" + i.ToString(), true);

                FraCylAPT[i]          = new FrameCylinderAPT();
                FraCylAPT[i].TopLevel = false;



                switch (i)
                {
                default: break;

                case (int)ci.LODR_ClampClOp: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.LODR_SperatorUpDn: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.STCK_RailClOp: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.IDXR_ClampUpDn: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.IDXF_ClampUpDn: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.IDXR_ClampClOp: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.IDXF_ClampClOp: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.STCK_RailTrayUpDn: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.STCK_StackStprUpDn: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.STCK_StackOpCl: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.BARZ_BrcdStprUpDn: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.BARZ_BrcdTrayUpDn: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;

                case (int)ci.BARZ_YPckrFwBw: FraCylAPT[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), CtrlAP[0]); break;
                }

                FraCylAPT[i].Show();
            }

            //Input Status 생성 AP텍꺼
            const int iInputBtnCnt = 11;

            FraInputAPT = new FrameInputAPT[iInputBtnCnt];
            for (int i = 0; i < iInputBtnCnt; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnInput" + i.ToString(), true);

                int iIOCtrl = Convert.ToInt32(Ctrl[0].Tag);

                FraInputAPT[i]          = new FrameInputAPT();
                FraInputAPT[i].TopLevel = false;

                switch (iIOCtrl)
                {
                default: break;

                case (int)xi.LODR_TrayDtct: FraInputAPT[i].SetConfig(xi.LODR_TrayDtct, SML.IO.GetXName((int)xi.LODR_TrayDtct), Ctrl[0]); break;

                case (int)xi.RAIL_TrayDtct1: FraInputAPT[i].SetConfig(xi.RAIL_TrayDtct1, SML.IO.GetXName((int)xi.RAIL_TrayDtct1), Ctrl[0]); break;

                case (int)xi.IDXR_TrayDtct: FraInputAPT[i].SetConfig(xi.IDXR_TrayDtct, SML.IO.GetXName((int)xi.IDXR_TrayDtct), Ctrl[0]); break;

                case (int)xi.IDXF_TrayDtct: FraInputAPT[i].SetConfig(xi.IDXF_TrayDtct, SML.IO.GetXName((int)xi.IDXF_TrayDtct), Ctrl[0]); break;

                case (int)xi.TOOL_PckrVac: FraInputAPT[i].SetConfig(xi.TOOL_PckrVac, SML.IO.GetXName((int)xi.TOOL_PckrVac), Ctrl[0]); break;

                case (int)xi.STCK_StackTrayDtct: FraInputAPT[i].SetConfig(xi.STCK_StackTrayDtct, SML.IO.GetXName((int)xi.STCK_StackTrayDtct), Ctrl[0]); break;

                case (int)xi.STCK_StackUpDtct: FraInputAPT[i].SetConfig(xi.STCK_StackUpDtct, SML.IO.GetXName((int)xi.STCK_StackUpDtct), Ctrl[0]); break;

                case (int)xi.BARZ_BrcdTrayDtct: FraInputAPT[i].SetConfig(xi.BARZ_BrcdTrayDtct, SML.IO.GetXName((int)xi.BARZ_BrcdTrayDtct), Ctrl[0]); break;

                case (int)xi.BARZ_PckrBrcdDtct: FraInputAPT[i].SetConfig(xi.BARZ_PckrBrcdDtct, SML.IO.GetXName((int)xi.BARZ_PckrBrcdDtct), Ctrl[0]); break;

                case (int)xi.BARZ_TrayOutDtct: FraInputAPT[i].SetConfig(xi.BARZ_TrayOutDtct, SML.IO.GetXName((int)xi.BARZ_TrayOutDtct), Ctrl[0]); break;

                case (int)xi.BARZ_PckrVac: FraInputAPT[i].SetConfig(xi.BARZ_PckrVac, SML.IO.GetXName((int)xi.BARZ_PckrVac), Ctrl[0]); break;
                }

                FraInputAPT[i].Show();
            }

            //Output Status 생성 AP텍꺼
            const int iOutputBtnCnt = 4;

            FraOutputAPT = new FrameOutputAPT[iOutputBtnCnt];
            for (int i = 0; i < iOutputBtnCnt; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnOutput" + i.ToString(), true);

                int iIOCtrl = Convert.ToInt32(Ctrl[0].Tag);

                FraOutputAPT[i]          = new FrameOutputAPT();
                FraOutputAPT[i].TopLevel = false;

                switch (iIOCtrl)
                {
                default: break;

                case (int)yi.TOOL_PckrVac: FraOutputAPT[i].SetConfig(yi.TOOL_PckrVac, SML.IO.GetYName((int)yi.TOOL_PckrVac), Ctrl[0]); break;

                case (int)yi.STCK_StackAC: FraOutputAPT[i].SetConfig(yi.STCK_StackAC, SML.IO.GetYName((int)yi.STCK_StackAC), Ctrl[0]); break;

                case (int)yi.BARZ_PckrVac: FraOutputAPT[i].SetConfig(yi.BARZ_PckrVac, SML.IO.GetYName((int)yi.BARZ_PckrVac), Ctrl[0]); break;

                case (int)yi.BARZ_BrcdAC: FraOutputAPT[i].SetConfig(yi.BARZ_BrcdAC, SML.IO.GetYName((int)yi.BARZ_BrcdAC), Ctrl[0]); break;
                }

                FraOutputAPT[i].Show();
            }

            //모터 포지션 AP텍꺼
            FraMotrPosAPT = new FrameMotrPosAPT[(int)mi.MAX_MOTR];
            for (int i = 0; i < (int)mi.MAX_MOTR; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnMotrPos" + i.ToString(), true);

                FraMotrPosAPT[i]          = new FrameMotrPosAPT();
                FraMotrPosAPT[i].TopLevel = false;
                switch (i)
                {
                default: break;

                case (int)mi.LODR_ZLift: FraMotrPosAPT[i].SetWindow((int)mi.LODR_ZLift, Ctrl[0]); break;

                case (int)mi.TOOL_XRjct: FraMotrPosAPT[i].SetWindow((int)mi.TOOL_XRjct, Ctrl[0]); break;

                case (int)mi.IDXR_XRear: FraMotrPosAPT[i].SetWindow((int)mi.IDXR_XRear, Ctrl[0]); break;

                case (int)mi.IDXF_XFrnt: FraMotrPosAPT[i].SetWindow((int)mi.IDXF_XFrnt, Ctrl[0]); break;

                case (int)mi.TOOL_YTool: FraMotrPosAPT[i].SetWindow((int)mi.TOOL_YTool, Ctrl[0]); break;

                case (int)mi.TOOL_ZPckr: FraMotrPosAPT[i].SetWindow((int)mi.TOOL_ZPckr, Ctrl[0]); break;

                case (int)mi.BARZ_XPckr: FraMotrPosAPT[i].SetWindow((int)mi.BARZ_XPckr, Ctrl[0]); break;

                case (int)mi.BARZ_ZPckr: FraMotrPosAPT[i].SetWindow((int)mi.BARZ_ZPckr, Ctrl[0]); break;

                case (int)mi.STCK_ZStck: FraMotrPosAPT[i].SetWindow((int)mi.STCK_ZStck, Ctrl[0]); break;

                case (int)mi.TOOL_ZVisn: FraMotrPosAPT[i].SetWindow((int)mi.TOOL_ZVisn, Ctrl[0]); break;
                }
                FraMotrPosAPT[i].Show();
            }
        }
Beispiel #11
0
        //CPstnMan PstnCnt;

        public FormDeviceSet(Panel _pnBase)
        {
            InitializeComponent();

            InitNodePosView(pnLvBase);

            this.Width  = 1272;
            this.Height = 866;

            this.TopLevel = false;
            this.Parent   = _pnBase;

            tbUserUnit.Text = 0.01.ToString();
            PstnDisp();



            //모터 축에 대한 포지션 디스플레이
            PM.SetWindow(pnMotrPos0, (int)mi.IDX_XCUT);
            PM.SetWindow(pnMotrPos1, (int)mi.IDX_XOUT);
            PM.SetWindow(pnMotrPos2, (int)mi.IDX_TTRN);


            PM.SetGetCmdPos((int)mi.IDX_XCUT, SML.MT.GetCmdPos);
            PM.SetGetCmdPos((int)mi.IDX_XOUT, SML.MT.GetCmdPos);
            PM.SetGetCmdPos((int)mi.IDX_TTRN, SML.MT.GetCmdPos);


            OM.LoadLastInfo();
            PM.Load(OM.GetCrntDev().ToString());

            PM.UpdatePstn(true);
            UpdateDevInfo(true);
            UpdateDevOptn(true);

            FraMotr     = new FraMotr    [(int)mi.MAX_MOTR];
            FraCylinder = new FraCylOneBt[(int)ci.MAX_ACTR];
            //FraOutput   = new FraOutput  [SM.IO._iMaxOut     ];

            //모터 축 수에 맞춰 FrameMotr 생성

            for (int m = 0; m < (int)mi.MAX_MOTR; m++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnMotrJog" + m.ToString(), true);

                MOTION_DIR eDir = SM.MT_GetDirType((mi)m);
                FraMotr[m] = new FraMotr();
                FraMotr[m].SetIdType((mi)m, eDir);
                FraMotr[m].TopLevel = false;
                FraMotr[m].Parent   = Ctrl[0];
                FraMotr[m].Show();
                FraMotr[m].SetUnit(EN_UNIT_TYPE.utJog, 0);
            }

            //실린더 수에 맞춰 FrameCylinder 생성
            for (int i = 0; i < (int)ci.MAX_ACTR; i++)
            {
                Control[] Ctrl = tcDeviceSet.Controls.Find("pnAtcr" + i.ToString(), true);

                FraCylinder[i]          = new FraCylOneBt();
                FraCylinder[i].TopLevel = false;

                switch (i)
                {
                default:                                                                                               break;

                case (int)ci.IDX_Hold1UpDn: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_CutLtFwBw: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_CutRtFwBw: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_TwstLtDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_TwstRtDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_Hold2UpDn: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_CutBaseUpDn: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_OutDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;

                case (int)ci.IDX_CutterDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break;
                }
                FraCylinder[i].Show();
            }

            //Output 버튼 생성
            const int iOutputBtnCnt = 3;

            FraOutput = new FraOutput[iOutputBtnCnt];
            for (int i = 0; i < iOutputBtnCnt; i++)
            {
                FraOutput[i]          = new FraOutput();
                FraOutput[i].TopLevel = false;

                switch (i)
                {
                default: break;
//                    case (int)yi.ySLD_Soldering    : FraOutput[i].SetConfig(yi.ySLD_Soldering    , SM.IO.GetYName((int)yi.ySLD_Soldering    )  , pnIO0); break;
//                    case (int)yi.ySLD_AirCleanOnOff: FraOutput[i].SetConfig(yi.ySLD_AirCleanOnOff, SM.IO.GetYName((int)yi.ySLD_AirCleanOnOff), pnIO1); break;
                }

                FraOutput[i].Show();
            }
            UpdateNodePos(true);

            pbLine.Refresh();
        }
Beispiel #12
0
        private void btDownload_Click(object sender, EventArgs e)             //HRM-930B 참고
        {
            string sText = ((Button)sender).Text;

            Log.Trace(sFormText + sText + " Button Clicked", ti.Frm);

            if (tbFromName.Text == "")
            {
                return;
            }

            //Check Running Status
            //            bool bAllArayNone = DM.ARAY[(int)ri.SLD].CheckAllStat(cs.None);

            if (LOT.GetLotOpen())
            {
                Log.ShowMessage("Error", "자재나 메거진이 남아 있으면 잡파일을 바꿀수 없습니다.");
                //Log.ShowMessage("Error", "Cannot change the working files.");
                return;
            }

            //if(OM.DevInfo.sMrkData != "")SEQ.Com[0].SendMsg(OM.DevInfo.sMrkData);
            if (lvDevice.SelectedIndices.Count <= 0)
            {
                return;
            }
            int iDeviceSel = lvDevice.SelectedIndices[0];

            string sName = lvDevice.Items[iDeviceSel].SubItems[1].Text;
            string sTemp = "DOWNLOAD JOB FILE. (" + lbSelDevice.Text + ")";

            if (OM.GetCrntDev() == sName)
            {
                Log.ShowMessage("ERROR", "현재 잡파일과 같은 잡파일 입니다.");
                //Log.ShowMessage("ERROR", "This is the current file with the same file.");
                return;
            }
            if (Log.ShowMessageModal("Confirm", "Are you Sure?") != DialogResult.Yes)
            {
                return;
            }

            SaveDeviceLog(0, OM.GetCrntDev(), sName);
            //FrmMain.FrmDeviceSet.
            OM.LoadJobFile(sName); pbStatus.Minimum = 0;
            //SEQ.Visn.SendJobChange(sName); pbStatus.Minimum = 30;
            PM.Load(sName); pbStatus.Value = 70;
            CConfig Config = new CConfig();

            //string sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
            //string sDevOptnPath = sExeFolder + "JobFile\\" + sName + "\\TrayMask.ini";
            //Config.Load(sDevOptnPath, CConfig.EN_CONFIG_FILE_TYPE.ftIni);
            //DM.ARAY[ri.MASK].Load(Config, true);

            pbStatus.Value = 100;

            CDelayTimer TimeOut = new CDelayTimer();

            TimeOut.Clear();
            //while (!SEQ.Visn.GetSendCycleEnd(VisnCom.vs.JobChange))
            //{
            //    Thread.Sleep(1);
            //    if (TimeOut.OnDelay(5000))
            //    {
            //        ML.ER_SetErr(ei.VSN_ComErr, "JobFile Change TimeOut");
            //        break;
            //    }
            //}

            lbSelDevice.Text  = "";
            tbFromName.Text   = "";
            lbCrntDevice.Text = sName;

            PM.UpdatePstn(true);


            //OM.TrayMask.SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY);
            //OM.TrayMask.SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY);
            //OM.SaveTrayMask();

            //SEQ.VisnRB.SendJobChange(sName);
            //CDelayTimer TimeOut = new CDelayTimer();
            //TimeOut.Clear();
            //while(!SEQ.VisnRB.GetSendCycleEnd(VisnCom.vs.JobChange  )){
            //    Thread.Sleep(1);
            //    if(TimeOut.OnDelay(5000)) {
            //        SM.ER_SetErr(ei.VSN_ComErr,"잡체인지 비전 통신 타임아웃");
            //        break;
            //    }
            //}
        }
Beispiel #13
0
        private void btDownload_Click(object sender, EventArgs e)             //HRM-930B 참고
        {
            if (tbFromName.Text == "")
            {
                return;
            }

            //Check Running Status
//            bool bAllArayNone = DM.ARAY[(int)ri.SLD].CheckAllStat(cs.None);

            //if (LOT.GetLotOpen())
            //{
            //    if (!bAllArayNone)
            //    {
            //        FM_MsgOk("Error", "자제나 메거진이 남아 있으면 잡파일을 바꿀수 없습니다.");
            //        return;
            //    }
            //}

            if (lvDevice.SelectedIndices.Count <= 0)
            {
                return;
            }
            int iDeviceSel = lvDevice.SelectedIndices[0];

            string sName = lvDevice.Items[iDeviceSel].SubItems[1].Text;
            string sTemp = "DOWNLOAD JOB FILE. (" + lbSelDevice.Text + ")";

            if (OM.GetCrntDev() == sName)
            {
                Log.ShowMessage("ERROR", "현재 잡파일과 같은 잡파일 입니다.");
                return;
            }
            if (Log.ShowMessageModal("Confirm", "Are you Sure?") != DialogResult.Yes)
            {
                return;
            }

            OM.LoadJobFile(sName);                                           pbStatus.Minimum = 0;
            PM.Load(sName);                                                  pbStatus.Value   = 70;
            pbStatus.Value = 100;

            lbSelDevice.Text  = "";
            tbFromName.Text   = "";
            lbCrntDevice.Text = sName;

            PM.UpdatePstn(true);

            //            DM.ARAY[(int)ri.SLD].SetMaxColRow(OM.DevInfo.iSTGColCnt, OM.DevInfo.iSTGRowCnt);


            //VSN_L.SendJobChange(sName);
            //VSN_R.SendJobChange(sName);



            //세이브버튼 누를때 , 디바이스셑 크리에트할때 , 디바이스 체인지 누를때...
            //Rs232_DisprFt.SetPTV(OM.DevOptn.dDspPrsPres , 10 , OM.DevOptn.dDspVacPres);
            //Rs232_DisprRr.SetPTV(OM.DevOptn.dDspPrsPres , 10 , OM.DevOptn.dDspVacPres);
            //CDelayTimer TimeOut;
            //Rs232_DisprFt.SetLoadCh(OM.DevOptn.iDspChFt + 1);
            //TimeOut.Clear();
            //while (!Rs232_DisprFt.GetMsgEnd())
            //{ //메세지 다 주고 받을때까지 기다림.
            //    Sleep(1);
            //    if (TimeOut.OnDelay(true, 1000))
            //    {
            //        FM_MsgOk("Error", "프론트 디스펜서 채널 로드 통신타임아웃");
            //        break;
            //    }
            //}
            //if (Rs232_DisprFt.GetErrMsg() != "")
            //{
            //    FM_MsgOk("Disp Ft Error", Rs232_DisprFt.GetErrMsg().c_str());
            //}
            //
            //
            //Rs232_DisprRr.SetLoadCh(OM.DevOptn.iDspChRr + 1);
            //TimeOut.Clear();
            //while (!Rs232_DisprRr.GetMsgEnd())
            //{ //메세지 다 주고 받을때까지 기다림.
            //    Sleep(1);
            //    if (TimeOut.OnDelay(true, 1000))
            //    {
            //        FM_MsgOk("Error", "리어 디스펜서 채널 로드 통신타임아웃");
            //        break;
            //    }
            //}
            //if (Rs232_DisprRr.GetErrMsg() != "")
            //{
            //    FM_MsgOk("Disp Rr Error", Rs232_DisprRr.GetErrMsg().c_str());
            //}
            //

            //            DM.ARAY[(int)ri.SLD].SetStat(cs.None);
            DM.LoadMap();
        }