From 4d9d8d22e3666076988c30afb4e7c6fe365c19aa Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期二, 06 一月 2026 18:53:04 +0800
Subject: [PATCH] 1.修复一个回复错误的问题;

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

diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index 2ead821..9918b56 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -480,6 +480,20 @@
 		}
 		notifyPtr(RX_CODE_LOADPORT_STATUS_CHANGED, pEquipment);
 	};
+	masterListener.onProcessStateChanged = [&](void* pMaster, SERVO::CEquipment* pEquipment, int slotNo, SERVO::PROCESS_STATE state) {
+		// SubEqpStart/SubEqpEnd: align to log's EV_SubEqpStart/EV_SubEqpEnd stage (no report payload required).
+		(void)pMaster;
+		if (pEquipment != nullptr) {
+			m_hsmsPassive.setVariableValue("SubEqpName", pEquipment->getName().c_str());
+		}
+		m_hsmsPassive.setVariableValue("SubEqpSlot", slotNo);
+		if (state == SERVO::PROCESS_STATE::Processing) {
+			m_hsmsPassive.requestEventReportSend_SubEqpStart();
+		}
+		else if (state == SERVO::PROCESS_STATE::Complete) {
+			m_hsmsPassive.requestEventReportSend_SubEqpEnd();
+		}
+	};
 	masterListener.onCTRoundEnd = [&](void* pMaster, int round) {
 		m_configuration.setContinuousTransferCount(round);
 	};
@@ -509,6 +523,9 @@
 	masterListener.onPanelEnd = [&](void* pMaster, void* pPanel) {
 		m_hsmsPassive.setVariableValue("PanelEndID", ((SERVO::CGlass*)pPanel)->getID().c_str());
 		m_hsmsPassive.requestEventReportSend_Panel_End();
+		// Placeholder payload to match log shape: EV_PROCESS_DATA_REPORT can carry a single A-string (may be empty).
+		m_hsmsPassive.setVariableValue("ProcessDataReportText", "");
+		m_hsmsPassive.requestEventReportSend_ProcessDataReport();
 		auto& db = GlassLogDb::Instance();
 		db.insertFromCGlass((*(SERVO::CGlass*)pPanel));
 		SERVO::CGlass* pBuddy = ((SERVO::CGlass*)pPanel)->getBuddy();

--
Gitblit v1.9.3