#include "JelRobotExportManage.h" JelRobotExportManage::JelRobotExportManage() { } JelRobotExportManage::~JelRobotExportManage() { } bool JelRobotExportManage::Initjel(int serialPort, int baudRate) { return m_jelExcecuteObj.InitJelRobot(serialPort, baudRate); } bool JelRobotExportManage::MappingCass(int inLoadportId, std::vector& outMappingData) { //bool isSuccess = false; //CRobotCmdInfo cmdInfo; //cmdInfo.m_RobotCmdType = _RobotCmd_RunToCassMappingPoint; //cmdInfo.LoadportId = inLoadportId; //isSuccess = m_jelExcecuteObj.SendRobotCmd(cmdInfo); //if (!isSuccess) //{ // return false; //} //Sleep(500); //CRobotCmdInfo cmdInfo; //cmdInfo.m_RobotCmdType = _RobotCmd_Mapping; //cmdInfo.LoadportId = inLoadportId; //m_jelExcecuteObj.SendRobotCmd(cmdInfo); //if (!isSuccess) //{ // return false; //} //Sleep(1000); //CRobotCmdInfo cmdInfo; //cmdInfo.m_RobotCmdType = _RobotCmd_ReadMappingData; //cmdInfo.LoadportId = inLoadportId; //isSuccess = m_jelExcecuteObj.SendRobotCmd(cmdInfo); //if (!isSuccess) //{ // return false; //} ////TODO:需要重新读取数据 //std::string recvStr = cmdInfo.m_RevStr; outMappingData = { 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,1,1 }; return true; } bool JelRobotExportManage::SwitchBank(int bankIndex) { bool isSuccess = false; CRobotCmdInfo cmdInfo; cmdInfo.m_bankIndex = bankIndex; cmdInfo.m_RobotCmdType = _RObotCmd_Switch_bank; return m_jelExcecuteObj.SendRobotCmd(cmdInfo); } bool JelRobotExportManage::CheckFinderExistWafer() { CRobotCmdInfo RobotCmd; RobotCmd.m_RobotCmdType = _RobotCmd_Check_ARM_EXIST_WAFER; RobotCmd.m_RobotCmdSendType = _RobotCmdSendType_ImmediateReadFeedback; RobotCmd.m_armPos = "down"; m_jelExcecuteObj.SendRobotCmd(RobotCmd); return m_jelExcecuteObj.m_armIsExistWafer; } bool JelRobotExportManage::TakeWafer(JudgeCassMappingType cassType, int cassIndex, int slotIndex, eDealWaferType dealWaferType) { if (!(cassType == CASS_MAPPING_TYPE_RING || cassType == CASS_MAPPING_TYPE_WAFER)) { return false; } //切换bank SwitchBank(cassType); //选择料盒 { CRobotCmdInfo cmdInfo; cmdInfo.m_cassIndex = cassIndex; cmdInfo.m_RobotCmdType = _RobotCmd_SelectCass; return m_jelExcecuteObj.SendRobotCmd(cmdInfo); } //选择层数 { CRobotCmdInfo cmdInfo; cmdInfo.m_Slot = slotIndex; cmdInfo.m_RobotCmdType = _RobotCmd_SelectSlot; return m_jelExcecuteObj.SendRobotCmd(cmdInfo); } //移动X轴到等待位 { CRobotCmdInfo cmdInfo; cmdInfo.m_bankIndex = cassType; cmdInfo.m_cassIndex = cassIndex; cmdInfo.m_dealWaferType = dealWaferType; cmdInfo.m_RobotCmdType = _RobotCmd_X_Move; return m_jelExcecuteObj.SendRobotCmd(cmdInfo); } //取片或者放片 { CRobotCmdInfo cmdInfo; cmdInfo.m_bankIndex = cassType; cmdInfo.m_dealWaferType = dealWaferType; cmdInfo.m_RobotCmdType = _RobotCmd_TakeWafer; return m_jelExcecuteObj.SendRobotCmd(cmdInfo); } }