From 072a953dd0bbec385cdf809f4403c1e975f13c37 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 11 二月 2026 21:31:01 +0800
Subject: [PATCH] 1.客户说我们Status变量和Data变量搞反了。就是那个SxFx需要换过来,先标记下来,如确实需要修改再处理。

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

diff --git a/SourceCode/Bond/Servo/HsmsPassive.cpp b/SourceCode/Bond/Servo/HsmsPassive.cpp
index 98d6a85..da0eb24 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.cpp
+++ b/SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -1736,9 +1736,15 @@
 			replySelectedEquipmentStatusData(pMessage);
 		}
 		else if (nStream == 1 && pHeader->function == 11) {
+			// [EAP_MAPPING][S1F11] Status Variable namelist request -> S1F12.
+			// If customer requires swapping SV/DV mapping, this is one of the two switch points.
+			// Swap target with S1F21 branch below.
 			replyStatusVariableNamelistRequest(pMessage);
 		}
 		else if (nStream == 1 && pHeader->function == 21) {
+			// [EAP_MAPPING][S1F21] Data Variable namelist request -> S1F22.
+			// If customer requires swapping SV/DV mapping, this is one of the two switch points.
+			// Swap target with S1F11 branch above.
 			replyDataVariableNamelistRequest(pMessage);
 		}
 		else if (nStream == 1 && pHeader->function == 23) {
@@ -2342,6 +2348,10 @@
 // S1F11
 int CHsmsPassive::replyStatusVariableNamelistRequest(IMessage* pRecv)
 {
+	// [EAP_MAPPING][SV_HANDLER]
+	// Current behavior: handles S1F11 and replies S1F12 with SVID/SVNAME/UNITS.
+	// If customer requires SV/DV swap, this function body can be swapped with
+	// replyDataVariableNamelistRequest (or dispatch branches can be swapped instead).
 	if (m_pPassive == NULL || STATE::SELECTED != m_pPassive->getState()) {
 		return ER_NOTSELECT;
 	}
@@ -2451,6 +2461,10 @@
 // S1F21/S1F22 - Data Variable Namelist
 int CHsmsPassive::replyDataVariableNamelistRequest(IMessage* pRecv)
 {
+	// [EAP_MAPPING][DV_HANDLER]
+	// Current behavior: handles S1F21 and replies S1F22 with DVID/DVNAME/UNITS.
+	// If customer requires SV/DV swap, this function body can be swapped with
+	// replyStatusVariableNamelistRequest (or dispatch branches can be swapped instead).
 	if (m_pPassive == NULL || STATE::SELECTED != m_pPassive->getState()) {
 		return ER_NOTSELECT;
 	}

--
Gitblit v1.9.3