private void listboxData_SelectedIndexChanged(object sender, EventArgs e) { int nIndex = listboxData.SelectedIndex; ProcInfoAlign data = ProcessMgr.Inst.TempPinfo.listProcAlign[nIndex]; txtName.Text = data.strProcName; txtAngle.Text = data.dAngle.ToString("0.000"); }
private void btnSave_Click(object sender, EventArgs e) { ProcInfoAlign data = new ProcInfoAlign(); float dAngle = 0.0f; data.strProcName = txtName.Text; float.TryParse(txtAngle.Text, out dAngle); data.dAngle = dAngle; if (data.strProcName.Trim() == "") { MessageBox.Show(new Form() { TopMost = true }, "Please insert name", "Confirm!"); return; } int nCount = ProcessMgr.Inst.TempPinfo.listProcAlign.Where <ProcInfoAlign>(p => p.strProcName == data.strProcName).Count(); if (nCount == 0) { // 추가 ProcessMgr.Inst.TempPinfo.listProcAlign.Add(data); } else { // 수정 ProcInfoAlign edit = ProcessMgr.Inst.TempPinfo.listProcAlign.Single <ProcInfoAlign>(p => p.strProcName == data.strProcName); edit.dAngle = dAngle; } ProcessMgr.Inst.SaveTempRcp(); ProcessMgr.Inst.Save(); ProcessMgr.Inst.CopyTempRcp(); RefreshUI(); }
public void Run() { if (!isAcceptRun()) { return; } if (nSeqNo != nPreSeqNo) { resetCmd(); } nPreSeqNo = nSeqNo; alwaysCheck(); switch (nSeqNo) { case 0: if (GlobalVariable.interlock.bAlignMoving == false) { return; } break; case 5: if (GlobalVariable.seqShared.IsInAligner() == false) { return; } break; case 10: //웨이퍼 확인 GlobalVariable.seqShared.stopWatch[(int)UNIT.ALINGER].Restart(); //시간 측정 시작 #if !_REAL_MC Thread.Sleep(2000); #endif break; case 15: if (GlobalVariable.seqShared.aligner.waferType == WaferType.CARRIER) { //현재 웨이퍼가 Carrier일 경우 AlignInfo = ProcessMgr.Inst.TempPinfo.listProcAlign.Single <ProcInfoAlign>(p => p.strProcName == RecipeMgr.Inst.TempRcp.strPreAlignCarrier); m_AlignAngle = AlignInfo.dAngle; } else if (GlobalVariable.seqShared.aligner.waferType == WaferType.DEVICE) { //Device AlignInfo = ProcessMgr.Inst.TempPinfo.listProcAlign.Single <ProcInfoAlign>(p => p.strProcName == RecipeMgr.Inst.TempRcp.strPreAlignDevice); m_AlignAngle = AlignInfo.dAngle; } else { //Type Error return; } MoveAlign(m_AlignAngle); break; case 20: if (CheckCompl_Align() != fn.success) { return; } break; case 25: //Vacuum Off aligner.VacuumOff(); break; case 30: if (CheckCompl_Align() != fn.success) { return; } //시간측정 종료 GlobalVariable.seqShared.stopWatch[(int)UNIT.ALINGER].Stop(); GlobalVariable.seqShared.aligner.strAlignTime = GlobalVariable.seqShared.stopWatch[(int)UNIT.ALINGER].Elapsed.ToString(@"hh\:mm\:ss"); break; case 35: //얼라인 완료 GlobalVariable.interlock.bAlignMoving = false; //완료 nextSeq(0); return; default: break; } nSeqNo++; }