You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
3.1 KiB
C

#pragma once
#include <string>
static const int COM_BUF_LEN = 128; //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>buf <20>ij<EFBFBD><C4B3><EFBFBD>
static int LOADPORT_LEFT = 0;
static int LOADPORT_CENTER = 1;
static int LOADPORT_RIGHT = 2;
enum eTransferType
{
_Transfer_Null = 0,
_Transfer_Init,
_Transfer_Scan, //<2F>Ϻ<EFBFBD>ɨ<EFBFBD><C9A8>
_Transfer_Grab_Wafer, //ȡ<><C8A1>
_Transfer_Arm1ToAlign_Wafer, //׼ֱ
_Transfer_Aligner_Wafer, //׼ֱ
_Transfer_AlignToArm2_Wafer,
_Transfer_ToPlat_Wafer, //<2F><>ƽ̨
_Transfer_PlatToArm2_Wafer,
_Transfer_Arm2ToAligner_Wafer,
_Transfer_Aligner2_Wafer,//ƽ̨<C6BD><CCA8>׼ֱ
_Transfer_AlignToArm1_Wafer,
_Transfer_Upper_Wafer, //<2F><><EFBFBD><EFBFBD>
_Transfer_ReadRfd, //<2F><>ȡRfd
};
//cmd <20>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum eRobotCmdSendType
{
_RobotCmdSendType_SendOnly = 0,//ֻ<><D6BB><EFBFBD><EFBFBD>
_RobotCmdSendType_WaitFeedback,//<2F><><EFBFBD>ͺ<EFBFBD>ֻ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><
_RobotCmdSendType_WaitCmdEnd,//<2F>ȴ<EFBFBD>cmdִ<64><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>< <20><><EFBFBD><EFBFBD>cmd <20><>ͬstr)
_RobotCmdSendType_ImmediateReadFeedback,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>(ͬ<><CDAC>)
};
//<2F><><EFBFBD>͸<EFBFBD>robot <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν)
enum eRobotCmdType
{
_RobotCmd_TransferWafer = 0,//<2F><><EFBFBD><EFBFBD>wafer
_RobotCmd_ToWaitPos,//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ȴ<EFBFBD>λ<EFBFBD><CEBB>
_RobotCmd_Org,//<2F><><EFBFBD>ô<EFBFBD><C3B4>󣬲<EFBFBD><F3A3ACB2>һ<EFBFBD>ԭ<EFBFBD><D4AD>
_RobotCmd_ResetErr,//<2F><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>
_RobotCmd_QueryState,//<2F><>ѯ״̬
_RobotCmd_QueryCoord1,//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>1
_RobotCmd_QueryCoord2,//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>2
_RobotCmd_QueryCoord3,//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>3
_RobotCmd_Sevon,//<2F><><EFBFBD><EFBFBD>
_RobotCmd_Arm1VacOff,//arm1<6D><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_RobotCmd_Arm2VacOff,//arm2<6D><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_RobotCmd_Arm1Arm2MergePos,//Arm1<6D><31>Arm2<6D>ϲ<EFBFBD>λ<EFBFBD><CEBB>
_RobotCmd_AlignerExt,//׼ֱִ<D6B1><D6B4>
_RobotCmd_AlignerOrg,//׼ֱorg
_RobotCmd_AlignerTakeStation,//ȡ<><C8A1>λ<EFBFBD><CEBB>
_RobotCmd_AlignerVacOn,
_RobotCmd_AlignerVacOff,
_RobotCmd_AlignerSetPar,//<2F><><EFBFBD>ýǶ<C3BD>
_RobotCmd_Arm1VacOn,//arm1<6D><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_RobotCmd_Arm2VacOn,//arm2<6D><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_RobotCmd_InitSet,//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_RobotCmd_Port1Org,//org
_RobotCmd_Port2Org,//org
_RobotCmd_AdsVacOn,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_RobotCmd_AdsVacOff,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_RobotCmd_Arm_Check,//<2F><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>Ƿ<EFBFBD><C7B7><EFBFBD>Ƭ
_RobotCmd_Init_Align,
_RobotCmd_Do_align,
_RObotCmd_Switch_bank,
_RobotCmd_Check_ARM_EXIST_WAFER,
_RObotCmd_RotateToWaferIdPos,
_RobotCmd_RunToCassMappingPoint,
_RobotCmd_Mapping,
_RobotCmd_ReadMappingData,
};
enum eWaferPosType
{
_WaferPos_Null = 0,
_WaferPos_Arm1,
_WaferPos_Arm2,
_WaferPos_Cassette,
_WaferPos_Aligner,
_WaferPos_HotPlate,
_WaferPos_WaitPos,
_WaferPos_Special,
_WaferPos_AnnealExt,
_WaferPos_Max,
};
class _declspec(dllexport) CRobotCmdInfo
{
public:
CRobotCmdInfo()
{
m_WaitCmdTime = 1;//<2F>ȴ<EFBFBD>cmd ʱ<><CAB1>s
m_RobotCmdSendType = _RobotCmdSendType_SendOnly;
};
public:
eRobotCmdType m_RobotCmdType;//robot <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//_RobotCmd_TransferWafer <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õIJ<C3B5><C4B2><EFBFBD>
eWaferPosType m_FromPos;//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>ʼλ<CABC><CEBB>
eWaferPosType m_ToPos;//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>յ<EFBFBD>λ<EFBFBD><CEBB>
int m_cassIndex;
int m_Slot;//<2F>ƶ<EFBFBD>wafer <20><>slot (<28><><EFBFBD><EFBFBD>cassette <20><><EFBFBD><EFBFBD>Ҫ)
std::string m_armPos;//"up"<22><><EFBFBD><EFBFBD>ָ "down"<22><><EFBFBD><EFBFBD>ָ
std::string m_SendCmdStr;//ָ<><D6B8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
std::string m_ErrStr;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
std::string m_RevStr;//<2F><>ȡ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
int m_WaitCmdTime;//<2F>ȴ<EFBFBD>cmd ʱ<><CAB1>s
int LoadportId = 0;
eRobotCmdSendType m_RobotCmdSendType;//cmd <20>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};