/// <summary> /// 현재 파라미터들을 아진 함수를 이용하여 세팅함. /// </summary> public void ApplyPara(double _dPulsePerUnit) { m_dPulsePerUnit = _dPulsePerUnit; //포트관련. 원래 있던 포트는 다른애가 쓸수도 있어서 그냥 냅둔다. //한번 여기 타면 파일에 저장 되어서 다음에 켤때는 생성 안됌. if (!OpenPorts.Contains(Para.iPortNo)) { m_bConnected = false; Init(); } if (!m_bConnected) { return; } int iRet = 0; iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 0, (int)9); //레졸루션 10000 ; iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 1, (int)500000); //맥스스피드. iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 2, (int)1); //시작스피드 iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 26, (int)0); //인포지션밸류. iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 28, Para.bDirection?1:0); //모터방향. }
/// <summary> /// 홈을 수행한다. /// </summary> /// <returns>수행 성공여부.</returns> public bool GoHome(double _dHomeVelFirst, double _dHomeVelLast, double _dHomeAccFirst) { int iRet = 0; iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 17, (int)_dHomeVelFirst); //홈속도 iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 18, (int)_dHomeVelLast); //홈 엣지스캔속도 iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 19, (int)(1000 * _dHomeVelFirst / _dHomeAccFirst)); //홈 가감속 시간. int iVal = (int)Para.eHomeMethode; iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 20, iVal); //홈 잡는 방법. ?? 좀 이상하다 ;; iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 21, (int)1); //-방향. iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 22, (int)(Para.dHomeOffset * m_dPulsePerUnit)); //홈잡고 오프셑 iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 23, (int)0); //홈잡고 포지션 세팅값. iRet = EziMOTIONPlusRLib.FAS_MoveOriginSingleAxis((byte)Para.iPortNo, (byte)Para.iMotorID); return(iRet == EziMOTIONPlusRLib.FMM_OK); }