From 58c44e7934c94f4a2327252fc017c19b9f802491 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期五, 06 六月 2025 10:40:02 +0800
Subject: [PATCH] 1.绑定关系的保存和还原; 2.BakeCooling内部搬运检测逻辑(Bake->Cooling);

---
 SourceCode/Bond/Servo/CPageGraph2.cpp |   60 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPageGraph2.cpp b/SourceCode/Bond/Servo/CPageGraph2.cpp
index 1b4c9ae..b16eae2 100644
--- a/SourceCode/Bond/Servo/CPageGraph2.cpp
+++ b/SourceCode/Bond/Servo/CPageGraph2.cpp
@@ -128,6 +128,11 @@
 
 		CHMPropertyDlg dlg(pEquipment->getName().c_str(), 658, 788);
 
+		CEquipmentPage1* pPage1 = new CEquipmentPage1();
+		pPage1->setEquipment(pEquipment);
+		pPage1->Create(IDD_PAGE_EQUIPMENT1);
+		dlg.addPage(pPage1, "Link Signal");
+
 		if (_strcmpi(pEquipment->getClassName(), "CLoadPort") == 0) {
 			CPagePortProperty* pPageA = new CPagePortProperty();
 			pPageA->setLoadPort((SERVO::CLoadPort*)pEquipment);
@@ -204,26 +209,31 @@
 
 		// 娴嬭瘯
 		else if (nCmd == ID_EQSGRAPHITEM_TEST1) {
+			BOOL bTestGenerate = FALSE;
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
-			if (pEquipment->getID() == EQ_ID_LOADPORT1) {
+			if (pEquipment->getID() == EQ_ID_LOADPORT1 && !pEquipment->hasGlass()) {
 				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G1, 
 					"P20250320G1X", 1);
+				bTestGenerate = TRUE;
 			}
-			else if (pEquipment->getID() == EQ_ID_LOADPORT2) {
+			else if (pEquipment->getID() == EQ_ID_LOADPORT2 && !pEquipment->hasGlass()) {
 				((SERVO::CLoadPort*)pEquipment)->testGenerateGlassList(SERVO::MaterialsType::G2,
 					"P20250320G2X", 1);
+				bTestGenerate = TRUE;
 			}
-			/*
-			SERVO::CGlass* pGlass = pEquipment->getAnyGlass();
-			if (pGlass != nullptr) {
-				SERVO::CJobDataB* pJobDataB = pGlass->getJobDataB();
-				SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
-				if (pJobDataB != nullptr && pJobDataS != nullptr) {
-					pEquipment->fetchedOutJob(pJobDataB);
-					pEquipment->onSentOutJob(0, pJobDataS);
+			
+			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);
+						pEquipment->onSentOutJob(0, pJobDataS);
+					}
 				}
 			}
-			*/
 		}
 		else if (nCmd == ID_EQSGRAPHITEM_TEST2) {
 			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
@@ -254,6 +264,34 @@
 		}
 		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);
+			}
+
+			if (pEquipment != nullptr && (pEquipment->getID() == EQ_ID_Bonder1
+				|| pEquipment->getID() == EQ_ID_Bonder2)) {
+				SERVO::CGlass* pGlass = pEquipment->getAnyGlass();
+				if (pGlass != nullptr) {
+					SERVO::CProcessData pd;
+					pd.setGlassId(pGlass->getID().c_str());
+					pEquipment->onProcessData(&pd);
+				}
+			}
+		}
+		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);
+			}
+		}
+		else if (nCmd == ID_EQSGRAPHITEM_TEST6) {
+			SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)pItem->pData;
 
 
 			// 娴嬭瘯涓嬪彂Cim Message

--
Gitblit v1.9.3