14.1.7. ecmHomeSt_GetFlags


SYNOPSIS

t_success  ecmHomeSt_GetFlags(
  t_i32  NetID,
  t_i32  Axis,
  t_i32  *ErrCode
)

DESCRIPTION

  • 이 함수는 단일 축에 대해서 원점복귀 상태에 관련된 상태 Flag 값들이 반환됩니다.

PARAMETER

  • NetID : Network 번호

  • Axis : 대상 축 번호

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

RETURN VALUE

  • 이 리턴값은 SDK에 정의된 TEcmHomeSt_Flags 구조체를 이용하여 받아올 수 있습니다. 구조체 안 매개 변수는 아래와 같습니다.

Parameter

Value & Meaning

HomeBusy

0 : Homing 동작이 진행하지 않음을 나타냄
1 : Homing 동작이 진행중임을 나타냄
Moving

0 : 모터가 구동하지 않음을 나타냄
1 : 모터가 구동중임을 나타냄
HomeAttained

0 : Homing 동작이 실패했음을 나타냄
1 : Homing 동작이 성공적으로 완료되었음을 나타냄
HomingError

0 : 에러가 발생하지 않음을 나타냄
1 : Homing 동작 중 에러가 발생했음을 나타냄

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
29
30
31
#include "ComiEcatSdk_Api.h"
#define AXISX   0
#define AXISY   1

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

void Set_HomeFlag()
{
       TEcmHomeSt_Flags MotHomeFlg;        //원점 복귀 관련 구조체

       MotHomeFlg.word = ecmHomeSt_GetFlags(Device_Info.NetIdx , AXISX, &Error_Num);

       if(MotHomeFlg.bit.HomeBusy)
               //Homing 동작이 진행 중 일 때 처리
       else
               //Homing 동작이 진행 하지 않을 때 처리

       if(MotHomeFlg.bit.Moving)
               //모터가 구동 중 일 때 처리
       else
               //모터가 구동 중이 아닐 때 처리

       if(MotHomeFlg.bit.HomeAttained)
               //Homing 동작이 성공적으로 완료되었을 때 처리
       else
               //Homing 동작이 실패했을 때 처리

       if(MotHomeFlg.bit.HomingError)
               //Homing 동작 중 에러가 발생 했을 때 처리
       else
               //에러가 발생 하지 않았을 때 처리