LAPTOP-SNT8I5JK\Boounion
2025-09-05 e5e9813464da7c145e39470d459382d1ea396746
SourceCode/Bond/Servo/Model.cpp
@@ -382,11 +382,59 @@
         }
         m_hsmsPassive.requestEventReportSend_CarrierID_Readed();
      }
      else if (status == PORT_BLOCKED) {
         SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
         if (pLoadPort != nullptr) {
            m_hsmsPassive.setVariableValue("BlockedPortId", pLoadPort->getID());
         }
         m_hsmsPassive.requestEventReportSend_Port_Blocked();
      }
      else if (status == PORT_LOAD_READY) {
         SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
         if (pLoadPort != nullptr) {
            m_hsmsPassive.setVariableValue("LoadReadyPortId", pLoadPort->getID());
         }
         m_hsmsPassive.requestEventReportSend_Port_Load_Ready();
      }
      else if (status == PORT_UNLOAD_READY) {
         SERVO::CLoadPort* pLoadPort = dynamic_cast<SERVO::CLoadPort*>(pEquipment);
         if (pLoadPort != nullptr) {
            m_hsmsPassive.setVariableValue("UnloadReadyPortId", pLoadPort->getID());
         }
         m_hsmsPassive.requestEventReportSend_Port_Unload_Ready();
      }
      notifyPtr(RX_CODE_LOADPORT_STATUS_CHANGED, pEquipment);
   };
   masterListener.onCTRoundEnd = [&](void* pMaster, int round) {
      m_configuration.setContinuousTransferCount(round);
   };
   masterListener.onCjStart = [&](void* pMaster, void* pj) {
      m_hsmsPassive.setVariableValue("CJStartID", ((SERVO::CControlJob*)pj)->id().c_str());
      m_hsmsPassive.requestEventReportSend_CJ_Start();
   };
   masterListener.onCjEnd = [&](void* pMaster, void* pj) {
      m_hsmsPassive.setVariableValue("CJEndID", ((SERVO::CControlJob*)pj)->id().c_str());
      m_hsmsPassive.requestEventReportSend_CJ_End();
      // 结批,保存ControlJob
      //
   };
   masterListener.onPjStart = [&](void* pMaster, void* pj) {
      m_hsmsPassive.setVariableValue("PJStartID", ((SERVO::CProcessJob*)pj)->id().c_str());
      m_hsmsPassive.requestEventReportSend_PJ_Start();
   };
   masterListener.onPjEnd = [&](void* pMaster, void* pj) {
      m_hsmsPassive.setVariableValue("PJEndID", ((SERVO::CProcessJob*)pj)->id().c_str());
      m_hsmsPassive.requestEventReportSend_PJ_End();
   };
   masterListener.onPanelStart = [&](void* pMaster, void* pj) {
      m_hsmsPassive.setVariableValue("PanelStartID", ((SERVO::CGlass*)pj)->getID().c_str());
      m_hsmsPassive.requestEventReportSend_Panel_Start();
   };
   masterListener.onPanelEnd = [&](void* pMaster, void* pj) {
      m_hsmsPassive.setVariableValue("PanelEndID", ((SERVO::CGlass*)pj)->getID().c_str());
      m_hsmsPassive.requestEventReportSend_Panel_End();
   };
   m_master.setListener(masterListener);
   m_master.setContinuousTransferCount(m_configuration.getContinuousTransferCount());