11.1.17. ecmSxMot_OverrideMove¶
SYNOPSIS¶
t_cmdidx ecmSxMot_OverrideMove(
t_i32 NetID,
t_i32 Axis,
t_f64 NewDist,
t_bool *IsIgnored,
t_i32 *ErrCode
)
DESCRIPTION¶
이 함수는 ecmSxMot_MoveStart(_FF) () 이송 함수를 통하여 수행되는 상대좌표 이송 모션에 대하여 상대좌표값, 즉 목표 거리값을 변경(오버라이딩)하는 함수입 니다.
PARAMETER¶
NetID : Network 번호
Axis : 대상 축 번호.
NewDist : 새로운 목표 거리값을 지정합니다. 이 값의 기준 위치는 오버라이드하고자 하는 대상이 되는 ecmSxMot_MoveStart() 작업에서 사용한 기준점과 같습니다.
IsIgnored : 오버라이드 적용 성공/실패 여부를 반환합니다.
Value |
Meaning |
---|---|
0 |
모션에러가 발생하였거나 이미 이송이 완료되어 위치 오버라이드가 적용되지 않음 |
1 |
위치 오버라이드가 적용됨 |
ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다.
RETURN VALUE¶
이 리턴값은 함수의 cmdidx가 반환됩니다.
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | C/C++
#include "ComiEcatSdk_Api.h"
#define AXIS0 0
t_32 Error_Num = 0;//함수 별 에러 코드 저장 변수
/***************************************************************
* 프로그램 앞 부분은 생략 -> ecmSxMot_MoveStart 예제 참고
***************************************************************/
/**************************************************************
* DO_ OverrideMove: 작업 명령 시에 호출되는 가상의 함수 입니다.
* 상대 좌표 값을 새롭게 지정 해주어 오버라이딩 하는 함수
***************************************************************/
void DO_OverrideMove ()
{
t_bool IsIgnored = false; //성공 여부 확인
ecmSxMot_OverrideMove(Device_Info.NetIdx, AXIS0, 8000, IsIgnored, &Error_Num);
//이송 중인 축의 목표 상대 거리를 8000으로 바꾼다.
}
|