#pragma once
|
#include "CEquipment.h"
|
#include "ServoCommo.h"
|
|
|
namespace SERVO {
|
class CLoadPort :
|
public CEquipment
|
{
|
public:
|
CLoadPort();
|
virtual ~CLoadPort();
|
|
public:
|
virtual const char* getClassName();
|
virtual void init();
|
virtual void term();
|
virtual void initPins();
|
virtual void initSteps();
|
virtual void initSlots();
|
virtual void onTimer(UINT nTimerid);
|
virtual void serialize(CArchive& ar);
|
virtual void getAttributeVector(CAttributeVector& attrubutes);
|
virtual int recvIntent(CPin* pPin, CIntent* pIntent);
|
virtual void onReceiveLBData(const char* pszData, size_t size);
|
|
public:
|
int setPortType(PortType type, ONWRITED onWritedBlock = nullptr);
|
int eablePort(BOOL bEnable, ONWRITED onWritedBlock = nullptr);
|
int setPortMode(PortMode mode, ONWRITED onWritedBlock = nullptr);
|
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();
|
PortType getPortType();
|
PortMode getPortMode();
|
CassetteType getCessetteType();
|
TransferMode getTransferMode();
|
BOOL isAutoChange();
|
int getPortStatus();
|
int getCassetteSequenceNo();
|
std::string& getCassetteId();
|
int getLoadingCassetteType();
|
int getQTimeFlag();
|
int getCassetteMappingState();
|
int getCassetteStatus();
|
int testGenerateGlassList(MaterialsType type);
|
int generateGlassList(short map);
|
int testGenerateGlassListFromConfig(const SERVO::PortConfig& config);
|
|
public:
|
static std::string& getPortTypeDescription(PortType portType, std::string& strDescription);
|
static std::string& getPortModeDescription(PortMode portMode, std::string& strDescription);
|
static std::string& getPortCassetteTypeDescription(CassetteType casseteType, std::string& strDescription);
|
static std::string& getPortTransferModeDescription(TransferMode mode, std::string& strDescription);
|
static std::string& getEnableModeDescription(int mode, std::string& strDescription);
|
static std::string& getPortStatusDescription(int portStatus, std::string& strDescription);
|
static std::string& getLoadingCassetteTypeDescription(int type, std::string& strDescription);
|
static std::string& getQTimeFlagDescription(int flag, std::string& strDescription);
|
static std::string& getCassetteMappingStateDescription(int state, std::string& strDescription);
|
static std::string& getCassetteStatusDescription(int state, std::string& strDescription);
|
|
public:
|
int sendCassetteCtrlCmd(short cmd,
|
short* jobExistence,
|
int jobExistenceSize,
|
short slotProcess,
|
short jopCount,
|
CJobDataA* pJobDataA,
|
ONWRITED onWritedBlock);
|
CStep* getCassetteCtrlCmdStep();
|
void setCompareMapsBeforeProceeding(BOOL bCompare);
|
BOOL isCompareMapsBeforeProceeding() const;
|
|
private:
|
int decodePortStatusReport(CStep* pStep, const char* pszData, size_t size);
|
|
private:
|
unsigned int m_nIndex;
|
PortType m_portType;
|
PortMode m_portMode;
|
CassetteType m_cassetteType;
|
TransferMode m_transferMode;
|
BOOL m_bEnable;
|
BOOL m_bAutoChangeEnable;
|
CPortStatusReport m_portStatusReport;
|
int m_nNextCassetteSequenceNo;
|
|
// 在开始工艺前是否先需要先比较map
|
BOOL m_isCompareMapsBeforeProceeding;
|
short m_downloadCassetteMap;
|
};
|
}
|