LAPTOP-SNT8I5JK\Boounion
2025-08-07 048314c011c688bb4f0f45079f978d3564f8276f
SourceCode/Bond/Servo/CMaster.cpp
@@ -748,10 +748,17 @@
               CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
            }
            // Bonder2 -> BakeCooling
            // VacuumBake(G1) -> BakeCooling
            if (!rmd.armState[0]) {
               m_pActiveRobotTask = createTransferTask_continuous_transfer(pVacuumBake,
                  0, pBakeCooling, 0);
               CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
            }
            // Bonder2 -> VacuumBake(G1)
            if (!rmd.armState[0]) {
               m_pActiveRobotTask = createTransferTask_continuous_transfer(pBonder2,
                  0, pBakeCooling, 0);
                  0, pVacuumBake, 0);
               CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
            }
@@ -762,17 +769,10 @@
               CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
            }
            // VacuumBake(G1) -> Bonder1
            // Fliper(G2) -> Bonder1
            if (!rmd.armState[0] && !pBonder1->hasBondClass()) {
               m_pActiveRobotTask = createTransferTask_continuous_transfer(pVacuumBake,
                  0, pBonder1, 0);
               CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
            }
            // Fliper(G2) -> VacuumBake(G1)
            if (!rmd.armState[0]) {
               m_pActiveRobotTask = createTransferTask_continuous_transfer(pFliper,
                  0, pVacuumBake, 0);
                  0, pBonder1, 1);
               CHECK_RUN_ACTIVE_ROBOT_TASK(m_pActiveRobotTask);
            }
@@ -822,6 +822,16 @@
   unsigned CMaster::ReadBitsProc()
   {
      // 标志位清0复位
      {
         StationIdentifier station;
         station.nNetNo = 0;
         station.nStNo = 255;
         char szBuffer[528] = { 0 };   // 0x0, 0x1087
         m_cclink.WriteData(station, (long)DeviceType::B, 0, 528, (short*)szBuffer);
      }
      while (1) {
         // 待退出信号或时间到
         int nRet = ::WaitForSingleObject(m_hEventReadBitsThreadExit[0], 1000);
@@ -1034,7 +1044,7 @@
            ((CEquipment*)pEquipment)->getName().c_str(), scanMap, downMap);
      };
      listener.onPortStatusChanged = [&](void* pEquipment, short status, __int64 data) {
         LOGE("<Master-%s>Port InUse。status=%d, data=%lld", ((CEquipment*)pEquipment)->getName().c_str(), status);
         LOGE("<Master-%s>onPortStatusChanged。status=%d, data=%lld", ((CEquipment*)pEquipment)->getName().c_str(), status);
         if (m_listener.onLoadPortStatusChanged != nullptr) {
            m_listener.onLoadPortStatusChanged(this, (CEquipment*)pEquipment, status, data);
         }