From 517c0e8eba29ff41afbbc0abb0f913914b37e4e1 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期二, 27 一月 2026 10:59:09 +0800
Subject: [PATCH] 1.SlotMap Mismatch 事件
---
SourceCode/Bond/Servo/Model.cpp | 19 ++++++++++++++++---
SourceCode/Bond/x64/Debug/VariableList.txt | 14 ++++++++++++--
2 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/Model.cpp b/SourceCode/Bond/Servo/Model.cpp
index ce34d63..6cbe9c2 100644
--- a/SourceCode/Bond/Servo/Model.cpp
+++ b/SourceCode/Bond/Servo/Model.cpp
@@ -333,12 +333,25 @@
return CAACK_5;
}
+ const short scanMap = pLoadPort->getScanCassetteMap();
+ const short downloadMap = pLoadPort->getDownloadCassetteMap();
m_hsmsPassive.withVariableLock([&] {
- m_hsmsPassive.setVariableValue("SlotMapScan", pLoadPort->getScanCassetteMap());
- m_hsmsPassive.setVariableValue("SlotMapDownload", pLoadPort->getDownloadCassetteMap());
- m_hsmsPassive.requestEventReportSend_SlotMapVerificationOK();
+ m_hsmsPassive.setVariableValue("SlotMapScan", scanMap);
+ m_hsmsPassive.setVariableValue("SlotMapDownload", downloadMap);
+ if (scanMap != downloadMap) {
+ m_hsmsPassive.requestEventReportSend_SlotMapVerificationNG();
+ m_hsmsPassive.requestEventReportSend("SlotMapMismatch");
+ }
+ else {
+ m_hsmsPassive.requestEventReportSend_SlotMapVerificationOK();
+ }
});
+ if (scanMap != downloadMap) {
+ strErrorTxt = "rejected - SlotMap mismatch";
+ return CAACK_5;
+ }
+
// Host 纭 SlotMap 鍚庡啀寮�濮嬪姞宸�/娴佺▼
m_master.proceedWithCarrier(portIndex);
return CAACK_0;
diff --git a/SourceCode/Bond/x64/Debug/VariableList.txt b/SourceCode/Bond/x64/Debug/VariableList.txt
index 71f7fbc..386ba84 100644
--- a/SourceCode/Bond/x64/Debug/VariableList.txt
+++ b/SourceCode/Bond/x64/Debug/VariableList.txt
@@ -1,6 +1,16 @@
SVID,SV Name,SV Format,SV Remark
-100,PortTransferState,U1,0=OutOfService;1=ReadyToLoad/LoadRequest;2=Loaded;3=InUse/LoadComplete;4=ReadyToUnload/UnloadRequest;5=Empty/UnloadComplete;6=TransferBlocked
-300,AccessMode,U1,0=Auto;1=Manual
+10000,CarrierID_P1,A50,Carrier ID for Port 1
+10001,CarrierID_P2,A50,Carrier ID for Port 2
+10002,CarrierID_P3,A50,Carrier ID for Port 3
+10003,CarrierID_P4,A50,Carrier ID for Port 4
+100,PortTransferState_P1,U1,1=LoadReady;2=Loaded;3=InUse;4=UnloadReady;5=Empty;6=Blocked
+101,PortTransferState_P2,U1,1=LoadReady;2=Loaded;3=InUse;4=UnloadReady;5=Empty;6=Blocked
+102,PortTransferState_P3,U1,1=LoadReady;2=Loaded;3=InUse;4=UnloadReady;5=Empty;6=Blocked
+103,PortTransferState_P4,U1,1=LoadReady;2=Loaded;3=InUse;4=UnloadReady;5=Empty;6=Blocked
+300,AccessMode_P1,U1,0=OutOfService;1=TransferBlocked;2=ReadyToLoad;3=ReadyToUnload;4=InService;5=TransferReady
+301,AccessMode_P2,U1,0=OutOfService;1=TransferBlocked;2=ReadyToLoad;3=ReadyToUnload;4=InService;5=TransferReady
+302,AccessMode_P3,U1,0=OutOfService;1=TransferBlocked;2=ReadyToLoad;3=ReadyToUnload;4=InService;5=TransferReady
+303,AccessMode_P4,U1,0=OutOfService;1=TransferBlocked;2=ReadyToLoad;3=ReadyToUnload;4=InService;5=TransferReady
500,Clock,A50,Current timestamp string
600,CurrentControlState,U1,0=OfflineEquipment;1=OfflineAttempt;2=Online;3=OfflineHost;4=OnlineLocal;5=OnlineRemote
601,PreviousControlState,U1,Previous control state (same code set as CurrentControlState)
--
Gitblit v1.9.3