private void tcDeviceSet_SelectedIndexChanged(object sender, EventArgs e) { int iSeletedIndex; iSeletedIndex = tcDeviceSet.SelectedIndex; switch (iSeletedIndex) { default: break; case 0: gbJogUnit.Parent = pnJog1; break; case 1: gbJogUnit.Parent = pnJog2; break; case 2: gbJogUnit.Parent = pnJog3; break; case 3: gbJogUnit.Parent = pnJog4; break; case 4: gbJogUnit.Parent = pnJog5; break; case 5: gbJogUnit.Parent = pnJog6; break; } PM.UpdatePstn(true); //PM.Load(OM.GetCrntDev()); }
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; } }
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; } }
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); }
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()); }
private void btSetting_Click(object sender, EventArgs e) //DeviceSet Form 띄움 { string sText = ((Button)sender).Text; Log.Trace(sFormText + sText + " Button Clicked", ForContext.Frm); this.Hide(); FrmMain.FrmDeviceSet.Show(); FrmMain.FrmDeviceSet.UpdateDevInfo(true); PM.UpdatePstn(true); //PM.Load(OM.GetCrntDev()); }
private void btSave_Click(object sender, EventArgs e) { Log.Trace("SAVE", "Clicked"); if (Log.ShowMessageModal("Confirm", "Are you Sure?") != DialogResult.Yes) { return; } UpdateDevInfo(false); UpdateNodePos(false); UpdateDevOptn(false); if (WorkDistanceCal() > 200) { Log.ShowMessage("Warring", "작업길이 최대치를 넘어갔습니다."); return; } if (WorkDistanceCal() > OM.MstOptn.dMAXWorkDist && !OM.DevOptn.bShiftWork) { if (Log.ShowMessageModal("Warring", "Used ShiftWork ?") != DialogResult.Yes) { return; } cbshiftWork.Checked = true; Refresh(); } OM.SaveDevInfo(OM.GetCrntDev().ToString()); OM.SaveNodePos(OM.GetCrntDev().ToString()); OM.SaveDevOptn(OM.GetCrntDev().ToString()); pbLine.Refresh(); PM.UpdatePstn(false); PM.Save(OM.GetCrntDev()); tbWorkDist.Text = OM.DevOptn.dWorkDist.ToString(); tbWorkDist2.Text = OM.DevOptn.dWorkDist.ToString(); //DM.ARAY[(int)ri.REAR ].SetMaxColRow(OM.DevInfo.iRearColCnt , OM.DevInfo.iRearRowCnt ); //DM.ARAY[(int)ri.FRNT ].SetMaxColRow(OM.DevInfo.iFrntColCnt , OM.DevInfo.iFrntRowCnt ); OM.SaveEqpOptn(); }
private void btSavePosition_Click(object sender, EventArgs e) { string sText = ((Button)sender).Text; Log.Trace(sFormText + sText + " Button Clicked", ForContext.Frm); if (Log.ShowMessageModal("Confirm", "Are you Sure?") != DialogResult.Yes) { return; } PM.UpdatePstn(false); PM.Save(OM.GetCrntDev()); PM.UpdatePstn(true); Refresh(); }
//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; }
private void tcDeviceSet_SelectedIndexChanged(object sender, EventArgs e) { int iSeletedIndex; iSeletedIndex = tcDeviceSet.SelectedIndex; switch (iSeletedIndex) { default: break; case 0: gbJogUnit.Parent = pnJog1; tabControl1.Parent = panel1; break; case 1: gbJogUnit.Parent = pnJog2; tabControl1.Parent = panel2; break; //case 2 : gbJogUnit.Parent = pnJog2; // pnMotrJog0.Parent = pnMotrJog3;break; } UpdateDevInfo(true); UpdateDevOptn(true); UpdateNodePos(true); PM.UpdatePstn(true); }
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(); } }
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(); }
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(); }
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; // } //} }
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(); } }
private void btSave_Click(object sender, EventArgs e) { Log.Trace("SAVE", "Clicked"); if (Log.ShowMessageModal("Confirm", "Are you Sure?") != DialogResult.Yes) { return; } UpdateDevInfo(false); UpdateDevOptn(false); OM.SaveDevInfo(OM.GetCrntDev().ToString()); OM.SaveDevOptn(OM.GetCrntDev().ToString()); PM.UpdatePstn(false); PM.Save(OM.GetCrntDev()); //SEQ.DispPtrn.Save(OM.GetCrntDev()); //SEQ.HghtPtrn.Save(OM.GetCrntDev()); //SEQ.DispPtrn.SavePttColor(OM.GetCrntDev()); //SEQ.HghtPtrn.SavePttColor(OM.GetCrntDev()); OM.SaveEqpOptn(); //OM.TrayMask.SetMaxColRow(OM.DevInfo.iTRAY_PcktCntX, OM.DevInfo.iTRAY_PcktCntY); SaveTrayMask(OM.GetCrntDev()); 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); //여기부터 하면 됨. int iPreGoodCnt = DM.ARAY[ri.STCK].GetCntStat(cs.Good); DM.ARAY[ri.STCK].SetMaxColRow(1, OM.DevInfo.iTRAY_StackingCnt); DM.ARAY[ri.STCK].SetStat(cs.Empty); for (int r = DM.ARAY[ri.STCK].GetMaxRow() - 1; r >= 0; r--) { if (iPreGoodCnt > 0) { DM.ARAY[ri.STCK].SetStat(0, r, cs.Good); iPreGoodCnt--; } } 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.BPCK].SetMaxColRow(1 , 1 ); 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]); //SEQ.Com[1].SendMsg(OM.DevInfo.sMrkData); //SetComboItem(); Refresh(); }
//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(); }