From 7784fe230849d70345758d787a71f079a5cec9d7 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 20 五月 2025 13:54:03 +0800
Subject: [PATCH] 1.添加并连接CMeasurement

---
 SourceCode/Bond/Servo/CMeasurement.cpp |    3 +++
 SourceCode/Bond/Servo/CMaster.cpp      |   31 +++++++++++++++++++++++++++++--
 SourceCode/Bond/Servo/CMaster.h        |    2 ++
 SourceCode/Bond/Servo/CBakeCooling.cpp |    3 +--
 SourceCode/Bond/Servo/Common.h         |    7 ++++---
 5 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/SourceCode/Bond/Servo/CBakeCooling.cpp b/SourceCode/Bond/Servo/CBakeCooling.cpp
index 4b7147a..96367ba 100644
--- a/SourceCode/Bond/Servo/CBakeCooling.cpp
+++ b/SourceCode/Bond/Servo/CBakeCooling.cpp
@@ -35,8 +35,7 @@
 		LOGI("<CBakeCooling>initPins");
 		addPin(SERVO::PinType::INPUT, _T("In1"));
 		addPin(SERVO::PinType::INPUT, _T("In2"));
-		addPin(SERVO::PinType::OUTPUT, _T("Out1"));
-		addPin(SERVO::PinType::OUTPUT, _T("Out2"));
+		addPin(SERVO::PinType::OUTPUT, _T("Out"));
 	}
 
 	void CBakeCooling::onTimer(UINT nTimerid)
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 29ba607..e148025 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -95,6 +95,7 @@
 		CVacuumBake* pVacuumBake;
 		CAligner* pAligner;
 		CBakeCooling* pBakeCooling;
+		CMeasurement* pMeasurement;
 
 		pPort1 = addLoadPort(0);
 		pPort2 = addLoadPort(1);
@@ -110,6 +111,7 @@
 		pBonder1 = addBonder(0);
 		pBonder2 = addBonder(1);
 		pBakeCooling = addBakeCooling();
+		pMeasurement = addMeasurement();
 
 		ASSERT(pEfem);
 		ASSERT(pFliper);
@@ -118,6 +120,7 @@
 		ASSERT(pBonder1);
 		ASSERT(pBonder2);
 		ASSERT(pBakeCooling);
+		ASSERT(pMeasurement);
 
 		pEfem->setPort(0, pPort1);
 		pEfem->setPort(1, pPort1);
@@ -139,6 +142,7 @@
 		pBonder1->setArm(pArm);
 		pBonder2->setArm(pArm);
 		pBakeCooling->setArm(pArm);
+		pMeasurement->setArm(pArm);
 
 		connectEquipments();
 
@@ -444,6 +448,23 @@
 		return pEquipment;
 	}
 
+	CMeasurement* CMaster::addMeasurement()
+	{
+		CMeasurement* pEquipment = new CMeasurement();
+		pEquipment->setID(EQ_ID_MEASUREMENT);
+		pEquipment->setBaseAlarmId(BASE_ALARM_EFEM);
+		pEquipment->setName("Measurement");
+		pEquipment->setDescription("Measurement.");
+		pEquipment->setReadBitBlock(0x6700, 0x6e00);
+		pEquipment->setStation(0, 255);
+		addToEquipmentList(pEquipment);
+
+		pEquipment->init();
+		LOGE("已添加“Measurement”.");
+
+		return pEquipment;
+	}
+
 	void CMaster::onTimer(UINT nTimerid)
 	{
 		for (auto item : m_listEquipment) {
@@ -496,6 +517,7 @@
 		CBonder* pBonder1 = (CBonder*)getEquipment(EQ_ID_Bonder1);
 		CBonder* pBonder2 = (CBonder*)getEquipment(EQ_ID_Bonder2);
 		CBakeCooling* pBakeCooling = (CBakeCooling*)getEquipment(EQ_ID_BAKE_COOLING);
+		CMeasurement* pMeasurement = (CMeasurement*)getEquipment(EQ_ID_MEASUREMENT);
 
 		nRet = pLoadPort1->getPin("Out1")->connectPin(pFliper->getPin("In1"));
 		if (nRet < 0) {
@@ -545,12 +567,17 @@
 			LOGE("连接Bonder2-BakeCooling失败");
 		}
 
-		nRet = pBakeCooling->getPin("Out1")->connectPin(pLoadPort3->getPin("In"));
+		nRet = pBakeCooling->getPin("Out")->connectPin(pMeasurement->getPin("In"));
 		if (nRet < 0) {
 			LOGE("连接BakeCooling-LoadPort3失败");
 		}
 
-		nRet = pBakeCooling->getPin("Out2")->connectPin(pLoadPort4->getPin("In"));
+		nRet = pMeasurement->getPin("Out1")->connectPin(pLoadPort3->getPin("In"));
+		if (nRet < 0) {
+			LOGE("连接BakeCooling-LoadPort3失败");
+		}
+
+		nRet = pMeasurement->getPin("Out2")->connectPin(pLoadPort4->getPin("In"));
 		if (nRet < 0) {
 			LOGE("连接BakeCooling-LoadPort4失败");
 		}
diff --git a/SourceCode/Bond/Servo/CMaster.h b/SourceCode/Bond/Servo/CMaster.h
index 31ea5da..fbd76cf 100644
--- a/SourceCode/Bond/Servo/CMaster.h
+++ b/SourceCode/Bond/Servo/CMaster.h
@@ -8,6 +8,7 @@
 #include "CAligner.h"
 #include "CVacuumBake.h"
 #include "CBakeCooling.h"
+#include "CMeasurement.h"
 #include "CArm.h"
 #include "CArmTray.h"
 #include "CCLinkIEControl.h"
@@ -56,6 +57,7 @@
         CArmTray* addArmTray(int index);
         CBonder* addBonder(int index);
         CBakeCooling* addBakeCooling();
+        CMeasurement* addMeasurement();
         void connectEquipments();
         int saveCache();
         int saveCacheAndBackups();
diff --git a/SourceCode/Bond/Servo/CMeasurement.cpp b/SourceCode/Bond/Servo/CMeasurement.cpp
index 5664c32..f659453 100644
--- a/SourceCode/Bond/Servo/CMeasurement.cpp
+++ b/SourceCode/Bond/Servo/CMeasurement.cpp
@@ -33,6 +33,9 @@
 	{
 		// 加入Pin初始化代码
 		LOGI("<CMeasurement>initPins");
+		addPin(SERVO::PinType::INPUT, _T("In"));
+		addPin(SERVO::PinType::OUTPUT, _T("Out1"));
+		addPin(SERVO::PinType::OUTPUT, _T("Out2"));
 	}
 
 	void CMeasurement::onTimer(UINT nTimerid)
diff --git a/SourceCode/Bond/Servo/Common.h b/SourceCode/Bond/Servo/Common.h
index c315229..34549ac 100644
--- a/SourceCode/Bond/Servo/Common.h
+++ b/SourceCode/Bond/Servo/Common.h
@@ -64,9 +64,10 @@
 #define EQ_ID_VACUUMBAKE		9
 #define EQ_ID_ALIGNER			10
 #define EQ_ID_BAKE_COOLING		11
-#define EQ_ID_ARM				12
-#define EQ_ID_ARM_TRAY1			13
-#define EQ_ID_ARM_TRAY2			14
+#define EQ_ID_MEASUREMENT		12
+#define EQ_ID_ARM				13
+#define EQ_ID_ARM_TRAY1			14
+#define EQ_ID_ARM_TRAY2			15
 #define EQ_ID_OPERATOR_REMOVE	999
 
 

--
Gitblit v1.9.3