From 357b6294d03c0537b4abb74ed4b3f0a54f9d9915 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 05 九月 2025 15:31:27 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/CMeasurement.cpp |    4 
 SourceCode/Bond/Servo/CProcessData.cpp |   60 +++++++++++---------
 SourceCode/Bond/Servo/CVacuumBake.cpp  |   16 ++--
 SourceCode/Bond/Servo/CGlass.cpp       |   10 +++
 SourceCode/Bond/Servo/CEquipment.cpp   |   18 ++++++
 SourceCode/Bond/Servo/CGlass.h         |    6 ++
 SourceCode/Bond/Servo/CProcessData.h   |   10 ++-
 SourceCode/Bond/Servo/CBakeCooling.cpp |   12 ++--
 SourceCode/Bond/Servo/CBonder.cpp      |   44 +++++++-------
 9 files changed, 112 insertions(+), 68 deletions(-)

diff --git a/SourceCode/Bond/Servo/CBakeCooling.cpp b/SourceCode/Bond/Servo/CBakeCooling.cpp
index 59228f5..dbfa816 100644
--- a/SourceCode/Bond/Servo/CBakeCooling.cpp
+++ b/SourceCode/Bond/Servo/CBakeCooling.cpp
@@ -433,32 +433,32 @@
 
 		// 1.A_腔烘烤时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("A_腔烘烤时间", "", "", v * 0.01f));
+		params.push_back(CParam("A_腔烘烤时间", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 2.A_腔冷却时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("A_腔冷却时间", "", "", v * 0.01f));
+		params.push_back(CParam("A_腔冷却时间", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 3.B_腔烘烤时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("B_腔烘烤时间", "", "", v * 0.01f));
+		params.push_back(CParam("B_腔烘烤时间", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 4.BB_腔冷却时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("B_腔冷却时间", "", "", v * 0.01f));
+		params.push_back(CParam("B_腔冷却时间", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 5.A_烘烤温度设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("A_烘烤温度设定", "", "", v * 0.1f));
+		params.push_back(CParam("A_烘烤温度设定", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 6.B_烘烤温度设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("B_烘烤温度设定", "", "", v * 0.1f));
+		params.push_back(CParam("B_烘烤温度设定", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 
diff --git a/SourceCode/Bond/Servo/CBonder.cpp b/SourceCode/Bond/Servo/CBonder.cpp
index 46108dc..c86ca7d 100644
--- a/SourceCode/Bond/Servo/CBonder.cpp
+++ b/SourceCode/Bond/Servo/CBonder.cpp
@@ -533,110 +533,110 @@
 
 		// 1.校正对位延时
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("校正对位延时", "", "", v * 0.01f));
+		params.push_back(CParam("校正对位延时", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 2.保压时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("保压时间", "", "", v * 0.01f));
+		params.push_back(CParam("保压时间", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 3.腔体破真空延时
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("腔体破真空延时", "", "", v * 0.01f));
+		params.push_back(CParam("腔体破真空延时", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 4.腔体分子泵启动延时
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("腔体分子泵启动延时", "", "", v * 0.1f));
+		params.push_back(CParam("腔体分子泵启动延时", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 5.腔体贴附抽真空延时
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("腔体贴附抽真空延时", "", "", v * 0.1f));
+		params.push_back(CParam("腔体贴附抽真空延时", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 6.加热等待延时
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("加热等待延时", "", "", v * 0.1f));
+		params.push_back(CParam("加热等待延时", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 7.气囊压力设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("气囊压力设定", "", "", v * 0.001f));
+		params.push_back(CParam("气囊压力设定", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 8.气囊加压速率
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("气囊加压速率", "", "", v * 0.001f));
+		params.push_back(CParam("气囊加压速率", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 9.气囊泄压速率
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("气囊泄压速率", "", "", v * 0.001f));
+		params.push_back(CParam("气囊泄压速率", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 10.贴附压力上限
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("贴附压力上限", "", "", v * 0.1f));
+		params.push_back(CParam("贴附压力上限", "", this->getName().c_str(), v * 0.1f));
 		i += 4;
 
 		// 11.Z轴转矩速度设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("上腔Z轴转矩速度设定", "", "", v * 0.001f));
+		params.push_back(CParam("上腔Z轴转矩速度设定", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 12.上腔温度设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("上腔温度设定", "", "", v * 0.1f));
+		params.push_back(CParam("上腔温度设定", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 13.下腔温度设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("下腔温度设定", "", "", v * 0.1f));
+		params.push_back(CParam("下腔温度设定", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 14.上腔Z轴预贴合位速度
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("上腔Z轴预贴合位速度", "", "", v * 0.001f));
+		params.push_back(CParam("上腔Z轴预贴合位速度", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 15.上腔Z轴贴附位速度
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("上腔Z轴贴附位速度", "", "", v * 0.001f));
+		params.push_back(CParam("上腔Z轴贴附位速度", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 16.上腔Z上腔加热位间距
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("上腔Z上腔加热位间距", "", "", v * 0.001f));
+		params.push_back(CParam("上腔Z上腔加热位间距", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 17.上腔贴附位压入量
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("上腔贴附位压入量", "", "", v * 0.001f));
+		params.push_back(CParam("上腔贴附位压入量", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 18.上腔Z轴破真空距离
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("上腔Z轴破真空距离", "", "", v * 0.001f));
+		params.push_back(CParam("上腔Z轴破真空距离", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 19.下顶Pin破真空距离
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("下顶Pin破真空距离", "", "", v * 0.001f));
+		params.push_back(CParam("下顶Pin破真空距离", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 20.下顶Pin加热位间距
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("下顶Pin加热位间距", "", "", v * 0.001f));
+		params.push_back(CParam("下顶Pin加热位间距", "", this->getName().c_str(), v * 0.001f));
 		i += 4;
 
 		// 21.腔体真空泵真空规设定值
-		params.push_back(CParam("腔体真空泵真空规设定值", "", "", (double)toFloat(&pszData[i])));
+		params.push_back(CParam("腔体真空泵真空规设定值", "", this->getName().c_str(), (double)toFloat(&pszData[i])));
 		i += 4;
 
 		// 22.腔体分子泵到达设定值
-		params.push_back(CParam("腔体分子泵到达设定值", "", "", (double)toFloat(&pszData[i])));
+		params.push_back(CParam("腔体分子泵到达设定值", "", this->getName().c_str(), (double)toFloat(&pszData[i])));
 		i += 4;
 
 
diff --git a/SourceCode/Bond/Servo/CEquipment.cpp b/SourceCode/Bond/Servo/CEquipment.cpp
index c4c19a8..ab62475 100644
--- a/SourceCode/Bond/Servo/CEquipment.cpp
+++ b/SourceCode/Bond/Servo/CEquipment.cpp
@@ -1528,6 +1528,24 @@
 		processData.getAttributeVector(attrubutes, weight);
 		onProcessData(&processData);
 
+
+
+		// 找到玻璃,关联数据
+		CGlass* pGlass = this->getGlassWithCassette(processData.getCassetteSequenceNo(),
+			processData.getJobSequenceNo());
+		if (pGlass == nullptr) {
+			LOGE("<CEquipment-%s>找不到对应Glass, 关联工艺参数失败。", this->getName().c_str(),
+				processData.getCassetteSequenceNo(),
+				processData.getJobSequenceNo());
+			return -1;
+		}
+
+		auto rawData = processData.getParamsRawData();
+		std::vector<CParam> params;
+		this->parsingParams((const char*)rawData.data(), rawData.size(), params);
+		pGlass->addParams(params);
+
+
 		return nRet;
 	}
 
diff --git a/SourceCode/Bond/Servo/CGlass.cpp b/SourceCode/Bond/Servo/CGlass.cpp
index 974859c..be75a41 100644
--- a/SourceCode/Bond/Servo/CGlass.cpp
+++ b/SourceCode/Bond/Servo/CGlass.cpp
@@ -369,4 +369,14 @@
 	{
 		m_tEnd = std::chrono::system_clock::now();
 	}
+
+	void CGlass::addParams(std::vector<CParam>& params)
+	{
+		m_params.insert(m_params.end(), params.begin(), params.end());
+	}
+
+	std::vector<CParam>& CGlass::getParams()
+	{
+		return m_params;
+	}
 }
diff --git a/SourceCode/Bond/Servo/CGlass.h b/SourceCode/Bond/Servo/CGlass.h
index 21aaf34..b49563e 100644
--- a/SourceCode/Bond/Servo/CGlass.h
+++ b/SourceCode/Bond/Servo/CGlass.h
@@ -8,6 +8,7 @@
 #include "CJobDataS.h"
 #include "ServoCommo.h"
 #include "ProcessJob.h"
+#include "CParam.h"
 
 
 namespace SERVO {
@@ -89,6 +90,10 @@
 		void markStart();
 		void markEnd();
 
+		// 工艺参数
+		void addParams(std::vector<CParam>& params);
+		std::vector<CParam>& getParams();
+
 	private:
 		MaterialsType m_type;
 		std::string m_strID;
@@ -100,6 +105,7 @@
 		int m_nOriginSlot;
 		BOOL m_bScheduledForProcessing;			/* 是否将加工处理 */
 		CProcessJob* m_pProcessJob;
+		std::vector<CParam> m_params;			// 工艺参数
 	};
 }
 
diff --git a/SourceCode/Bond/Servo/CMeasurement.cpp b/SourceCode/Bond/Servo/CMeasurement.cpp
index 207b427..0acf5ee 100644
--- a/SourceCode/Bond/Servo/CMeasurement.cpp
+++ b/SourceCode/Bond/Servo/CMeasurement.cpp
@@ -427,12 +427,12 @@
 
 		// 1.检测功能启用/禁用
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("检测功能启用/禁用", "", "", v));
+		params.push_back(CParam("检测功能启用/禁用", "", this->getName().c_str(), v));
 		i += 2;
 
 		// 2.检测速度
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("检测速度", "", "", v * 0.001));
+		params.push_back(CParam("检测速度", "", this->getName().c_str(), v * 0.001));
 		i += 4;
 
 		return (int)params.size();
diff --git a/SourceCode/Bond/Servo/CProcessData.cpp b/SourceCode/Bond/Servo/CProcessData.cpp
index ed5a5aa..3f97b41 100644
--- a/SourceCode/Bond/Servo/CProcessData.cpp
+++ b/SourceCode/Bond/Servo/CProcessData.cpp
@@ -15,6 +15,16 @@
 
 	}
 
+	short CProcessData::getCassetteSequenceNo()
+	{
+		return m_nCassetteSequenceNo;
+	}
+
+	short CProcessData::getJobSequenceNo()
+	{
+		return m_nJobSequenceNo;
+	}
+
 	std::string& CProcessData::getGlassId()
 	{
 		return m_strGlassId;
@@ -40,14 +50,9 @@
 		return m_nTotalParameter;
 	}
 
-	const std::list<std::string>& CProcessData::getParameters()
+	std::vector<uint8_t>& CProcessData::getParamsRawData()
 	{
-		return m_params;
-	}
-
-	void CProcessData::getParameters(std::list<std::string>& list)
-	{
-		std::copy(m_params.begin(), m_params.end(), std::back_inserter(list));
+		return m_paramsRawData;
 	}
 
 	int CProcessData::serialize(char* pszBuffer, int nBufferSize)
@@ -57,6 +62,12 @@
 		// 解释数据
 		// Glass ID
 		int index = 0;
+		memcpy(&pszBuffer[index], &m_nCassetteSequenceNo, sizeof(short));
+		index += sizeof(short);
+
+		memcpy(&pszBuffer[index], &m_nJobSequenceNo, sizeof(short));
+		index += sizeof(short);
+
 		CToolUnits::convertString(&pszBuffer[index], 10 * 2, m_strGlassId);
 		index += 10 * 2;
 
@@ -80,17 +91,9 @@
 		m_nCurrentGroup = (unsigned int)CToolUnits::toInt16(&pszBuffer[index]);
 		index += 2;
 
-		// param list(0x1881~0x1a74), 共1000 bytes, 20个字符为一个参数, 50组
-		// 最后一group可能不满足50, 以m_nTotalParameter为依据
-		int size = (m_nCurrentGroup == m_nTotalGroup) ? m_nTotalParameter % 50 : 50;
-		for (int i = 0; i < size; i++) {
-			std::string strParam;
-			CToolUnits::convertString(&pszBuffer[index], 20, strParam);
-			if (!strParam.empty()) {
-				m_params.push_back(strParam);
-			}
-			index += 20;
-		}
+		// 解释数据
+
+
 
 		return 538 * 2;
 	}
@@ -100,6 +103,12 @@
 		if (nBufferSize < 538 * 2) return -1;
 
 		int index = 0;
+		memcpy(&m_nCassetteSequenceNo, &pszBuffer[index], sizeof(short));
+		index += sizeof(short);
+
+		memcpy(&m_nJobSequenceNo, &pszBuffer[index], sizeof(short));
+		index += sizeof(short);
+
 		CToolUnits::convertString(&pszBuffer[index], 10 * 2, m_strGlassId);
 		index += 10 * 2;
 
@@ -118,7 +127,12 @@
 		memcpy(&m_nCurrentGroup, &pszBuffer[index], sizeof(short));
 		index += sizeof(short);
 
-		// 多分组如何处理?待考虑
+		// 参数原始数据
+		m_paramsRawData.clear();
+		m_paramsRawData.insert(
+			m_paramsRawData.end(),
+			reinterpret_cast<const uint8_t*>(&pszBuffer[index]),
+			reinterpret_cast<const uint8_t*>(&pszBuffer[index]) + 500);
 
 
 		return 538 * 2;
@@ -139,13 +153,5 @@
 			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++));
-		}
 	}
 }
\ No newline at end of file
diff --git a/SourceCode/Bond/Servo/CProcessData.h b/SourceCode/Bond/Servo/CProcessData.h
index 2bae1aa..93684de 100644
--- a/SourceCode/Bond/Servo/CProcessData.h
+++ b/SourceCode/Bond/Servo/CProcessData.h
@@ -1,6 +1,7 @@
 #pragma once
 #include <list>
 #include "CAttributeVector.h"
+#include "CParam.h"
 
 
 namespace SERVO {
@@ -11,25 +12,28 @@
 		virtual ~CProcessData();
 
 	public:
+		short getCassetteSequenceNo();
+		short getJobSequenceNo();
 		std::string& getGlassId();
 		void setGlassId(const char* pszId);
 		std::string& getStartTime();
 		std::string& getEndTime();
 		unsigned int getTotalParameter();
-		const std::list<std::string>& getParameters();
-		void getParameters(std::list<std::string>& list);
+		std::vector<uint8_t>& getParamsRawData();
 		int serialize(char* pszBuffer, int nBufferSize);
 		int unserialize(const char* pszBuffer, int nBufferSize);
 		void getAttributeVector(CAttributeVector& attrubutes, int beginWeight);
 
 	private:
+		short m_nCassetteSequenceNo;
+		short m_nJobSequenceNo;
 		std::string m_strGlassId;
 		std::string m_strStartTime;
 		std::string m_strEndTime;
 		unsigned int m_nTotalParameter;
 		unsigned int m_nTotalGroup;
 		unsigned int m_nCurrentGroup;
-		std::list<std::string> m_params;
+		std::vector<uint8_t> m_paramsRawData;
 	};
 }
 
diff --git a/SourceCode/Bond/Servo/CVacuumBake.cpp b/SourceCode/Bond/Servo/CVacuumBake.cpp
index c14c201..18e298b 100644
--- a/SourceCode/Bond/Servo/CVacuumBake.cpp
+++ b/SourceCode/Bond/Servo/CVacuumBake.cpp
@@ -420,40 +420,40 @@
 
 		// 1.A_腔加热时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("A_腔加热时间", "", "", v * 0.1f));
+		params.push_back(CParam("A_腔加热时间", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 2.B_腔加热时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("B_腔加热时间", "", "", v * 0.1f));
+		params.push_back(CParam("B_腔加热时间", "", this->getName().c_str(), v * 0.1f));
 		i += 2;
 
 		// 3.A_腔破真空时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("A_腔破真空时间", "", "", v * 0.01f));
+		params.push_back(CParam("A_腔破真空时间", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 4.B_腔破真空时间
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8;
-		params.push_back(CParam("B_腔破真空时间", "", "", v * 0.01f));
+		params.push_back(CParam("B_腔破真空时间", "", this->getName().c_str(), v * 0.01f));
 		i += 2;
 
 		// 5.A_腔真空到达值
-		params.push_back(CParam("A_腔真空到达值", "", "", (double)toFloat(&pszData[i])));
+		params.push_back(CParam("A_腔真空到达值", "", this->getName().c_str(), (double)toFloat(&pszData[i])));
 		i += 4;
 
 		// 6.B_腔真空到达值
-		params.push_back(CParam("B_腔真空到达值", "", "", (double)toFloat(&pszData[i])));
+		params.push_back(CParam("B_腔真空到达值", "", this->getName().c_str(), (double)toFloat(&pszData[i])));
 		i += 4;
 
 		// 7.A_腔温控表主控温度设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("A_腔温控表主控温度设定", "", "", v * 0.1f));
+		params.push_back(CParam("A_腔温控表主控温度设定", "", this->getName().c_str(), v * 0.1f));
 		i += 4;
 
 		// 8.B_腔温控表主控温度设定
 		v = (pszData[i] & 0xff) | (pszData[i + 1] & 0xff) << 8 | (pszData[i + 2] & 0xff) << 16 | (pszData[i + 3] & 0xff) << 24;
-		params.push_back(CParam("B_腔温控表主控温度设定", "", "", v * 0.1f));
+		params.push_back(CParam("B_腔温控表主控温度设定", "", this->getName().c_str(), v * 0.1f));
 		i += 4;
 
 

--
Gitblit v1.9.3