11.2.54. ecmSxCfg_Ring_SetPosRange


SYNOPSIS

t_success ecmSxCfg_Ring_SetPosRange (
  t_i32  NetID,
  t_i32  Axis,
  t_f64  RingPosRange,
  t_i32  *ErrCode
)

DESCRIPTION

  • 이 함수는 링 카운터의 범위를 설정하는 함수입니다.

PARAMETER

  • NetID : Network 번호

  • Axis : 대상 축 번호

  • RingPosRange : 링 카운터의 범위를 설정하는 파라미터

  • ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다.

RETURN VALUE

  • 함수 수행의 성공 여부를 반환합니다.

Value

Meaning

0

함수 수행에 실패하였음을 의미합니다.

1

함수 수행에 성공하였음을 의미합니다.

REFERENCE

  • RingPosRange 값과 위치 표현의 관계

링카운터 모드로 설정되면 위치의 표현은 0 ~ Prmax 로 표현됩니다. 이때 Prmax 값은 (RingPosRange - 1펄스)에 해당하는 값입니다. 예를 들어서 1회전에 10000펄스, UnitDistance=1, RingPosRange=10000으로 설정하였다면 위치는 0 ~ 9999로 표현됩니다. 일반 카운터일 때 10000으로 표현되던 위치는 0으로 표현됩니다. 만일 1회전에 10000펄스, UnitDistance=200이라면 RingPosRange는 50(10000/200=50)으로 설정하여야 합니다. 이 조건에서 Prmax = 50 – (1/200) = 49.995 이므로 표현되는 위치의 범위는 0 ~ 49.995가 됩니다. 만일 1회전에 10000펄스인 모터에서 위치의 표현을 360도를 한 주기로 하는 각도(10000 -> 360)로 표현하고 싶다면 UnitDistance=10000/360=27.7778로 설정합니다. 그리고 RingPosRange는 360으로 설정합니다. 그러면 이 조건에서는 Prmax = 360 – (1/27.7778) = 359.964가 되므로 표현되는 실제 위치는 0 ~ 359.964가 됩니다.