From 6b6297c6fc0aa5c059d35732c7ee22ebca93967f Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 14 一月 2026 15:43:40 +0800
Subject: [PATCH] 1.修复以下问题: ProceedWithCarrier 直接发 CCC_PROCESS_START:CModel::onCarrierAction 在 CompareMapsBeforeProceeding 关闭时,收到 ProceedWithCarrier 就调用 master.proceedWithCarrier(仅发送 Cassette Process Start,不校验 PJ/CJ 是否存在、SlotMap 是否验通过)。若 Host 流程异常(未下 PJ/CJ)或本地尚未准备好,会把设备推进加工态但无作业可跑。

---
 SourceCode/Bond/Servo/CRobotTask.cpp |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/SourceCode/Bond/Servo/CRobotTask.cpp b/SourceCode/Bond/Servo/CRobotTask.cpp
index b549782..f0e9596 100644
--- a/SourceCode/Bond/Servo/CRobotTask.cpp
+++ b/SourceCode/Bond/Servo/CRobotTask.cpp
@@ -220,7 +220,7 @@
 					LOGI(_T("RobotTask已下发到EFEM"));
 				}
 				else {
-					LOGI(_T("RobotTask已下发失败"));
+					LOGE(_T("RobotTask下发失败"));
 				}
 
 				return 0;
@@ -238,7 +238,7 @@
 					LOGI(_T("RobotTask/get已下发到EFEM"));
 				}
 				else {
-					LOGI(_T("RobotTask/get已下发失败"));
+					LOGE(_T("RobotTask/get已下发失败"));
 				}
 
 				return 0;
@@ -261,7 +261,7 @@
 					LOGI(_T("RobotTask/put已下发到EFEM"));
 				}
 				else {
-					LOGI(_T("RobotTask/put已下发失败"));
+					LOGE(_T("RobotTask/put已下发失败"));
 				}
 
 				return 0;
@@ -279,11 +279,22 @@
 					LOGI(_T("RobotTask/restore-put已下发到EFEM"));
 				}
 				else {
-					LOGI(_T("RobotTask/restore-put已下发失败"));
+					LOGE(_T("RobotTask/restore-put已下发失败"));
 				}
 
 				return 0;
 			});
+	}
+
+	void CRobotTask::resend()
+	{
+		// 重新下发命令,无非是下发取料或下发放料的命令,根据当前状态来
+		if (ROBOT_TASK_STATE::Picking == m_state  || ROBOT_TASK_STATE::Picked == m_state) {
+			pick();
+		}
+		else if (ROBOT_TASK_STATE::Placing == m_state) {
+			place();
+		}
 	}
 
 	void CRobotTask::completed()
@@ -359,6 +370,9 @@
 		case EQ_ID_LOADPORT2:
 		case EQ_ID_LOADPORT3:
 		case EQ_ID_LOADPORT4:
+			tarPos = srcPos;
+			tarSlot = srcSlot;
+			break;
 		case EQ_ID_ARM_TRAY1:
 		case EQ_ID_ARM_TRAY2:
 		case EQ_ID_ALIGNER:

--
Gitblit v1.9.3