11.1.16. ecmSxMot_MoveToStart

Hint

FAST FUNCTION 모드 사용 가능

SYNOPSIS

t_cmdidx  ecmSxMot_MoveToStart(_FF)(
  t_i32  NetID,
  t_i32  Axis,
  t_f64  Position,
  t_i32  *ErrCode
)

DESCRIPTION

  • 대상 축에 대하여 지정한 절대좌표로의 이동을 수행합니다.

  • ecmSxMot_MoveToStart, ecmSxMot_MoveToStart_FF 는 모션을 시작시킨 후에 바로 반환됩니다.

PARAMETER

  • NetID : Network 번호

  • Axis : 대상 축 번호.

  • Position : 이동할 절대 좌표 값을 지정합니다.

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

RETURN VALUE

  • CmdIdx를 반환 합니다. CmdIdx는 ComiECAT SDK라이브러리에서 발생시킨 명령들의 일련 번호입니다. 단, 이 값이 0이면 함수의 수행이 실패했음을 의미합니다.

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
C/C++
#include "ComiEcatSdk_Api.h"
#define AXIS0   0

t_32 Error_Num =  0;//함수 별  에러 코드 저장 변수

/***************************************************************
* 프로그램 앞 부분은 생략 -> ecmSxMot_MoveStart 예제 참고
***************************************************************/

/**************************************************************
* DO_MOVE : 작업 명령 시에 호출되는 가상의 함수 입니다.
*cmsSetCfgSetSpeedPattern으로 설정된 첫번째 축(Axis)의 속도모드를
*그대로 유지 하면서 상대 위치 만큼 +5000 이동
***************************************************************/
void DO_TOMOVE()
{
      //cmsSetCfgSetSpeedPattern으로 설정된 첫번째 축(Axis)의 속도모드를
      //그대로 유지 하면서 절대 위치 5000으로 이동

      ecmSxMot_MoveToStart(Device_Info.NetIdx, AXIS0, 5000m &Error_Num);    //Move 5000

      if(!ecmSxSt_WaitCompt(Device_Info.NetIdx, AXIS0, &Error_Num)){
      //축이 5000으로 이동 되는 동안 블로킹하는 함수
              // 모션 완료 대기 실패 예외 처리
              return;
       }
}