#pragma once #include "ServoCommo.h" #include "Context.h" #include "CEFEM.h" namespace SERVO { class CRobotTask { public: CRobotTask(); virtual ~CRobotTask(); public: std::string& getId(); std::string getDescription() const; std::string getSimpleDescription() const; void setContext(CContext* pContext); CContext* getContext(); void setEFEM(CEFEM* pEFEM); void setRobotTransferParam(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot); ROBOT_CMD_PARAM& getRobotCmdParam(); time_t getCreateTime(); time_t getFetchoutTime(); time_t getStoredTime(); time_t getFinishTime(); ROBOT_TASK_STATE getState(); void run(); void completed(); void error(); void abort(); int getSrcPosition(); int getSrcSlot(); int getTarPosition(); int getTarSlot(); CString getStateString(); // ´ÓÔ´µØ°ÎƬ void fetchOut(); // ÔÚÄ¿µÄµØ·ÅƬ void stored(); private: static std::string& generateId(std::string& out); private: ROBOT_TASK_STATE m_state; /* ÈÎÎñ״̬ */ std::string m_strId; time_t m_timeCreate; /* ´´½¨Ê±¼ä */ time_t m_timeFetchOut; /* ȡƬʱ¼ä*/ time_t m_timeStored; /* ·ÅƬʱ¼ä */ time_t m_timeFinish; /* ½áÊøÊ±¼ä */ ROBOT_CMD_PARAM m_robotCmdParam; /* ²ÎÊý */ CContext* m_pContext; CEFEM* m_pEFEM; }; }