From b71bd05e422437b998bf367c5a28bb8455400c78 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 09 六月 2025 15:59:10 +0800
Subject: [PATCH] 1.LoadPort数据(PortType, PortMode等)的存储和还原; 2.Measurement -> LoadPort物流调度逻辑实现;
---
SourceCode/Bond/Servo/CPortStatusReport.cpp | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPortStatusReport.cpp b/SourceCode/Bond/Servo/CPortStatusReport.cpp
index 6b2b7ca..03864e2 100644
--- a/SourceCode/Bond/Servo/CPortStatusReport.cpp
+++ b/SourceCode/Bond/Servo/CPortStatusReport.cpp
@@ -176,6 +176,34 @@
std::to_string(m_nCassetteStatus).c_str(), "", weight++));
}
+ void CPortStatusReport::serialize(CArchive& ar)
+ {
+ if (ar.IsStoring()) {
+ ar << m_nPortStatus;
+ ar << m_nCassetteSequenceNo;
+ WriteString(ar, m_strCassetteID);
+ for (int i = 0; i < 12; i++) {
+ ar << m_nJobExistenceSlot[i];
+ }
+ ar << m_nLoadingCassetteType;
+ ar << m_nQTimeFlag;
+ ar << m_nCassetteMappingState;
+ ar << m_nCassetteStatus;
+ }
+ else {
+ ar >> m_nPortStatus;
+ ar >> m_nCassetteSequenceNo;
+ ReadString(ar, m_strCassetteID);
+ for (int i = 0; i < 12; i++) {
+ ar >> m_nJobExistenceSlot[i];
+ }
+ ar >> m_nLoadingCassetteType;
+ ar >> m_nQTimeFlag;
+ ar >> m_nCassetteMappingState;
+ ar >> m_nCassetteStatus;
+ }
+ }
+
bool CPortStatusReport::canPickFromPort()
{
// 1. Port 状态必须是 Load Ready(上料请求)
@@ -208,5 +236,18 @@
return false;
}
+
+ void CPortStatusReport::WriteString(CArchive& ar, std::string& string)
+ {
+ CString strTemp = string.c_str();
+ ar << strTemp;
+ }
+
+ void CPortStatusReport::ReadString(CArchive& ar, std::string& string)
+ {
+ CString strTemp;
+ ar >> strTemp;
+ string = (LPTSTR)(LPCTSTR)strTemp;
+ }
}
--
Gitblit v1.9.3