Zero Vibration


Info


  • Input Shaping 을 통한 출력 파형 가공으로 설비의 진동을 제거합니다.


적용 전 적용 후
ZeroVibration 미적용
ZeroVibration 적용


API

ecmSxCfg_SetZVISParam : 진동 억제 기능을 위한 파라메타를 설정합니다.

* int ecmSxCfg_SetZVISParam (int NetID, int Axis, double NaturalFrequency, double DampingRatio, int ZVISMode, ref int ErrCode);

  • NetID : Network 번호
  • Axis : 대상 축 번호
  • NaturalFrequency : 진동 주파수 (1.0hz ~ )
  • DampingRatio : 감쇠비 (default : 0)
  • ZVISMode : 진동억제 모드 (1 ~ 2)
    • 숫자가 클수록 진동억제 기능이 강화되지만 짧은 거리 이송시 더 오래 걸릴 수 있음
  • ErrCode : 에러코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다.
  • Return Value : CmdIdx 1)


ecmSxCfg_SetZVISEnable : 진동 억제 기능 적용 여부를 설정합니다.

* int ecmSxCfg_SetZVISEnable(int NetID, int Axis, bool isEnable, ref int ErrCode)

  • NetID : Network 번호
  • Axis : 대상 축 번호
  • isEnable : 적용 여부 (true / false)
  • ErrCode : 에러코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다.
  • Return Value : CmdIdx 2)

C#


private void SetZeroVibration(int axisID)
{
   // int ecmSxCfg_SetZVISParam(int NetID, int Axis, double NaturalFrequency, double DampingRatio, int ZVISMode, ref int ErrCode)
   // int ecmSxCfg_SetZVISEnable(int NetID, int Axis, bool isEnable, ref int ErrCode)

   // 진동 수 : 5.5 / 감쇠비 : 0 / Mode : 2 로 설정
   ecmSxCfg_SetZVISParam(netID, axisID, 5.5, 0, 2, ref errorCode);
   if (errorCode != 0)
   {
       // 에러처리
   }

   // 진동억제 기능 적용
   ecmSxCfg_SetZVISEnable(netID, axisID, true, ref errorCode);
   if (errorCode != 0)
   {
       // 에러처리
   }
}


1) , 2)
ComiECAT SDK 라이브러리 발생시킨 명령들의 일련번호입니다. 단, 이 값이 0이면 함수의 수행이 실패했음을 의미합니다.