From 9198ac12e4e2ff64a2cf65c32d576f02d54c346a Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期六, 10 一月 2026 16:50:32 +0800
Subject: [PATCH] 1.S1F3_CurrentRecipe,S6F11_RecipeChange实现。
---
SourceCode/Bond/Servo/CLoadPort.cpp | 38 ++++++++++++++++++--------------------
1 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index 73549bf..0df47b8 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -364,7 +364,6 @@
// 妯℃嫙娴嬭瘯
- /*
if (m_nIndex == 0) {
static int ii = 0;
ii++;
@@ -377,6 +376,7 @@
portStatusReport.setCassetteId("CID1001");
int nRet = portStatusReport.serialize(szBuffer, 64);
decodePortStatusReport(pStep, szBuffer, 64);
+ LOGI("<CLoadPort>Port1杞藉叆妯℃嫙鏁版嵁锛� id:CID1001 map: 0xf");
}
}
if (m_nIndex == 1) {
@@ -391,9 +391,9 @@
portStatusReport.setCassetteId("CID1004");
int nRet = portStatusReport.serialize(szBuffer, 64);
decodePortStatusReport(pStep, szBuffer, 64);
+ LOGI("<CLoadPort>Port2杞藉叆妯℃嫙鏁版嵁锛� id:CID1004 map: 0xff");
}
}
- */
}
void CLoadPort::serialize(CArchive& ar)
@@ -559,6 +559,11 @@
std::string& CLoadPort::getCassetteId()
{
return m_portStatusReport.getCassetteId();
+ }
+
+ void CLoadPort::simulateSetCassetteId(const char* pszCarrierId)
+ {
+ m_portStatusReport.setCassetteId(pszCarrierId);
}
int CLoadPort::getLoadingCassetteType()
@@ -937,25 +942,13 @@
// 褰損ort鐘舵�佷负InUse, 姣旇緝map
if (m_portStatusReport.getPortStatus() == PORT_INUSE) {
- if (m_isCompareMapsBeforeProceeding) {
- short scanMap = getScanCassetteMap();
- short downloadMap = getDownloadCassetteMap();
- if (scanMap == downloadMap) {
- generateGlassList(scanMap);
- this->sendCassetteCtrlCmd(CCC_PROCESS_START, nullptr, 0, 0, 0, nullptr, nullptr);
- }
- else {
- this->sendCassetteCtrlCmd(CCC_PROCESS_CANCEL, nullptr, 0, 0, 0, nullptr, nullptr);
+ // 鐢熸垚鐜荤拑鍒楄〃锛氭潵鑷� EFEM 鎵弿鍒扮殑 map
+ generateGlassList(getScanCassetteMap());
- // 鎶涘嚭鍒板簲鐢ㄥ眰鍋氭彁绀�
- if (m_listener.onMapMismatch != nullptr) {
- m_listener.onMapMismatch(this, scanMap, downloadMap);
- }
- }
- }
- else {
- // 鎶涘嚭鍒板簲鐢ㄥ眰鍋氶�夋嫨瑕佸姞宸ョ殑鐗囧瓙
- generateGlassList(getScanCassetteMap());
+ // CompareMapsBeforeProceeding锛氫笉鍦ㄦ澶勮嚜鍔� Start/Cancel锛屾敼涓虹瓑寰� Host 鍐崇瓥锛圥roceedWithCarrier/ProceedWithSlotMap/CarrierRelease锛�
+ // Host 鍐崇瓥鍏ュ彛锛歋3F17 CarrierAction -> listener.onCarrierAction -> CMaster::proceedWithCarrier()/carrierRelease()
+ if (m_isCompareMapsBeforeProceeding) {
+ // 杩欓噷浠呯瓑寰咃紝鍏蜂綋涓婃姤鐢变笂灞傚湪 PORT_INUSE 浜嬩欢涓Е鍙戯紙S6F11 CheckSlotMap锛�
}
}
if (m_listener.onPortStatusChanged != nullptr) {
@@ -1324,4 +1317,9 @@
{
m_isCompareMapsBeforeProceeding = bCompare;
}
+
+ BOOL CLoadPort::isCompareMapsBeforeProceeding() const
+ {
+ return m_isCompareMapsBeforeProceeding;
+ }
}
--
Gitblit v1.9.3