From 452e31fbe5404d2ec8eb4c5b2e02138d837c146c Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 10 六月 2025 14:44:18 +0800
Subject: [PATCH] 1.Panel Data Report数据的获取,

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

diff --git a/SourceCode/Bond/Servo/CEquipment.cpp b/SourceCode/Bond/Servo/CEquipment.cpp
index 35c81b8..701840c 100644
--- a/SourceCode/Bond/Servo/CEquipment.cpp
+++ b/SourceCode/Bond/Servo/CEquipment.cpp
@@ -1470,6 +1470,36 @@
 		return 0;
 	}
 
+	int CEquipment::decodePanelDataReport(CStep* pStep, const char* pszData, size_t size)
+	{
+		short cassetteNo, jobSequenceNo;
+		int index = 0;
+		std::string strPanelJudgeData, strPanelGradeData;
+		memcpy(&cassetteNo, &pszData[index], sizeof(short));
+		index += sizeof(short);
+		memcpy(&jobSequenceNo, &pszData[index], sizeof(short));
+		index += sizeof(short);
+		CToolUnits::convertString(&pszData[index], 128 * 2, strPanelJudgeData);
+		index += 128 * 2;
+		CToolUnits::convertString(&pszData[index], 256 * 2, strPanelJudgeData);
+		index += 256 * 2;
+
+
+		// 缓存Attribute,用于调试时显示信息
+		unsigned int weight = 201;
+		pStep->addAttribute(new CAttribute("CassetteNo",
+			std::to_string(cassetteNo).c_str(), "", weight++));
+		pStep->addAttribute(new CAttribute("JobSequenceNo",
+			std::to_string(jobSequenceNo).c_str(), "", weight++));
+		pStep->addAttribute(new CAttribute("PanelJudgeData",
+			strPanelJudgeData.c_str(), "", weight++));
+		pStep->addAttribute(new CAttribute("PanelGradeData",
+			strPanelGradeData.c_str(), "", weight++));
+
+
+		return 0;
+	}
+
 	int CEquipment::onPreStoredJob(int port, CJobDataB* pJobDataB, short& putSlot)
 	{
 		LOGI("<CEquipment-%s>onPreStoredJob:port:%d|GlassId:%s",

--
Gitblit v1.9.3