11.1.3. ecmSxCfg_GetUnitDist¶
SYNOPSIS¶
t_f64 ecmSxCfg_GetUnitDist(
t_i32 NetID,
t_i32 Axis,
t_i32 *ErrCode
)
DESCRIPTION¶
이 함수는 논리적 단위 거리에 대한 펄스 수를 설정합니다.
여기서 논리적 단위 거리라 함은 Move 함수에서 사용하는 단위 거리 또는 위치에 대한 펄스 수를 의미합니다.
이 함수를 사용하여 특별히 지정하지 않는 경우에는 논리적 단위 거리에 대한 펄수 수는 초기 값인 ‘1’로 사용됩니다.
PARAMETER¶
NetID : Network 번호
Axis : 대상 축 번호.
ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다.
RETURN VALUE¶
이 리턴값은 논리적 거리 단위가 반환됩니다.
REFERENCE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Unit distance (Du) = Pr/Lr = 10000/5 = 2000
Unit speed (Vu) = 2000
//따라서, Unit distance"와 "Unit speed"를 2000으로 설정하면 다음과 같이 모든 //이동함수에서 거리의 단위를 mm단위에 해당하는 값으로 입력할 수 있습니다. //
#define NET 0
#define AXIS 0
// 2000/mm
ecmSxCfg_SetUnitDist (NET, AXIS, 2000, NULL);
ecmSxCfg_SetUnitSpeed (NET, AXIS, 2000, NULL);
// 속도=100(mm/s), 가/감속도=1000(mm/s^2) 으로 설정한다. //
ecmSxCfg_SetSpeedPatt (NET, AXIS, ecmSMODE_TRAPE, 0, 0, 100, 1000, 1000);
// (+)방향으로 20mm 이송한다 (실제는 20*2000 = 40000 펄스가 출력됨) //
ecmSxMot_Move (NET, AXIS, 20, NULL);
// (-)방향으로 20mm 이송한다 (실제는 20*2000 = 40000 펄스가 출력됨) //
ecmSxMot_Move) (NET, AXIS, -20, NULL);
|