From aabaff9cdcf9bb279b762891aedda5a03571fbb5 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 01 七月 2025 08:55:07 +0800
Subject: [PATCH] 1.修改Glass的JobDataS的更新逻辑,在收到OnReceiveJob时,机器内未保存和管理Glass, 此时Glass在Arm上,应通过Arm来更新JobDataS;

---
 SourceCode/Bond/Servo/CPageGraph2.cpp |   56 ++++++++++++++++++++++++++------------------------------
 1 files changed, 26 insertions(+), 30 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPageGraph2.cpp b/SourceCode/Bond/Servo/CPageGraph2.cpp
index 8c9050c..eb40345 100644
--- a/SourceCode/Bond/Servo/CPageGraph2.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -217,42 +217,38 @@
 				bTestGenerate = TRUE;
 			}
 			/*
-			else if (pEquipment->getID() == EQ_ID_LOADPORT2 && !pEquipment->hasGlass()) {
-				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G2,
-					"P20250320G2X", 1);
+			else if (pEquipment->getID() == EQ_ID_LOADPORT1 && !pEquipment->hasGlass()) {
+				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G2);
 				bTestGenerate = TRUE;
 			}
 			*/
 			if (!bTestGenerate) {
-				/*
 				SERVO::CRobotTask* pTask = theApp.m_model.getMaster().getActiveRobotTask();
 				if (pTask != nullptr) {
 					SERVO::CGlass* pGlass = (SERVO::CGlass*)pTask->getContext();
-					SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
 					SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
-					if (pJobDataB != nullptr && pJobDataS != nullptr) {
-						pEquipment->onFetchedOutJob(0, pJobDataB);
+					if (pJobDataS != nullptr) {
+						SERVO::CJobDataB jobDataB;
+						pEquipment->onFetchedOutJob(0, &pJobDataS->getJobDataB(jobDataB));
 						pEquipment->onSentOutJob(0, pJobDataS);
 					}
 				}
-				*/
 			}
 		}
 		else if (nCmd == ID_EQSGRAPHITEM_TEST2) {
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
 			SERVO::CArm* pArm = (SERVO::CArm*)pEquipment->getArm();
 			if (pArm != nullptr) {
-				/*
 				SERVO::CGlass* pGlass = pArm->getAnyGlass();
 				if (pGlass != nullptr) {
-					SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
 					SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
-					if (pJobDataB != nullptr && pJobDataS != nullptr) {
+					if (pJobDataS != nullptr) {
 						pEquipment->onReceivedJob(0, pJobDataS);
 						Sleep(600);
-						pEquipment->onStoredJob(0, pJobDataB);
+						SERVO::CJobDataB jobDataB;
+						pEquipment->onStoredJob(0, &pJobDataS->getJobDataB(jobDataB));
 					}
-				}*/
+				}
 			}
 		}
 		else if (nCmd == ID_EQSGRAPHITEM_TEST3) {
@@ -269,14 +265,14 @@
 		else if (nCmd == ID_EQSGRAPHITEM_TEST4) {
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
 			if (pEquipment != nullptr) {
-				pEquipment->setLinkSignal(0, SIGNAL_UPSTREAM_INLINE, TRUE);
-				pEquipment->setLinkSignal(0, SIGNAL_UPSTREAM_TROUBLE, FALSE);
-				pEquipment->setLinkSignal(0, SIGNAL_INTERLOCK, TRUE);
-				pEquipment->setLinkSignal(0, SIGNAL_SEND_ABLE, TRUE);
-				pEquipment->setLinkSignal(1, SIGNAL_UPSTREAM_INLINE, TRUE);
-				pEquipment->setLinkSignal(1, SIGNAL_UPSTREAM_TROUBLE, FALSE);
-				pEquipment->setLinkSignal(1, SIGNAL_INTERLOCK, TRUE);
-				pEquipment->setLinkSignal(1, SIGNAL_SEND_ABLE, TRUE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_UPSTREAM_INLINE, TRUE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_UPSTREAM_TROUBLE, FALSE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_INTERLOCK, TRUE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_SEND_ABLE, TRUE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_UPSTREAM_INLINE, TRUE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_UPSTREAM_TROUBLE, FALSE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_INTERLOCK, TRUE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_SEND_ABLE, TRUE);
 			}
 
 			if (pEquipment != nullptr && (pEquipment->getID() == EQ_ID_Bonder1
@@ -292,14 +288,14 @@
 		else if (nCmd == ID_EQSGRAPHITEM_TEST5) {
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
 			if (pEquipment != nullptr) {
-				pEquipment->setLinkSignal(0, SIGNAL_UPSTREAM_INLINE, TRUE);
-				pEquipment->setLinkSignal(0, SIGNAL_UPSTREAM_TROUBLE, TRUE);
-				pEquipment->setLinkSignal(0, SIGNAL_INTERLOCK, TRUE);
-				pEquipment->setLinkSignal(0, SIGNAL_SEND_ABLE, FALSE);
-				pEquipment->setLinkSignal(1, SIGNAL_UPSTREAM_INLINE, TRUE);
-				pEquipment->setLinkSignal(1, SIGNAL_UPSTREAM_TROUBLE, TRUE);
-				pEquipment->setLinkSignal(1, SIGNAL_INTERLOCK, TRUE);
-				pEquipment->setLinkSignal(1, SIGNAL_SEND_ABLE, FALSE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_UPSTREAM_INLINE, TRUE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_UPSTREAM_TROUBLE, TRUE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_INTERLOCK, TRUE);
+				pEquipment->setLinkSignalUpstream(0, SIGNAL_SEND_ABLE, FALSE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_UPSTREAM_INLINE, TRUE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_UPSTREAM_TROUBLE, TRUE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_INTERLOCK, TRUE);
+				pEquipment->setLinkSignalUpstream(1, SIGNAL_SEND_ABLE, FALSE);
 			}
 		}
 		else if (nCmd == ID_EQSGRAPHITEM_TEST6) {
@@ -383,7 +379,7 @@
 
 			// 璇锋眰涓婚厤鏂瑰垪琛�
 			if (pEquipment != nullptr) {
-				pEquipment->masterRecipeListRequest(0);
+				pEquipment->masterRecipeListRequest(0, nullptr);
 			}			
 		}
 

--
Gitblit v1.9.3