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을 전달하면 에러 코드를 반환하지 않습니다.
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가 됩니다.