|
|
|
@ -2237,7 +2237,7 @@ void CJobQueueMgr::OnAutoRunStop()
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//恢复为无操作
|
|
|
|
|
//SetJobStopType(_JobStopType_Null);
|
|
|
|
|
SetJobStopType(_JobStopType_Null);
|
|
|
|
|
|
|
|
|
|
//改变EAP 流程状态(Statr 或者Stop)
|
|
|
|
|
gSemiSecsCommMgr->ChangeEapFlowStepState(_LoadPortType_Port1);
|
|
|
|
@ -2591,11 +2591,46 @@ void CJobQueueMgr::CheckNextPjobFirstWafer()
|
|
|
|
|
if(pWafer && (pWafer->m_WaferState)<=_WaferState_CassetteWating)
|
|
|
|
|
{
|
|
|
|
|
gCmdInvoker_WaferTransfer.BindingNextPjobFirstWafer(pWafer);
|
|
|
|
|
double Val = -1.00;
|
|
|
|
|
Val = GetRecipeContTransAlignerAngle(NextQueuedPJob);
|
|
|
|
|
gTransferArmMgr->SetContTransAlignerAngle(Val);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double CJobQueueMgr::GetRecipeContTransAlignerAngle(CProcessJob pJob)
|
|
|
|
|
{
|
|
|
|
|
double Ret = -1.00;
|
|
|
|
|
CLogInfo LogInfo;
|
|
|
|
|
LogInfo.m_ClassName = "CJobQueueMgr";
|
|
|
|
|
LogInfo.m_FuncName = "GetRecipeContTransAlignerAngle";
|
|
|
|
|
CRecipe Recipe;
|
|
|
|
|
LogInfo.m_LogMsg = "ReadRecipeFromFile : " + pJob.m_RecipeName;
|
|
|
|
|
gLogMgr->WriteLogInfo(LogInfo);
|
|
|
|
|
//¸ù¾ÝPJob.m_RecipeName ¶ÁÈ¡xml Îļþµ½recipe
|
|
|
|
|
if (!gRecipeMgr->ReadRecipeFromFile(Recipe, pJob.m_RecipeName))
|
|
|
|
|
{
|
|
|
|
|
CString s("Recipe Open Failed:");
|
|
|
|
|
s += pJob.m_RecipeName;
|
|
|
|
|
gLogMgr->InsertPromptList(s);
|
|
|
|
|
//Alarm
|
|
|
|
|
{
|
|
|
|
|
COperateAlarmPar OperateAlarmPar;
|
|
|
|
|
OperateAlarmPar.m_OperateAlarmType = _OperateAlarmType_SetAlarmOn;
|
|
|
|
|
OperateAlarmPar.m_AlarmType = _AlarmType_Recipe_ReadXmlErr;
|
|
|
|
|
OperateAlarmPar.m_AlarmAddInfo = s;
|
|
|
|
|
OperateAlarmPar.m_bThowException = false;
|
|
|
|
|
gWarningMgr->OperateAlarmState(OperateAlarmPar);
|
|
|
|
|
}
|
|
|
|
|
return Ret;
|
|
|
|
|
}
|
|
|
|
|
CRecipeParameter RecipePar;
|
|
|
|
|
RecipePar = Recipe.GetRecipePar(RECIPE_PAR_NAME_ALIGNER_ANG);
|
|
|
|
|
Ret = RecipePar.m_ParDoubleVal;
|
|
|
|
|
return Ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//设置Pjob 的完成状态
|
|
|
|
|
//NeedPJobState需要的job 状态
|
|
|
|
|
//_PJobState_PROCESSING或者_PJobState_PROCESSING_LAST_WAFER
|
|
|
|
|