From 2c357cdc55074c72d951ef49a932867082a02647 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 07 八月 2025 14:21:29 +0800
Subject: [PATCH] 1.Master软件启动时,Master写给EFEM的bit数据区(0x0 ~ 0x1087),全部清0

---
 SourceCode/Bond/Servo/CMaster.cpp |   34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 856a750..9635e7a 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -748,10 +748,17 @@
 					CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
 				}
 
-				// Bonder2 -> BakeCooling
+				// VacuumBake(G1) -> BakeCooling
+				if (!rmd.armState[0]) {
+					m_pActiveRobotTask = createTransferTask_continuous_transfer(pVacuumBake,
+						0, pBakeCooling, 0);
+					CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
+				}
+
+				// Bonder2 -> VacuumBake(G1)
 				if (!rmd.armState[0]) {
 					m_pActiveRobotTask = createTransferTask_continuous_transfer(pBonder2,
-						0, pBakeCooling, 0);
+						0, pVacuumBake, 0);
 					CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
 				}
 
@@ -762,17 +769,10 @@
 					CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
 				}
 
-				// VacuumBake(G1) -> Bonder1
+				// Fliper(G2) -> Bonder1
 				if (!rmd.armState[0] && !pBonder1->hasBondClass()) {
-					m_pActiveRobotTask = createTransferTask_continuous_transfer(pVacuumBake,
-						0, pBonder1, 0);
-					CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
-				}
-
-				// Fliper(G2) -> VacuumBake(G1)
-				if (!rmd.armState[0]) {
 					m_pActiveRobotTask = createTransferTask_continuous_transfer(pFliper,
-						0, pVacuumBake, 0);
+						0, pBonder1, 1);
 					CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
 				}
 
@@ -822,6 +822,16 @@
 
 	unsigned CMaster::ReadBitsProc()
 	{
+		// 标志位清0复位		
+		{
+			StationIdentifier station;
+			station.nNetNo = 0;
+			station.nStNo = 255;
+			char szBuffer[528] = { 0 };	// 0x0, 0x1087
+			m_cclink.WriteData(station, (long)DeviceType::B, 0, 528, (short*)szBuffer);
+		}
+
+
 		while (1) {
 			// 待退出信号或时间到
 			int nRet = ::WaitForSingleObject(m_hEventReadBitsThreadExit[0], 1000);
@@ -1034,7 +1044,7 @@
 				((CEquipment*)pEquipment)->getName().c_str(), scanMap, downMap);
 		};
 		listener.onPortStatusChanged = [&](void* pEquipment, short status, __int64 data) {
-			LOGE("<Master-%s>Port InUse。status=%d, data=%lld", ((CEquipment*)pEquipment)->getName().c_str(), status);
+			LOGE("<Master-%s>onPortStatusChanged。status=%d, data=%lld", ((CEquipment*)pEquipment)->getName().c_str(), status);
 			if (m_listener.onLoadPortStatusChanged != nullptr) {
 				m_listener.onLoadPortStatusChanged(this, (CEquipment*)pEquipment, status, data);
 			}

--
Gitblit v1.9.3