mrDarker
6 天以前 829fe6c6bc33d53fda9c31fd45a37e1df87befff
SourceCode/Bond/Servo/CRobotTask.h
@@ -1,7 +1,13 @@
#pragma once
#include "ServoCommo.h"
#include "Context.h"
#include "CEFEM.h"
#define ACTION_PICK         0         /* ȡ */
#define ACTION_PLACE      1         /* 放 */
#define ACTION_RESTORE      2         /* 回原点 */
#define ACTION_TRANSFER      3         /* 搬运 */
namespace SERVO {
   class CRobotTask
@@ -13,19 +19,37 @@
   public:
      std::string& getId();
      std::string getDescription() const;
      std::string getSimpleDescription() const;
      void setContext(CContext* pContext);
      CContext* getContext();
      void setRobotTransferParam(int seq, int armNo, int fromPos, int toPos, int fromSlot, int toSlot);
      ROBOT_CMD_PARAM& getRobotCmdParam();
      void setEFEM(CEFEM* pEFEM);
      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();
      int getSrcPosition();
      int getSrcSlot();
      int getTarPosition();
      int getTarSlot();
      CString getStateString();
      // 从源地拔片
      void fetchOut();
@@ -35,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;               /* 任务状态 */
@@ -43,7 +68,8 @@
      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;
   };
}