mrDarker
2025-09-01 9370dd2497683084f8c0ae958f8be5dec34bd2f1
SourceCode/Bond/Servo/CRobotTask.h
@@ -4,6 +4,11 @@
#include "CEFEM.h"
#define ACTION_PICK         0         /* ȡ */
#define ACTION_PLACE      1         /* 放 */
#define ACTION_RESTORE      2         /* 回原点 */
#define ACTION_TRANSFER      3         /* 搬运 */
namespace SERVO {
   class CRobotTask
   {
@@ -18,14 +23,25 @@
      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();
      int setRobotTransferParam(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot);
      ROBOT_CMD_PARAM& getRobotCmdParam(int index);
      time_t getCreateTime();
      time_t getFetchoutTime();
      time_t getStoredTime();
      time_t getFinishTime();
      int getArmNo();
      ROBOT_TASK_STATE getState();
      bool isPicking();
      bool isPicked();
      bool isPlacing();
      bool isRestoring();
      void run();
      void pick();
      void picked();
      void place();
      void restore();
      void restored();
      void resend();
      void completed();
      void error();
      void abort();
@@ -43,6 +59,7 @@
   private:
      static std::string& generateId(std::string& out);
      void transformPosAndSlot(int srcPos, int srcSlot, int& tarPos, int& tarSlot);
   private:
      ROBOT_TASK_STATE m_state;               /* 任务状态 */
@@ -51,7 +68,7 @@
      time_t m_timeFetchOut;                  /* 取片时间*/
      time_t m_timeStored;                  /* 放片时间 */
      time_t m_timeFinish;                  /* 结束时间 */
      ROBOT_CMD_PARAM m_robotCmdParam;         /* 参数 */
      ROBOT_CMD_PARAM m_robotCmdParam[4];         /* 参数 */
      CContext* m_pContext;
      CEFEM* m_pEFEM;
   };