/// <summary> /// 홈을 수행한다. /// </summary> /// <returns>수행 성공여부.</returns> public bool GoHome(double _dHomeVelFirst, double _dHomeVelLast, double _dHomeAccFirst) { SetServo(true); int iRet = 0; //홈찾는 방법 EMCL.ERAETech_EMCL_Sync_SetSearchMode(m_iPortID, (byte)Para.iPhysicalNo, (int)Para.eHomeMode, ref iRet); if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); return(false); } //가감속 EMCL.ERAETech_EMCL_Sync_SetMaxAcceleration(m_iPortID, (byte)Para.iPhysicalNo, (int)_dHomeAccFirst, ref iRet); if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); return(false); } //첫번째 속도. EMCL.ERAETech_EMCL_Sync_SetRefSearchSpeed(m_iPortID, (byte)Para.iPhysicalNo, (int)_dHomeVelFirst, ref iRet); if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); return(false); } //마지막 속도. EMCL.ERAETech_EMCL_Sync_SetRefSwitchSpeed(m_iPortID, (byte)Para.iPhysicalNo, (int)_dHomeVelLast, ref iRet); if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); return(false); } //요이 땅. EMCL.ERAETech_EMCL_Sync_StartRefSearch(m_iPortID, (byte)Para.iPhysicalNo, ref iRet); if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); return(false); } return(true); }