From 331f447bb0e5eccf0b3161ab287c1372b14b8480 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 08 八月 2025 11:53:58 +0800
Subject: [PATCH] 1.增加千传计数,保存计数,重启软件时恢复; 2.千传测试模式,打印相关日志,方便后期提取,用于统计; 3.千传模式时烘烤两腔体都要进入; 4.千传模式时,Fliper到Bonder修改为用手臂2取料; 5.修复千传模式不计运行时的问题; 6.千传模式,最后收料强制放入第一层; 6.修复Buf, 当任务未生成(在符合条件后仍有1秒间隙)而机器单元发送FetchOutJob时,数据检验失败的问题,增加Sleep, 缩小间隙;
---
SourceCode/Bond/Servo/PageRecipe.cpp | 43 +++++++++++++++++++++++++++++--------------
1 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/SourceCode/Bond/Servo/PageRecipe.cpp b/SourceCode/Bond/Servo/PageRecipe.cpp
index 2ca1f9f..a625647 100644
--- a/SourceCode/Bond/Servo/PageRecipe.cpp
+++ b/SourceCode/Bond/Servo/PageRecipe.cpp
@@ -88,16 +88,25 @@
// 閬嶅巻鏁版嵁骞舵彃鍏ュ埌CListCtrl涓�
for (int i = 0; i < static_cast<int>(vecRecipe.size()); ++i) {
const RecipeInfo& recipe = vecRecipe[i];
+ if (recipe.vecDeviceList.empty() || recipe.vecDeviceList.size() > 6){
+ continue;
+ }
m_listPPID.InsertItem(i, _T("")); // 绗�0鍒楃┖鐧�
CString strNo;
strNo.Format(_T("%d"), i + 1);
m_listPPID.SetItemText(i, 1, strNo);
-
m_listPPID.SetItemText(i, 2, CA2T(recipe.strPPID.c_str()));
- m_listPPID.SetItemText(i, 3, CA2T(recipe.strDescription.c_str()));
- m_listPPID.SetItemText(i, 4, CA2T(recipe.strCreateTime.c_str()));
+
+ for (int j = 0; j < recipe.vecDeviceList.size(); j++){
+ CString str;
+ str.Format(_T("%d"), recipe.vecDeviceList.at(j).nRecipeID);
+ m_listPPID.SetItemText(i, j + 3, str);
+ }
+
+ m_listPPID.SetItemText(i, 9, CA2T(recipe.strCreateTime.c_str()));
+ m_listPPID.SetItemText(i, 10, CA2T(recipe.strDescription.c_str()));
}
// 鑾峰彇鍒楁暟
@@ -162,12 +171,11 @@
// 璇诲嚭鍒楀
CString strIniFile, strItem;
strIniFile.Format(_T("%s\\configuration.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir);
- int width[8] = { 0, 80, 180, 80, 80, 100, 80, 180 };
- for (int i = 0; i < 8; i++) {
+ int width[12] = { 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 180 };
+ for (int i = 0; i < 12; i++) {
strItem.Format(_T("Col_%d_Width"), i);
width[i] = GetPrivateProfileInt("PageRecipeListCtrl", strItem, width[i], strIniFile);
}
-
// TODO: 鍦ㄦ娣诲姞棰濆鐨勫垵濮嬪寲
CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_PPID);
@@ -181,10 +189,15 @@
pListCtrl->InsertColumn(0, _T(""), LVCFMT_RIGHT, 0); // 闅愯棌鍒�
pListCtrl->InsertColumn(1, _T("No."), LVCFMT_LEFT, width[1]);
pListCtrl->InsertColumn(2, _T("PPID/Recipe ID"), LVCFMT_LEFT, width[2]);
- pListCtrl->InsertColumn(3, _T("鎻忚堪"), LVCFMT_LEFT, width[3]);
- pListCtrl->InsertColumn(4, _T("鍒涘缓鏃堕棿"), LVCFMT_LEFT, width[4]);
- pListCtrl->SetColumnWidth(4, LVSCW_AUTOSIZE_USEHEADER);
-
+ pListCtrl->InsertColumn(3, _T("鐪熺┖鐑樼儰"), LVCFMT_LEFT, width[6]);
+ pListCtrl->InsertColumn(4, _T("Bonder1"), LVCFMT_LEFT, width[4]);
+ pListCtrl->InsertColumn(5, _T("Bonder2"), LVCFMT_LEFT, width[5]);
+ pListCtrl->InsertColumn(6, _T("鍚庣儤鍐峰嵈"), LVCFMT_LEFT, width[7]);
+ pListCtrl->InsertColumn(7, _T("绮惧害妫�鏌�"), LVCFMT_LEFT, width[8]);
+ pListCtrl->InsertColumn(8, _T("EFEM"), LVCFMT_LEFT, width[3]);
+ pListCtrl->InsertColumn(9, _T("鍒涘缓鏃堕棿"), LVCFMT_LEFT, width[9]);
+ pListCtrl->InsertColumn(10, _T("鎻忚堪"), LVCFMT_LEFT, width[10]);
+ pListCtrl->SetColumnWidth(10, LVSCW_AUTOSIZE_USEHEADER);
// 鑾峰彇鎵�鏈夋暟鎹�
auto vecData = RecipeManager::getInstance().getAllRecipes();
@@ -427,10 +440,10 @@
else {
// enable port
CMsgDlg msgDlg("璇风瓑寰�", "姝e湪鑾峰彇閰嶆柟...");
- pEq->masterRecipeListRequest(0, [&](int status) -> void {
- if (status == SS_FAILED) {
+ pEq->masterRecipeListRequest(0, [&, pEq](int status) -> void {
+ if (status == SS_FAILED || status == SS_TIMEOUT) {
CString strMsg;
- strMsg.Format(_T("鑾峰彇閰嶆柟澶辫触锛�"));
+ strMsg.Format(status == SS_FAILED ? _T("鑾峰彇閰嶆柟澶辫触锛�") : _T("鑾峰彇閰嶆柟瓒呮椂锛�"));
msgDlg.DelayClose(3000);
msgDlg.SetIcon(MSG_BOX_ERROR);
msgDlg.SetTitle(_T("鎿嶄綔澶辫触"));
@@ -447,8 +460,10 @@
msgDlg.SetMessage((LPTSTR)(LPCTSTR)strMsg);
msgDlg.SetMarquee(FALSE, 0);
msgDlg.SetCompleteCode(0);
+ SERVO::CRecipeList* pRecipeList = pEq->getRecipeList(0);
+ FillRecipeListToListCtrl(pRecipeList);
}
- });
+ });
msgDlg.DoModal();
}
}
--
Gitblit v1.9.3