From ee4945bb0e32a065ce1d5d23ec6afbcba4bbcc03 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 09 九月 2025 09:33:49 +0800
Subject: [PATCH] 1.VCR转移到Aligner

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

diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index fe3f448..d7fa9d9 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -382,11 +382,43 @@
 			}
 			m_hsmsPassive.requestEventReportSend_CarrierID_Readed();
 		}
+		else if (status == PORT_BLOCKED) {
+			SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
+			if (pLoadPort != nullptr) {
+				m_hsmsPassive.setVariableValue("BlockedPortId", pLoadPort->getID());
+			}
+			m_hsmsPassive.requestEventReportSend_Port_Blocked();
+		}
+		else if (status == PORT_LOAD_READY) {
+			SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
+			if (pLoadPort != nullptr) {
+				m_hsmsPassive.setVariableValue("LoadReadyPortId", pLoadPort->getID());
+			}
+			m_hsmsPassive.requestEventReportSend_Port_Load_Ready();
+		}
+		else if (status == PORT_UNLOAD_READY) {
+			SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
+			if (pLoadPort != nullptr) {
+				m_hsmsPassive.setVariableValue("UnloadReadyPortId", pLoadPort->getID());
+			}
+			m_hsmsPassive.requestEventReportSend_Port_Unload_Ready();
+		}
 		notifyPtr(RX_CODE_LOADPORT_STATUS_CHANGED, pEquipment);
 	};
 	masterListener.onCTRoundEnd = [&](void* pMaster, int round) {
 		m_configuration.setContinuousTransferCount(round);
 	};
+	masterListener.onCjStart = [&](void* pMaster, void* pj) {
+		m_hsmsPassive.setVariableValue("CJStartID", ((SERVO::CControlJob*)pj)->id().c_str());
+		m_hsmsPassive.requestEventReportSend_CJ_Start();
+	};
+	masterListener.onCjEnd = [&](void* pMaster, void* pj) {
+		m_hsmsPassive.setVariableValue("CJEndID", ((SERVO::CControlJob*)pj)->id().c_str());
+		m_hsmsPassive.requestEventReportSend_CJ_End();
+
+		// 结批,保存ControlJob
+		// 
+	};
 	masterListener.onPjStart = [&](void* pMaster, void* pj) {
 		m_hsmsPassive.setVariableValue("PJStartID", ((SERVO::CProcessJob*)pj)->id().c_str());
 		m_hsmsPassive.requestEventReportSend_PJ_Start();

--
Gitblit v1.9.3