From 6c92ade0aeb6a505f2ab8108dcbdab20e37a9fac Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 28 一月 2026 21:29:47 +0800
Subject: [PATCH] 1.EQStatusChange事件上报

---
 SourceCode/Bond/Servo/CEqProcessStep.cpp |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEqProcessStep.cpp b/SourceCode/Bond/Servo/CEqProcessStep.cpp
index 868554d..b7d4b85 100644
--- a/SourceCode/Bond/Servo/CEqProcessStep.cpp
+++ b/SourceCode/Bond/Servo/CEqProcessStep.cpp
@@ -3,10 +3,11 @@
 #include "CEqProcessStep.h"
 #include "Log.h"
 #include "ToolUnits.h"
+#include "CEquipment.h"
 
 
 namespace SERVO {
-	CEqProcessStep::CEqProcessStep()
+	CEqProcessStep::CEqProcessStep() : CReadStep()
 	{
 		m_nProcessDev = 0;
 		m_nTotalParameter = 0;
@@ -17,10 +18,37 @@
 
 	}
 
+	void CEqProcessStep::getAttributeVector(CAttributeVector& attrubutes)
+	{
+		CReadStep::getAttributeVector(attrubutes);
+
+		unsigned int weight = 31;
+		attrubutes.addAttribute(new CAttribute("Glass ID",
+			m_strGlassId.c_str(), "", weight++));
+		attrubutes.addAttribute(new CAttribute("Start Time",
+			m_strStartTime.c_str(), "", weight++));
+		attrubutes.addAttribute(new CAttribute("End Time",
+			m_strEndTime.c_str(), "", weight++));
+		attrubutes.addAttribute(new CAttribute("Total Parameter",
+			std::to_string(m_nTotalParameter).c_str(), "", weight++));
+		attrubutes.addAttribute(new CAttribute("Total Group",
+			std::to_string(m_nTotalGroup).c_str(), "", weight++));
+		attrubutes.addAttribute(new CAttribute("Current Group",
+			std::to_string(m_nCurrentGroup).c_str(), "", weight++));
+
+		char szName[256];
+		int index = 0;
+		for (auto item : m_params) {
+			sprintf_s(szName, 256, "Parameter %d", ++index);
+			attrubutes.addAttribute(new CAttribute(szName,
+				item.c_str(), "", weight++));
+		}
+	}
+
 #define PROGRESS_BUF_SIZE		(1024 + 64)
 	int CEqProcessStep::onReadData()
 	{
-		CStep::onReadData();
+		CReadStep::onReadData();
 
 		// W1864 ~ W1A74, 529个word, 1058 bytes
 		char szBuffer[PROGRESS_BUF_SIZE];
@@ -33,7 +61,7 @@
 		// 解释数据
 		// Glass ID(1864~186D)
 		int index = 0;
-		convertString(&szBuffer[index], (0x186d - 0x1864 + 1) * 2, m_strStartTime);
+		convertString(&szBuffer[index], (0x186d - 0x1864 + 1) * 2, m_strGlassId);
 		index += (0x186d - 0x1864 + 1) * 2;
 
 		// Process Start Time(186e~1875)
@@ -68,8 +96,9 @@
 			index += 20;
 		}
 
-		if (m_nCurrentGroup == m_nTotalGroup && m_listener.onEvent != nullptr) {
-			m_listener.onEvent(this, STEP_EVENT_PROCESS_DATA, nullptr);
+		if (m_nCurrentGroup == m_nTotalGroup) {
+			ASSERT(m_pEquipment);
+			m_pEquipment->onStepEvent(this, STEP_EVENT_PROCESS_DATA);
 		}
 
 
@@ -81,7 +110,7 @@
 
 	int CEqProcessStep::onComplete()
 	{
-		CStep::onComplete();
+		CReadStep::onComplete();
 		LOGI("<CEqProcessStep> onComplete.");
 
 		return 0;
@@ -89,8 +118,8 @@
 
 	int CEqProcessStep::onTimeout()
 	{
-		CStep::onTimeout();
-		LOGI("<CEqProcessStep> onTimeout.");
+		CReadStep::onTimeout();
+		LOGE("<CEqProcessStep> onTimeout.");
 
 		return 0;
 	}

--
Gitblit v1.9.3