From 2ebccf831b56d30089924f2eefa2d790e2b8f3fc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 07 八月 2025 09:20:21 +0800
Subject: [PATCH] 1.为CVariable增加值的设置和获取 2.当发生Port状态改变为InUse时,此时也刚好获取到CarrierID,上报S6F11_CarrierID_Readed

---
 SourceCode/Bond/Servo/CLoadPort.cpp |   30 +++++++++++-------------------
 1 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index 5de17db..d3550f0 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -9,8 +9,8 @@
 	CLoadPort::CLoadPort() : CEquipment()
 	{
 		m_nIndex = 0;
-		m_portType = PortType::Loading;
-		m_portMode = PortMode::ReadyToLoad;
+		m_portType = PortType::Both;
+		m_portMode = PortMode::OutOfService;
 		m_cassetteType = CassetteType::G1;
 		m_transferMode = TransferMode::AGVMode;
 		m_bEnable = FALSE;
@@ -115,6 +115,7 @@
 				[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
 					if (code == ROK && pszData != nullptr && size > 0) {
 						m_portMode = (PortMode)CToolUnits::toInt16(pszData);
+						LOGI("<LoadPort-%d>m_portMode:%d", m_nIndex, m_portMode);
 					}
 					return 0;
 				});
@@ -350,19 +351,22 @@
 		CEquipment::onTimer(nTimerid);
 
 		// 模拟测试
+		/*
 		if (m_nIndex == 0) {
 			static int ii = 0;
 			ii++;
 			if (ii == 50) {
-				char szBuffer[64];
+				char szBuffer[64] = {0};
 				CStep* pStep = getStepWithName(STEP_EQ_PORT1_INUSE);
 				CPortStatusReport portStatusReport;
 				portStatusReport.setPortStatus(PORT_INUSE);
 				portStatusReport.setJobExistenceSlot(0xf);
+				portStatusReport.setCassetteId("CID1984113");
 				int nRet = portStatusReport.serialize(szBuffer, 64);
 				decodePortStatusReport(pStep, szBuffer, 64);
 			}
 		}
+		*/
 	}
 
 	void CLoadPort::serialize(CArchive& ar)
@@ -371,23 +375,11 @@
 
 		if (ar.IsStoring()) {
 			ar << m_nIndex;
-			//ar << (int)m_portType;
-			//ar << (int)m_portMode;
-			//ar << (int)m_cassetteType;
-			//ar << (int)m_transferMode;
-			//ar << m_bEnable;
-			//ar << m_bAutoChangeEnable;
 			m_portStatusReport.serialize(ar);
 		}
 		else {
 			int temp;
 			ar >> m_nIndex;
-			//ar >> temp; m_portType = (PortType)temp;
-			//ar >> temp; m_portMode = (PortMode)temp;
-			//ar >> temp; m_cassetteType = (CassetteType)temp;
-			//ar >> temp; m_transferMode = (TransferMode)temp;
-			//ar >> m_bEnable;
-			//ar >> m_bAutoChangeEnable;
 			m_portStatusReport.serialize(ar);
 		}
 	}
@@ -922,12 +914,12 @@
 			else {
 				// 抛出到应用层做选择要加工的片子
 				generateGlassList(getScanCassetteMap());
-				if (m_listener.onPortInUse != nullptr) {
-					m_listener.onPortInUse(this, getScanCassetteMap());
-				}
 			}
 		}
-
+		if (m_listener.onPortStatusChanged != nullptr) {
+			m_listener.onPortStatusChanged(this, portStatusReport.getPortStatus(),
+				getScanCassetteMap());
+		}
 
 
 		// 缓存Attribute,用于调试时显示信息

--
Gitblit v1.9.3