mrDarker
6 天以前 829fe6c6bc33d53fda9c31fd45a37e1df87befff
SourceCode/Bond/Servo/CLoadPort.h
@@ -1,4 +1,4 @@
#pragma once
#pragma once
#include "CEquipment.h"
#include "ServoCommo.h"
@@ -22,7 +22,6 @@
      virtual void serialize(CArchive& ar);
      virtual void getAttributeVector(CAttributeVector& attrubutes);
      virtual int recvIntent(CPin* pPin, CIntent* pIntent);
      virtual BOOL glassWillArrive(CGlass* pGlass);
      virtual void onReceiveLBData(const char* pszData, size_t size);
   public:
@@ -32,8 +31,20 @@
      int setCassetteType(CassetteType type, ONWRITED onWritedBlock = nullptr);
      int setTransferMode(TransferMode mode, ONWRITED onWritedBlock = nullptr);
      int eableAutoChange(BOOL bEnable, ONWRITED onWritedBlock = nullptr);
      void localEanblePort(BOOL bEnable);
      void localSetPortType(PortType type);
      void localSetPortMode(PortMode mode);
      void localSetCessetteType(CassetteType type);
      void localSetTransferMode(TransferMode mode);
      void localAutoChangeEnable(BOOL bEnable);
      short getScanCassetteMap();
      short getDownloadCassetteMap();
      void setDownloadCassetteMap(short map);
   public:
      short getNextCassetteSequenceNo();
      int getPortCassetteSnSeed();
      void setPortCassetteSnSeed(int seed);
      void setIndex(unsigned int index);
      unsigned int getIndex();
      BOOL isEnable();
@@ -45,11 +56,15 @@
      int getPortStatus();
      int getCassetteSequenceNo();
      std::string& getCassetteId();
      // Simulation helper: allow setting CarrierID when no EFEM is connected.
      void simulateSetCassetteId(const char* pszCarrierId);
      int getLoadingCassetteType();
      int getQTimeFlag();
      int getCassetteMappingState();
      int getCassetteStatus();
      int testGenerateGlassList(MaterialsType type, int count, const char* pszPrefix, int startSuffix);
      int testGenerateGlassList(MaterialsType type);
      int generateGlassList(short map);
      int testGenerateGlassListFromConfig(const SERVO::PortConfig& config);
   public:
      static std::string& getPortTypeDescription(PortType portType, std::string& strDescription);
@@ -64,14 +79,16 @@
      static std::string& getCassetteStatusDescription(int state, std::string& strDescription);
   public:
      virtual int outputGlass(int port);
      int sendCassetteCtrlCmd(short cmd,
         short* jobExistence,
         int jobExistenceSize,
         short slotProcess,
         short jopCount,
         CJobDataA* pJobDataA);
         CJobDataA* pJobDataA,
         ONWRITED onWritedBlock);
      CStep* getCassetteCtrlCmdStep();
      void setCompareMapsBeforeProceeding(BOOL bCompare);
      BOOL isCompareMapsBeforeProceeding() const;
   private:
      int decodePortStatusReport(CStep* pStep, const char* pszData, size_t size);
@@ -85,6 +102,10 @@
      BOOL m_bEnable;
      BOOL m_bAutoChangeEnable;
      CPortStatusReport m_portStatusReport;
      int m_nNextCassetteSequenceNo;
      // 在开始工艺前是否先需要先比较map
      BOOL m_isCompareMapsBeforeProceeding;
      short m_downloadCassetteMap;
   };
}