From 2ebccf831b56d30089924f2eefa2d790e2b8f3fc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 07 八月 2025 09:20:21 +0800
Subject: [PATCH] 1.为CVariable增加值的设置和获取 2.当发生Port状态改变为InUse时,此时也刚好获取到CarrierID,上报S6F11_CarrierID_Readed

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

diff --git a/SourceCode/Bond/Servo/CVariable.cpp b/SourceCode/Bond/Servo/CVariable.cpp
index 21ddb44..e9c5d83 100644
--- a/SourceCode/Bond/Servo/CVariable.cpp
+++ b/SourceCode/Bond/Servo/CVariable.cpp
@@ -7,6 +7,7 @@
 	{
 		m_nVarialbeId = 0;
 		m_format = SVFromat::U1;
+		m_nValue = 0;
 	}
 
 	CVariable::CVariable(const char* pszId, const char* pszName, const char* pszFormat, const char* pszRemark)
@@ -87,4 +88,41 @@
 	{
 		return m_strRemark;
 	}
+
+	void CVariable::setValue(__int64 value)
+	{
+		if (m_format == SVFromat::U1 || m_format == SVFromat::U2 || m_format == SVFromat::I2) {
+			m_nValue = value;
+		}
+	}
+
+	void CVariable::setValue(const char* pszValue)
+	{
+		std::string strTemp = pszValue;
+		if (m_format == SVFromat::A20) {
+			if (strTemp.length() > 20) {
+				strTemp = strTemp.substr(0, 20);
+			}
+		}
+		else if (m_format == SVFromat::A50) {
+			if (strTemp.length() > 50) {
+				strTemp = strTemp.substr(0, 50);
+			}
+		}
+
+		m_strValue = strTemp;
+	}
+
+	std::string CVariable::getValue()
+	{
+		std::string strRet;
+		if (m_format == SVFromat::U1 || m_format == SVFromat::U2 || m_format == SVFromat::I2) {
+			strRet = std::to_string(m_nValue);
+		}
+		else if(m_format == SVFromat::A20 || m_format == SVFromat::A50) {
+			strRet = m_strValue;
+		}
+
+		return strRet;
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.3