/// <summary> /// 홈센서 기준 절대 위치로 이동. /// </summary> /// <param name="_dPos">이동할 위치 펄스단위</param> /// <param name="_dVel">이동할 속도 펄스단위</param> /// <param name="_dAcc">이동할 가속 펄스단위</param> /// <param name="_dDec">이동할 감속 펄스단위</param> /// <returns>성공여부</returns> public void GoAbs(double _dPos, double _dVel, double _dAcc, double _dDec) { int iRet = 0; //EMCL.ERAETech_EMCL_Sync_SetMaxAcceleration(m_iPortID, (byte)Para.iPhysicalNo, (int)_dAcc, ref iRet); EMCL.ERAETech_EMCL_Sync_SendCommand(m_iPortID, (byte)Para.iPhysicalNo, 5, 0, 0, (int)_dAcc, ref iRet); //3번째 인자가 가감속 설정하는 부분 가속 = 5, 감속 = 17 if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); } EMCL.ERAETech_EMCL_Sync_SendCommand(m_iPortID, (byte)Para.iPhysicalNo, 17, 0, 0, (int)_dDec, ref iRet); //3번째 인자가 가감속 설정하는 부분 가속 = 5, 감속 = 17 if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); } EMCL.ERAETech_EMCL_Sync_SetMaxPositionSpeed(m_iPortID, (byte)Para.iPhysicalNo, (int)_dVel, ref iRet); if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); } EMCL.ERAETech_EMCL_Sync_MoveToPosition(m_iPortID, (byte)Para.iPhysicalNo, 0, (int)_dPos, ref iRet); if (iRet != 0) { Log.ShowMessage("EMCL_" + Para.iPhysicalNo.ToString() + "Axis", GetErrMsg(iRet)); } }