SourceCode/Bond/Servo/CEquipment.h
@@ -45,6 +45,7 @@
   typedef std::function<void(void* pEiuipment, int state, int alarmId, int unitId, int level)> ONALARM;
   typedef std::function<void(void* pEiuipment, void* pReport)> ONVCREVENTREPORT;
   typedef std::function<BOOL(void* pEiuipment, CJobDataB* pJobDataB)> ONPREFETCHEDOUTJOB;
   typedef std::function<BOOL(void* pEiuipment, CJobDataB* pJobDataB, short& putSlot)> ONPRESTOREDJOB;
   typedef struct _EquipmentListener
   {
      ONALIVE            onAlive;
@@ -53,6 +54,7 @@
      ONDATACHANGED      onDataChanged;
      ONVCREVENTREPORT   onVcrEventReport;
      ONPREFETCHEDOUTJOB   onPreFethedOutJob;
      ONPRESTOREDJOB      onPreStoredJob;
   } EquipmentListener;
@@ -104,12 +106,12 @@
      std::vector<CPin*>& CEquipment::getOutputPins();
      virtual int recvIntent(CPin* pPin, CIntent* pIntent);
      virtual int fetchedOutJob(CJobDataB* pJobDataB);
      virtual int storedJob(CJobDataB* pJobDataB);
      virtual int storedJob(CJobDataB* pJobDataB, short& putSlot);
      virtual int onReceivedJob(int port, CJobDataS* pJobDataS);
      virtual int onSentOutJob(int port, CJobDataS* pJobDataS);
      virtual BOOL onPreFetchedOutJob(int port, CJobDataB* pJobDataB);
      virtual int onFetchedOutJob(int port, CJobDataB* pJobDataB);
      virtual BOOL onPreStoredJob(int port, CJobDataB* pJobDataB);
      virtual BOOL onPreStoredJob(int port, CJobDataB* pJobDataB, short& putSlot);
      virtual int onStoredJob(int port, CJobDataB* pJobDataB);
      virtual int onProcessData(CProcessData* pProcessData);
      virtual int getIndexerOperationModeBaseValue();
@@ -149,8 +151,14 @@
      // 获取一个指定物料类型(G1,G2,G1&G2)的空槽位
      CSlot* getAvailableSlotForGlass(MaterialsType type);
      // 在指定的槽列表中,获取一个指定物料类型(G1,G2,G1&G2)的空槽位
      CSlot* getAvailableSlotForGlass2(MaterialsType type, const std::vector<int>& candidates);
      // 获取一个指定物料类型(G1,G2,G1&G2)的非空槽位
      CSlot* getNonEmptySlot(MaterialsType type);
      // 获取一个指定物料类型(G1,G2,G1&G2)的且已经加工处理的槽位
      CSlot* getProcessedSlot(MaterialsType putSlotType);
      // 获取玻璃物料
      CGlass* getGlassFromSlot(int slotNo);
@@ -162,6 +170,13 @@
      // 是否有玻璃
      BOOL hasGlass();
      // 获取指定ID的glass
      CGlass * getGlass(const char* pszGlassId);
      // 指定槽位是否可以放置玻璃
      BOOL canPlaceGlassInSlot(const short slotIndex);
   // 以下为从CC-Link读取到的Bit标志位检测函数
   public:
      BOOL isAlive();