From 2ee440d9e85eccd73d2c3d4cbfe42cb8c1c25ec0 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期六, 28 六月 2025 14:35:24 +0800
Subject: [PATCH] 1.在stroedJob和Fetchout Job中增加Port的校验; 2.在物料调度中增加检测物料是否已经处理完成的校验;

---
 SourceCode/Bond/Servo/CMaster.cpp |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 4eac116..602cdf2 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -825,7 +825,7 @@
 				m_listener.onEqVcrEventReport(this, p, p2);
 			}
 		};
-		listener.onPreFethedOutJob = [&](void* pEquipment, CJobDataB* pJobDataB) -> BOOL {
+		listener.onPreFethedOutJob = [&](void* pEquipment, int port, CJobDataB* pJobDataB) -> BOOL {
 			CEquipment* p = (CEquipment*)pEquipment;
 
 
@@ -835,7 +835,7 @@
 			if (m_pActiveRobotTask != nullptr) {
 				if (m_pActiveRobotTask->getSrcPosition() == p->getID()) {
 					CGlass* pGlass = p->getGlassFromSlot(m_pActiveRobotTask->getSrcSlot());
-					if (pGlass != nullptr) {
+					if (pGlass != nullptr && port == m_pActiveRobotTask->getSrcSlot()) {
 						CJobDataS* pJobDataS = pGlass->getJobDataS();
 						if (pJobDataS != nullptr
 							&& pJobDataS->getCassetteSequenceNo() == pJobDataB->getCassetteSequenceNo()
@@ -858,7 +858,7 @@
 			return bOk;
 
 		};
-		listener.onPreStoredJob = [&](void* pEquipment, CJobDataB* pJobDataB, short& slot) -> BOOL {
+		listener.onPreStoredJob = [&](void* pEquipment, int port, CJobDataB* pJobDataB, short& slot) -> BOOL {
 			CEquipment* p = (CEquipment*)pEquipment;
 
 
@@ -879,7 +879,7 @@
 				else if (m_pActiveRobotTask->isPlacing() &&
 					m_pActiveRobotTask->getTarPosition() == p->getID()) {
 					CGlass* pGlass = p->getGlassFromSlot(m_pActiveRobotTask->getTarSlot());
-					if (pGlass == nullptr) {
+					if (pGlass == nullptr && m_pActiveRobotTask->getTarSlot() == port) {
 						bOk = TRUE;
 						slot = m_pActiveRobotTask->getTarSlot();
 						LOGI("<CMaster>onPreFethedOutJob, 已校验数据一致性.");
@@ -890,7 +890,7 @@
 				else if (m_pActiveRobotTask->isRestoring() &&
 					m_pActiveRobotTask->getSrcPosition() == p->getID()) {
 					CGlass* pGlass = p->getGlassFromSlot(m_pActiveRobotTask->getSrcSlot());
-					if (pGlass == nullptr) {
+					if (pGlass == nullptr && m_pActiveRobotTask->getSrcSlot() == port) {
 						bOk = TRUE;
 						slot = m_pActiveRobotTask->getSrcSlot();
 						LOGI("<CMaster>onPreFethedOutJob, 已校验数据一致性.");

--
Gitblit v1.9.3