From e1781eca521a4838526b5ed4ecf6a3468169d0e7 Mon Sep 17 00:00:00 2001 From: wklyj <157651241@qq.com> Date: Mon, 15 Apr 2024 16:42:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E8=89=B2=E8=BD=AF=E4=BB=B6Recipe?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E5=8F=82=E6=95=B0=E4=BB=8B=E7=BB=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + LaipuDrawing/DlgChildRecipe.cpp | 24 +++++++++++++++++ LaipuDrawing/DlgChildRecipe.h | 1 + LaipuDrawing/LaiPuLaser.aps | Bin 38737268 -> 38732404 bytes LaipuDrawing/LaiPuLaser.rc | Bin 390222 -> 390574 bytes LaipuDrawing/RecipeMgr.cpp | 44 ++++++++++++++++++++++++++++++++ LaipuDrawing/RecipeMgr.h | 4 +++ LaipuDrawing/resource.h | Bin 132522 -> 132614 bytes 8 files changed, 74 insertions(+) diff --git a/.gitignore b/.gitignore index 78eae31..95cba1f 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /LaipuDrawing/hlp/LaiPuLaser.chm /LaiPuLaser/LaiPuLaser/Debug /LaiPuLaser/Debug +*.ipch diff --git a/LaipuDrawing/DlgChildRecipe.cpp b/LaipuDrawing/DlgChildRecipe.cpp index ccab957..6275acb 100644 --- a/LaipuDrawing/DlgChildRecipe.cpp +++ b/LaipuDrawing/DlgChildRecipe.cpp @@ -67,6 +67,7 @@ BEGIN_MESSAGE_MAP(CDlgChildRecipe, CMyDlgView) ON_BN_CLICKED(IDC_RCP_HISTORY_BTN, &CDlgChildRecipe::OnBnClickedRcpHistoryBtn) ON_BN_CLICKED(IDC_RCP_OFFSET_TAB, &CDlgChildRecipe::OnBnClickedRcpOffsetTab) ON_BN_CLICKED(NEW_UPDATE_RECIPE_BTN, &CDlgChildRecipe::OnBnClickedUpdateRecipeBtn) + ON_NOTIFY(NM_CLICK, NEW_EDIT_RECIPE_INFO_LIST, &CDlgChildRecipe::OnNMClickEditRecipeInfoList) END_MESSAGE_MAP() @@ -575,6 +576,11 @@ void CDlgChildRecipe::OnNMClickEditRecipeList(NMHDR *pNMHDR, LRESULT *pResult) } } } + //响应参数详细信息 + { + CString Str = gRecipeMgr->GetShowParText(Row); + GetDlgItem(IDC_ShowSubRcpInfo)->SetWindowText(Str); + } } } //Edit 离焦的时候更新为list 的值 @@ -701,3 +707,21 @@ void CDlgChildRecipe::OnBnClickedUpdateRecipeBtn() OnCbnSelchangeNewRecipeGroupCombo(); } } + + +void CDlgChildRecipe::OnNMClickEditRecipeInfoList(NMHDR *pNMHDR, LRESULT *pResult) +{ + LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); + // TODO: 在此添加控件通知处理程序代码 + *pResult = 0; + NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; + int Row = pNMListView->iItem; + if (Row >= 0)//行号 + { + //响应参数详细信息 + { + CString Str = gRecipeMgr->GetShowParText(Rcp_CalInfo_Start_Idx + Row); + GetDlgItem(IDC_ShowSubRcpInfo)->SetWindowText(Str); + } + } +} diff --git a/LaipuDrawing/DlgChildRecipe.h b/LaipuDrawing/DlgChildRecipe.h index c832d9d..43a65d9 100644 --- a/LaipuDrawing/DlgChildRecipe.h +++ b/LaipuDrawing/DlgChildRecipe.h @@ -99,4 +99,5 @@ public: afx_msg void OnBnClickedRcpHistoryBtn(); afx_msg void OnBnClickedRcpOffsetTab(); afx_msg void OnBnClickedUpdateRecipeBtn(); + afx_msg void OnNMClickEditRecipeInfoList(NMHDR *pNMHDR, LRESULT *pResult); }; diff --git a/LaipuDrawing/LaiPuLaser.aps b/LaipuDrawing/LaiPuLaser.aps index 4c504050cbd5ccd209364dd6daf7a674b7a95f40..42aece2967b737de93695ee5f1e46564b10dbf37 100644 GIT binary patch delta 37304 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 delta 42328 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%0DL!|I{wnkJ8_ptlLwBe~Z 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

r3j>DOTSa!FSl@9`I~0qf5r!z~Uodk7EivV2ZHl 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 diff --git a/LaipuDrawing/LaiPuLaser.rc b/LaipuDrawing/LaiPuLaser.rc index c2d65dcf81b239f9f02eab4c99713feb6e896f00..ad14f144fb685da6300bf2896df31ac606cb5abd 100644 GIT binary patch delta 222 zcmX^2LVVq8@rEsoeA}kYXXKckaGgpu=Fu zU;-p97z`&TzO~E`X2@X3XDDX~W+-JyVhCbLW+-6rWXNMk1B!xFfuIh95rY|6Cq%Cy zkPi}d1?q}t@MQ>P@L>o6>hb|%KcJ`rLk$o^WP^aTBZCWrKTyVpA#yt7DMsnZ|6Ynr smos7Fo1F1MVY1I*uJ(d$j6lo;#LU|Zwz0H*n0{dqtIPIp%UC0P0eg)*_y7O^ delta 40 ucmZ4YTKwD#@rEsoeA}kGonRDeci7Gd#7scUyxn0t%cT$7!&b0H_yPcN+!2NV diff --git a/LaipuDrawing/RecipeMgr.cpp b/LaipuDrawing/RecipeMgr.cpp index ca94737..128d003 100644 --- a/LaipuDrawing/RecipeMgr.cpp +++ b/LaipuDrawing/RecipeMgr.cpp @@ -89,6 +89,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 1000;//默认值 RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_FRE); + RecipePar.m_DetailInfo = "激光1频率:一秒内激光脉冲个数"; m_RecipeParVec.push_back(RecipePar); } { @@ -100,6 +101,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 1000;//默认值 RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_FRE); + RecipePar.m_DetailInfo = "激光2频率:一秒内激光脉冲个数"; m_RecipeParVec.push_back(RecipePar); } { @@ -111,6 +113,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_PULSE_DELAY); + RecipePar.m_DetailInfo = "双脉冲延时:激光器脉冲延时时间"; m_RecipeParVec.push_back(RecipePar); } { @@ -122,6 +125,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_CURR_1); + RecipePar.m_DetailInfo = "Laser1电流值:工艺设置电流值"; m_RecipeParVec.push_back(RecipePar); } { @@ -133,6 +137,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_CURR_2); + RecipePar.m_DetailInfo = "Laser2电流值:工艺设置电流值"; m_RecipeParVec.push_back(RecipePar); } { @@ -144,6 +149,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_EDI_1); + RecipePar.m_DetailInfo = "Laser1目标功率密度 :最终的edi还要加上Laser Edi Offset和补偿表中的Laser Edi Offset值"; m_RecipeParVec.push_back(RecipePar); } { @@ -155,6 +161,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_EDI_2); + RecipePar.m_DetailInfo = "Laser2目标功率密度 :最终的edi还要加上Laser Edi Offset和补偿表中的Laser Edi Offset值"; m_RecipeParVec.push_back(RecipePar); } { @@ -166,6 +173,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = -2; RecipePar.m_DoubleMaxVal = 2; + RecipePar.m_DetailInfo = "Laser1目标功率密度补偿"; m_RecipeParVec.push_back(RecipePar); } { @@ -177,6 +185,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = -2; RecipePar.m_DoubleMaxVal = 2; + RecipePar.m_DetailInfo = "Laser2目标功率密度补偿"; m_RecipeParVec.push_back(RecipePar); } { @@ -188,6 +197,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = 5; + RecipePar.m_DetailInfo = "功率密度复检卡控范围:等于0表示不进行复检,大于表示要进行复检且复检调整后的功率密度在这个误差范围之内"; m_RecipeParVec.push_back(RecipePar); } { @@ -199,6 +209,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = 99; + RecipePar.m_DetailInfo = "X方向光斑重叠率:会影响X方向扫描速度的计算值"; m_RecipeParVec.push_back(RecipePar); } { @@ -210,6 +221,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = 99; + RecipePar.m_DetailInfo = "Y方向光斑重叠率:会影响Y方向移动间隔"; m_RecipeParVec.push_back(RecipePar); } { @@ -221,6 +233,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MIN_FOCUS_ADJUST); RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_FOCUS_ADJUST); + RecipePar.m_DetailInfo = "Z轴焦距微调值:用于工艺前Z轴在目前设置的激光焦距点上下进行微调"; m_RecipeParVec.push_back(RecipePar); } { @@ -232,6 +245,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MIN_SCAN_SPEED); RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_SCAN_SPEED); + RecipePar.m_DetailInfo = "固定扫描速度:等于0时无效,大于0时X方向光斑重叠率无效,工艺过程中将使用这个速度值作为X方向的扫描速度"; m_RecipeParVec.push_back(RecipePar); } { @@ -243,6 +257,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_FIX_SCAN_LINE_GAP); + RecipePar.m_DetailInfo = "固定扫描间隔:等于0时无效,大于0时Y方向光斑重叠率无效,工艺过程中将使用这个值作为Y方向的扫描移动间隔"; m_RecipeParVec.push_back(RecipePar); } { @@ -254,6 +269,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 0; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = 100000; + RecipePar.m_DetailInfo = "扫描线的起始索引值:表示从第几根线开始扫描,用于补打wafer"; m_RecipeParVec.push_back(RecipePar); } { @@ -265,6 +281,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = 270; RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = 360; + RecipePar.m_DetailInfo = "wafer准直角度:用于控制wafer放到stage上的notch方向,多subrcp的情况第一个sub的值为有效值"; m_RecipeParVec.push_back(RecipePar); } { @@ -284,6 +301,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParDoubleVal = m_MinVal; RecipePar.m_DoubleMinVal = m_MinVal; RecipePar.m_DoubleMaxVal = m_MaxVal; + RecipePar.m_DetailInfo = "MFC流量控制值:MFC控制N2流量值"; m_RecipeParVec.push_back(RecipePar); } //下拉框参数------------------------------------------------ @@ -292,6 +310,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParName = RECIPE_PAR_NAME_SCAN_AREA; RecipePar.m_ParShowName = "Scan Area"; RecipePar.m_ParType = _RecipeParType_CString;//参数的类型 + RecipePar.m_DetailInfo = "扫描区域文件名称:用于指定扫描区域的图形文件,确定扫描的范围"; m_RecipeParVec.push_back(RecipePar); } { @@ -300,6 +319,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParShowName = "Area Idx"; RecipePar.m_ParType = _RecipeParType_Int;//参数的类型 RecipePar.m_ParIntVal = 1; + RecipePar.m_DetailInfo = "扫描区域编号:扫描区域文件中包含多个扫描区域时,每个sub rcp只能选择一个区域编号进行工艺"; m_RecipeParVec.push_back(RecipePar); } { @@ -308,6 +328,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParShowName = "N2"; RecipePar.m_ParType = _RecipeParType_Bool;//参数的类型 RecipePar.m_ParBoolVal = true; + RecipePar.m_DetailInfo = "N2开关控制,退火过程中是否自动打开N2"; m_RecipeParVec.push_back(RecipePar); } { @@ -316,6 +337,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParShowName = "Use CurN2Val"; RecipePar.m_ParType = _RecipeParType_Bool;//参数的类型 RecipePar.m_ParBoolVal = false; + RecipePar.m_DetailInfo = "MFC控制开关:是否使用recipe的MFC流量控制值"; m_RecipeParVec.push_back(RecipePar); } #ifdef __OFFSET_TABLE__ @@ -325,6 +347,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParShowName = "Offset Table"; RecipePar.m_ParType = _RecipeParType_CString;//参数的类型 RecipePar.m_ParStrVal = RECIPE_OFFSET_TBL_NULL; + RecipePar.m_DetailInfo = "补偿表的名称:用于link指定的补偿表,可以补偿edi和激光电流值"; m_RecipeParVec.push_back(RecipePar); } #endif @@ -335,6 +358,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_ParShowName = "Run Times"; RecipePar.m_ParType = _RecipeParType_Int;//参数的类型 RecipePar.m_ParIntVal = 1;//默认值 + RecipePar.m_DetailInfo = "工艺运行次数:正常设置为1,大于1时表示跑cycle,多subrcp的情况第一个sub的值为有效值"; m_RecipeParVec.push_back(RecipePar); } @@ -350,6 +374,8 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_POW_1); RecipePar.m_bRcpInfoPar = true;//是否为计算参数(不能被编辑) + //RecipePar.m_DetailInfo = "Laser1功率值:1.Laser固定电流为0时,根据edi自动计算 2.Laser固定电流大于0时,在功率点检表中查找对应的功率值,用于计算衰减角度"; + RecipePar.m_DetailInfo = "Laser1功率值:在功率点检表中查找对应的功率值,用于计算衰减角度"; m_RecipeParVec.push_back(RecipePar); } { @@ -362,6 +388,8 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_LASER_POW_2); RecipePar.m_bRcpInfoPar = true;//是否为计算参数(不能被编辑) + //RecipePar.m_DetailInfo = "Laser2功率值:1.Laser固定电流为0时,根据edi自动计算 2.Laser固定电流大于0时,在功率点检表中查找对应的功率值,用于计算衰减角度"; + RecipePar.m_DetailInfo = "Laser2功率值:在功率点检表中查找对应的功率值,用于计算衰减角度"; m_RecipeParVec.push_back(RecipePar); } { @@ -374,6 +402,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_DoubleMinVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MIN_SCAN_SPEED); RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_SCAN_SPEED); RecipePar.m_bRcpInfoPar = true;//是否为计算参数(不能被编辑) + RecipePar.m_DetailInfo = "X方向扫描速度:固定扫描速度等于0时,由X方向重叠率计算得出,固定扫描速度大于0时,等于固定扫描速度"; m_RecipeParVec.push_back(RecipePar); } { @@ -386,6 +415,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_DIMMER_ANG_1); RecipePar.m_bRcpInfoPar = true;//是否为计算参数(不能被编辑) + RecipePar.m_DetailInfo = "Laser1衰减角度:由edi,频率,功率计算得出的衰减器角度,固定电流值大于0才会生效"; m_RecipeParVec.push_back(RecipePar); } { @@ -398,6 +428,7 @@ void CSubRecipe::IntiRecipeParVec() RecipePar.m_DoubleMinVal = 0; RecipePar.m_DoubleMaxVal = gCommonParaMgr->GetCommonParaVal(RECIPE_PAR_MAX_DIMMER_ANG_2); RecipePar.m_bRcpInfoPar = true;//是否为计算参数(不能被编辑) + RecipePar.m_DetailInfo = "Laser2衰减角度:由edi,频率,功率计算得出的衰减器角度,固定电流值大于0才会生效"; m_RecipeParVec.push_back(RecipePar); } #endif @@ -2467,4 +2498,17 @@ CString CRecipeMgr::GetOffsetTablePath(CString TabName) } #endif +CString CRecipeMgr::GetShowParText(int Row) +{ + CString str = ""; + vector &SubRecipeVec = m_CurEditRecipe.GetSubRecipeVec(); + int size = SubRecipeVec.size(); + if (size <= 0) + { + str = "无有效Recipe"; + } + str = SubRecipeVec[0].m_RecipeParVec[Row].m_DetailInfo; + return str; +} + #endif diff --git a/LaipuDrawing/RecipeMgr.h b/LaipuDrawing/RecipeMgr.h index 70e4147..da80e88 100644 --- a/LaipuDrawing/RecipeMgr.h +++ b/LaipuDrawing/RecipeMgr.h @@ -68,6 +68,7 @@ public: m_ListItemWidht = 100;//列表宽度 m_bRcpInfoPar = false;//是否为计算参数(不能被编辑) m_ParUnit = "/";//参数的单位,用于显示 + m_DetailInfo = "未定义"; }; CString GetParStr(); void SetValByStr(CString s); @@ -90,6 +91,8 @@ public: bool m_bRcpInfoPar;//是否为计算参数(不能被编辑) CString m_ParUnit;//参数的单位,用于显示 + CString m_DetailInfo;//详细参数信息 + }; class CRecipeCtrlItem @@ -267,6 +270,7 @@ public: void UpdateLaserFocusProp(); void UpdateRecipeGroupInfo(); CString GetOffsetTablePath(CString TabName); + CString GetShowParText(int Row); private: CString GetGroupDirPath(int GroupIdx); CString GetRecipeNameListPath(); diff --git a/LaipuDrawing/resource.h b/LaipuDrawing/resource.h index 7f0887ed4bbe76287d02ab07f46de3835b8666a9..54d687cb63c71cc23ec0bc3b25b679b14fa4bcff 100644 GIT binary patch delta 53 zcmZ40&C%Awu_5BCbTC5(Lq0<}Loh=rLlQ#}Lo!1FgC|2CLmET=#EY_%H+)iQj`+Gg J;wxj20073$5&HlD delta 18 acmZqc;aJtpu_5AX^OmpMw|r#`5&!^LBMC$R