chenluhua1980
2025-12-12 c7a412c515aa2344fa776f4692d8f4a7607b3de6
SourceCode/Bond/Servo/Model.cpp
@@ -9,6 +9,7 @@
#include "TransferManager.h"
#include "RecipeManager.h"
#include "GlassLogDb.h"
#include <map>
CModel::CModel()
@@ -401,6 +402,10 @@
   };
   masterListener.onLoadPortStatusChanged = [&] (void* pMaster, SERVO::CEquipment* pEquipment, short status, __int64 data) {
      LOGE("<CModel>onLoadPortStatusChanged. status = %d", status);
      static std::map<int, short> s_prevPortStatus;
      const int eqId = (pEquipment != nullptr) ? pEquipment->getID() : 0;
      const short prevStatus = s_prevPortStatus[eqId];
      s_prevPortStatus[eqId] = status;
      if (status == PORT_INUSE) {
         SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
         if (pLoadPort != nullptr) {
@@ -426,6 +431,10 @@
         SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
         if (pLoadPort != nullptr) {
            m_hsmsPassive.setVariableValue("UnloadReadyPortId", pLoadPort->getID());
            if (prevStatus == PORT_INUSE) {
               m_hsmsPassive.setVariableValue("ReadyToReleasePortId", pLoadPort->getID());
               m_hsmsPassive.requestEventReportSend_Port_Ready_To_Release();
            }
         }
         m_hsmsPassive.requestEventReportSend_Port_Unload_Ready();
      }