From 92c468d386d33f5e74916a7afd290e50ce0d5d6f Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 12 六月 2025 11:57:43 +0800
Subject: [PATCH] 1.修改连接图

---
 SourceCode/Bond/Servo/CRobotTask.cpp |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CRobotTask.cpp b/SourceCode/Bond/Servo/CRobotTask.cpp
index 3112351..dc1b82e 100644
--- a/SourceCode/Bond/Servo/CRobotTask.cpp
+++ b/SourceCode/Bond/Servo/CRobotTask.cpp
@@ -1,6 +1,7 @@
 #include "stdafx.h"
 #include "CRobotTask.h"
 #include "ToolUnits.h"
+#include "Log.h"
 
 
 namespace SERVO {
@@ -13,6 +14,7 @@
 		m_timeStored = 0;
 		m_timeFinish = 0;
 		m_pContext = nullptr;
+		m_pEFEM = nullptr;
 	}
 
 	CRobotTask::~CRobotTask()
@@ -78,6 +80,11 @@
 		return m_pContext;
 	}
 
+	void CRobotTask::setEFEM(CEFEM* pEFEM)
+	{
+		m_pEFEM = pEFEM;
+	}
+
 	std::string& CRobotTask::generateId(std::string& out)
 	{
 		char szBuffer[256];
@@ -139,6 +146,30 @@
 		return m_state;
 	}
 
+	void CRobotTask::run()
+	{
+		ASSERT(m_pEFEM);
+		m_state = ROBOT_TASK_STATE::Running;
+
+		static int seq = 0;
+		m_pEFEM->robotSendTransfer(++seq,
+			m_robotCmdParam.armNo,
+			m_robotCmdParam.getPosition, 
+			m_robotCmdParam.putPosition,
+			m_robotCmdParam.getSlotNo,
+			m_robotCmdParam.putSlotNo, 
+			[&](int code) -> int {
+				if (code == WOK) {
+					LOGI(_T("RobotTask已下发到EFEM"));
+				}
+				else {
+					LOGI(_T("RobotTask已下发失败"));
+				}
+
+				return 0;
+			});
+	}
+
 	void CRobotTask::completed()
 	{
 		m_state = ROBOT_TASK_STATE::Completed;
@@ -174,6 +205,18 @@
 		return m_robotCmdParam.putSlotNo;
 	}
 
+	CString CRobotTask::getStateString()
+	{
+		switch (m_state) {
+		case ROBOT_TASK_STATE::Ready:     return _T("Ready");
+		case ROBOT_TASK_STATE::Running:   return _T("Running");
+		case ROBOT_TASK_STATE::Error:     return _T("Error");
+		case ROBOT_TASK_STATE::Abort:     return _T("Abort");
+		case ROBOT_TASK_STATE::Completed: return _T("Completed");
+		default:                          return _T("Unknown");
+		}
+	}
+
 	void CRobotTask::fetchOut()
 	{
 		m_timeFetchOut = CToolUnits::getUnixTimestamp();;

--
Gitblit v1.9.3