LAPTOP-SNT8I5JK\Boounion
2025-05-21 c0d56e6ac7ec15e232fb38c457eefc89cf80e9da
SourceCode/Bond/Servo/CEquipment.h
@@ -32,6 +32,7 @@
#include "CJobDataC.h"
#include "CJobDataS.h"
#include "CProcessData.h"
#include "CPortStatusReport.h"
namespace SERVO {
@@ -67,6 +68,56 @@
      int count;
      BOOL alive;
   } ALIVE;
   enum DISPATCHING_MODE {
      EAS = 1,
      Local = 2
   };
   enum IDNEXER_OPERATION_MODE {
      Normal = 1,
      Clear_Out = 2,
      Cold_Run = 2,
      Start = 10,
      Stop = 11,
      Pause = 12,
      Resume = 13,
      Abort = 14,
      Cancel = 15,
   };
   enum RCMD {
      Robot_home = 1,
      Transfer,
      Move,
      Get,
      Put,
      One_Action_Exchange,
      Two_Action_Exchange,
      Command_Clear,
      Batch_get,
      Batch_put
   };
   enum VCR_Reply_Code {
      OK = 1,
      NG,
      Job_Data_Request,
      VCR_Mismatch
   };
   // Robot cmd param
#define ROBOT_CMD_PARAM_SIZE      16         /* 防止以后修改ROBOT_CMD_PARAM为不是4的整数倍 */
   typedef struct _ROBOT_CMD_PARAM {
      short sequenceNo;
      short rcmd;
      short armNo;
      short getPosition;
      short putPosition;
      short getSlotNo;
      short putSlotNo;
      short subCmd;
   } ROBOT_CMD_PARAM;
   class CEquipment
   {
@@ -127,6 +178,7 @@
      virtual BOOL onPreStoredJob(int port, CJobDataB* pJobDataB);
      virtual int onStoredJob(int port, CJobDataB* pJobDataB);
      virtual int onProcessData(CProcessData* pProcessData);
      virtual int getIndexerOperationModeBaseValue();
      void getGlassList(std::list<CGlass*>& list);
      CGlass* getGlassFromList(const char* pszId);
      CGlass* getFrontGlass();
@@ -146,7 +198,11 @@
      int setCimMessage(const char* pszMessage, short id, short nTouchPanelNo);
      int clearCimMessage(short id, short nTouchPanelNo);
      int setDateTime(short year, short month, short day, short hour, short minute, short second);
      int setDispatchingMode(DISPATCHING_MODE mode, ONWRITED onWritedBlock = nullptr);
      int indexerOperationModeChange(IDNEXER_OPERATION_MODE mode, ONWRITED onWritedBlock = nullptr);
      // 请求主配方列表
      // unitNo: 0:local; Others:unit No
      int masterRecipeListRequest(short unitNo);
@@ -184,6 +240,7 @@
      int decodeSentOutJobReport(CStep* pStep, int port, const char* pszData, size_t size);
      int decodeFetchedOutJobReport(CStep* pStep, int port, const char* pszData, size_t size);
      int decodeStoredJobReport(CStep* pStep, int port, const char* pszData, size_t size);
      int decodeVCREventReport(CStep* pStep, const char* pszData, size_t size);
      int addJobDataB(CJobDataB* pJobDataB);
      int removeJobDataB(int nCassetteSequenceNo, int nJobSequenceNo);
      CJobDataB* getJobDataB(int nCassetteSequenceNo, int nJobSequenceNo);