#pragma once #include static const int COM_BUF_LEN = 128; //串口通信buf 的长度 static int LOADPORT_LEFT = 0; static int LOADPORT_CENTER = 1; static int LOADPORT_RIGHT = 2; enum eTransferType { _Transfer_Null = 0, _Transfer_Init, _Transfer_Scan, //料盒扫描 _Transfer_Grab_Wafer, //取料 _Transfer_Arm1ToAlign_Wafer, //准直 _Transfer_Aligner_Wafer, //准直 _Transfer_AlignToArm2_Wafer, _Transfer_ToPlat_Wafer, //到平台 _Transfer_PlatToArm2_Wafer, _Transfer_Arm2ToAligner_Wafer, _Transfer_Aligner2_Wafer,//平台到准直 _Transfer_AlignToArm1_Wafer, _Transfer_Upper_Wafer, //上料 _Transfer_ReadRfd, //读取Rfd }; //cmd 的发送类型 enum eRobotCmdSendType { _RobotCmdSendType_SendOnly = 0,//只发送 _RobotCmdSendType_WaitFeedback,//发送后只等待反馈< _RobotCmdSendType_WaitCmdEnd,//等待cmd执行完成(反馈< 加上cmd 相同str) _RobotCmdSendType_ImmediateReadFeedback,//立即读取反馈(同步) }; //发送给robot 的指令类型(顺序无所谓) enum eRobotCmdType { _RobotCmd_TransferWafer = 0,//传送wafer _RobotCmd_ToWaitPos,//移动到等待位置 _RobotCmd_Org,//重置错误,并且回原点 _RobotCmd_ResetErr,//重置错误 _RobotCmd_QueryState,//查询状态 _RobotCmd_QueryCoord1,//查询轴坐标位置1 _RobotCmd_QueryCoord2,//查询轴坐标位置2 _RobotCmd_QueryCoord3,//查询轴坐标位置3 _RobotCmd_Sevon,//激磁 _RobotCmd_Arm1VacOff,//arm1放真空 _RobotCmd_Arm2VacOff,//arm2放真空 _RobotCmd_Arm1Arm2MergePos,//Arm1和Arm2合并位置 _RobotCmd_AlignerExt,//准直执行 _RobotCmd_AlignerOrg,//准直org _RobotCmd_AlignerTakeStation,//取料位置 _RobotCmd_AlignerVacOn, _RobotCmd_AlignerVacOff, _RobotCmd_AlignerSetPar,//设置角度 _RobotCmd_Arm1VacOn,//arm1开真空 _RobotCmd_Arm2VacOn,//arm2开真空 _RobotCmd_InitSet,//初始化设置 _RobotCmd_Port1Org,//org _RobotCmd_Port2Org,//org _RobotCmd_AdsVacOn,//吸附开 _RobotCmd_AdsVacOff,//吸附关 _RobotCmd_Arm_Check,//检测手臂是否有片 _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;//等待cmd 时间s m_RobotCmdSendType = _RobotCmdSendType_SendOnly; }; public: eRobotCmdType m_RobotCmdType;//robot 的指令类型 //_RobotCmd_TransferWafer 类型使用的参数 eWaferPosType m_FromPos;//移动的起始位置 eWaferPosType m_ToPos;//移动的终点位置 int m_cassIndex; int m_Slot;//移动wafer 的slot (操作cassette 才需要) std::string m_armPos;//"up"上手指 "down"下手指 std::string m_SendCmdStr;//指令字符串 std::string m_ErrStr;//错误信息 std::string m_RevStr;//读取的反馈字符串 int m_WaitCmdTime;//等待cmd 时间s int LoadportId = 0; eRobotCmdSendType m_RobotCmdSendType;//cmd 的发送类型 };