| | |
| | | LOGI(_T("RobotTask已下发到EFEM")); |
| | | } |
| | | else { |
| | | LOGI(_T("RobotTask已下发失败")); |
| | | LOGI(_T("RobotTask下发失败")); |
| | | } |
| | | |
| | | return 0; |
| | |
| | | }); |
| | | } |
| | | |
| | | void CRobotTask::resend() |
| | | { |
| | | // 重新下发命令,无非是下发取料或下发放料的命令,根据当前状态来 |
| | | if (ROBOT_TASK_STATE::Picking == m_state || ROBOT_TASK_STATE::Picked == m_state) { |
| | | pick(); |
| | | } |
| | | else if (ROBOT_TASK_STATE::Placing == m_state) { |
| | | place(); |
| | | } |
| | | } |
| | | |
| | | void CRobotTask::completed() |
| | | { |
| | | m_state = ROBOT_TASK_STATE::Completed; |
| | | } |
| | | |
| | | void CRobotTask::restored() |
| | | { |
| | | m_state = ROBOT_TASK_STATE::Restored; |
| | | } |
| | | |
| | | void CRobotTask::error() |
| | |
| | | case EQ_ID_LOADPORT2: |
| | | case EQ_ID_LOADPORT3: |
| | | case EQ_ID_LOADPORT4: |
| | | tarPos = srcPos; |
| | | tarSlot = srcSlot; |
| | | break; |
| | | case EQ_ID_ARM_TRAY1: |
| | | case EQ_ID_ARM_TRAY2: |
| | | case EQ_ID_ALIGNER: |
| | |
| | | break; |
| | | case EQ_ID_Bonder1: |
| | | if (1 <= srcSlot && srcSlot <= 2) { |
| | | tarPos = 9 + srcSlot; |
| | | tarPos = 9 + srcSlot - 1; |
| | | tarSlot = 1; |
| | | } |
| | | break; |
| | | case EQ_ID_Bonder2: |
| | | if (1 <= srcSlot && srcSlot <= 2) { |
| | | tarPos = 11 + srcSlot; |
| | | tarPos = 11 + srcSlot - 1; |
| | | tarSlot = 1; |
| | | } |
| | | break; |
| | | case EQ_ID_VACUUMBAKE: |
| | | if (1 <= srcSlot && srcSlot <= 2) { |
| | | tarPos = 13 + srcSlot; |
| | | tarPos = 13 + srcSlot - 1; |
| | | tarSlot = 1; |
| | | } |
| | | break; |
| | | case EQ_ID_BAKE_COOLING: |
| | | if (1 <= srcSlot && srcSlot <= 4) { |
| | | tarPos = 15 + srcSlot; |
| | | tarPos = 15 + srcSlot - 1; |
| | | tarSlot = 1; |
| | | } |
| | | break; |