From e9c66dce803984d9eb0c026df8f50ad196fd0650 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 22 七月 2025 16:20:25 +0800
Subject: [PATCH] 1.将原来的设置CassetteType更新到EFEM的功能,修改为本地保存,因为EFEM不需要这些数据; 2.配置是否需要比较map的一致性; 3.收到EFEM的PortStarus,INUSE状态时,弹出配置对话框;打勾选择要加工的产品;

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

diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index efe5e91..3756560 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -51,6 +51,7 @@
 		m_state = MASTERSTATE::READY;
 		m_pActiveRobotTask = nullptr;
 		m_nLastError = 0;
+		m_isCompareMapsBeforeProceeding = FALSE;
 		InitializeCriticalSection(&m_criticalSection);
 	}
 
@@ -1016,6 +1017,12 @@
 			LOGE("<Master-%s>Port InUse, map(%d!=%d)不一致,请检查。",
 				((CEquipment*)pEquipment)->getName().c_str(), scanMap, downMap);
 		};
+		listener.onPortInUse = [&](void* pEquipment, short scanMap) {
+			LOGE("<Master-%s>Port InUse。scanMap=%d", ((CEquipment*)pEquipment)->getName().c_str(), scanMap);
+			if (m_listener.onLoadPortInUse != nullptr) {
+				m_listener.onLoadPortInUse(this, (CEquipment*)pEquipment, scanMap);
+			}
+		};
 		pEquipment->setListener(listener);
 		pEquipment->setCcLink(&m_cclink);
 		m_listEquipment.push_back(pEquipment);
@@ -1053,6 +1060,7 @@
 		pEquipment->setID(EQ_ID_LOADPORT1 + index);
 		pEquipment->setName(szName);
 		pEquipment->setDescription(szName);
+		pEquipment->setCompareMapsBeforeProceeding(m_isCompareMapsBeforeProceeding);		
 		addToEquipmentList(pEquipment);
 
 
@@ -1609,4 +1617,17 @@
 		pPort->localSetTransferMode((SERVO::TransferMode)transferMode);
 		pPort->localAutoChangeEnable(autoChangeEnable);
 	}
+
+	void CMaster::setPortCassetteType(unsigned int index, SERVO::CassetteType type)
+	{
+		ASSERT(index < 4);
+		int eqid[] = { EQ_ID_LOADPORT1, EQ_ID_LOADPORT2, EQ_ID_LOADPORT3, EQ_ID_LOADPORT4 };
+		CLoadPort* pPort = (CLoadPort*)getEquipment(eqid[index]);
+		pPort->localSetCessetteType(type);
+	}
+
+	void CMaster::setCompareMapsBeforeProceeding(BOOL bCompare)
+	{
+		m_isCompareMapsBeforeProceeding = bCompare;
+	}
 }

--
Gitblit v1.9.3