From 317e0862d1a7b708d8040606e3bc9d9f6d79b1aa Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期日, 04 一月 2026 14:11:04 +0800
Subject: [PATCH] 1.LoadPortNotAssoc事件上报的实现;

---
 SourceCode/Bond/Servo/HsmsPassive.h               |    1 +
 SourceCode/Bond/x64/Debug/CollectionEventList.txt |    1 +
 SourceCode/Bond/Servo/HsmsPassive.cpp             |    5 +++++
 SourceCode/Bond/Servo/Model.cpp                   |    7 +++++++
 SourceCode/Bond/x64/Debug/ReportList.txt          |    1 +
 SourceCode/Bond/x64/Debug/VariableList.txt        |    1 +
 6 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/HsmsPassive.cpp b/SourceCode/Bond/Servo/HsmsPassive.cpp
index ae7ef22..3fbc138 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.cpp
+++ b/SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -2599,4 +2599,9 @@
 	return requestEventReportSend("OCR_PanelID_Read_OK");
 }
 
+int CHsmsPassive::requestEventReportSend_LoadPortNotAssoc()
+{
+	return requestEventReportSend("LoadPortNotAssoc");
+}
+
 
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index 7d9d596..71a2710 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -218,6 +218,7 @@
 	int requestEventReportSend_Panel_Start();
 	int requestEventReportSend_Panel_End();
 	int requestEventReportSend_OCR_PanelID_Read_OK();
+	int requestEventReportSend_LoadPortNotAssoc();
 
 private:
 	void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index aa0f8eb..2ead821 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -471,6 +471,13 @@
 			}
 			m_hsmsPassive.requestEventReportSend_Port_Unload_Ready();
 		}
+		else if (status == PORT_EMPTY) {
+			SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
+			if (pLoadPort != nullptr) {
+				m_hsmsPassive.setVariableValue("LoadPortNotAssocPortId", pLoadPort->getID());
+			}
+			m_hsmsPassive.requestEventReportSend_LoadPortNotAssoc();
+		}
 		notifyPtr(RX_CODE_LOADPORT_STATUS_CHANGED, pEquipment);
 	};
 	masterListener.onCTRoundEnd = [&](void* pMaster, int round) {
diff --git a/SourceCode/Bond/x64/Debug/CollectionEventList.txt b/SourceCode/Bond/x64/Debug/CollectionEventList.txt
index 4d223c8..f8dbb53 100644
--- a/SourceCode/Bond/x64/Debug/CollectionEventList.txt
+++ b/SourceCode/Bond/x64/Debug/CollectionEventList.txt
@@ -6,6 +6,7 @@
 10000,RecipeChanged,,(10000)
 10030,CarrierArrived,,(10300)
 10031,CarrierRemoved,,(10300)
+10032,LoadPortNotAssoc,,(50014)
 10040,ReadyToLoad,,(10300)
 10041,ReadyToUnLoad,,(10300)
 10051,CarrierIDWaitingForHost,,(10051)
diff --git a/SourceCode/Bond/x64/Debug/ReportList.txt b/SourceCode/Bond/x64/Debug/ReportList.txt
index 65d329b..e2ce863 100644
--- a/SourceCode/Bond/x64/Debug/ReportList.txt
+++ b/SourceCode/Bond/x64/Debug/ReportList.txt
@@ -29,3 +29,4 @@
 50011,(5013)
 50012,(5014)
 50013,(5015)
+50014,(5016)
diff --git a/SourceCode/Bond/x64/Debug/VariableList.txt b/SourceCode/Bond/x64/Debug/VariableList.txt
index ba0e3cd..59f92a4 100644
--- a/SourceCode/Bond/x64/Debug/VariableList.txt
+++ b/SourceCode/Bond/x64/Debug/VariableList.txt
@@ -50,6 +50,7 @@
 5013,TestVID,U1,娴嬭瘯娣诲姞鍙橀噺55
 5014,VCRPanelID,A20,Panel id,鏉ヨ嚜璇荤爜鍣�
 5015,ReadyToReleasePortId,U1,"Port ID"
+5016,LoadPortNotAssocPortId,U1,"Port ID"
 10200,SlotMap,U2,SlotMap(Scan)
 10201,SlotMapScan,U2,SlotMap(Scan)
 10202,SlotMapDownload,U2,SlotMap(Download)

--
Gitblit v1.9.3