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/CPageCassetteCtrlCmd.cpp |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPageCassetteCtrlCmd.cpp b/SourceCode/Bond/Servo/CPageCassetteCtrlCmd.cpp
index 16f72f7..e39bd05 100644
--- a/SourceCode/Bond/Servo/CPageCassetteCtrlCmd.cpp
+++ b/SourceCode/Bond/Servo/CPageCassetteCtrlCmd.cpp
@@ -90,7 +90,9 @@
 {
 	ASSERT(m_pEquipment != nullptr);
 	ASSERT(m_pEquipment->getID() == EQ_ID_LOADPORT1
-		|| m_pEquipment->getID() == EQ_ID_LOADPORT2);
+		|| m_pEquipment->getID() == EQ_ID_LOADPORT2
+		|| m_pEquipment->getID() == EQ_ID_LOADPORT3
+		|| m_pEquipment->getID() == EQ_ID_LOADPORT4);
 	SERVO::CLoadPort* pLoadPort = (SERVO::CLoadPort*)m_pEquipment;
 
 	short cmd = 0;
@@ -98,7 +100,7 @@
 	int jobExistenceSize = 12;
 	short slotProcess = 0;
 	short jobCount = 0;
-	SERVO::CJobDataB* pJobDataB = new SERVO::CJobDataB();
+	SERVO::CJobDataA* pJobDataA = new SERVO::CJobDataA();
 
 
 	CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_CASSETTE_CTRL_CMD);
@@ -112,5 +114,14 @@
 
 
 	pLoadPort->sendCassetteCtrlCmd(cmd, &jobExistence[0], jobExistenceSize, slotProcess,
-		jobCount, pJobDataB);	
+		jobCount, pJobDataA, [&](int code) -> int {
+			if (code == WOK) {
+				LOGI("sendCassetteCtrlCmd 鎴愬姛.");
+			}
+			else {
+				LOGE("sendCassetteCtrlCmd 澶辫触.");
+			}
+
+			return 0;
+		});
 }

--
Gitblit v1.9.3