5.3.3. cemHomeSuccess_Get


SYNOPSIS

VT_I4 cemHomeIsBusy(
  [in] VT_I4 Axis, [out] VT_PI4 IsBusy
  )

DESCRIPTION

  • 지정한 축이 현재 원점 복귀를 진행 중인지를 IsBusy 버퍼를 통하여 반환합니다.

PARAMETER

  • Axis : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, (최대 통합 축 개수 - 1) 이하의 값을 축 번호로 설정할 수 있습니다.

  • IsBusy : 현재 원점 복귀가 진행 중인지를 알려 주는 값을 반환 받을 버퍼. 이 값에 반환되는 값의 의미는 다음과 같습니다.

Value

Meaning

0(cmFALSE)

지정한 축은 현재 원점복귀가 진행 중이지 않습니다.

1(cmTRUE)

지정한 축은 현재 원점복귀를 진행하고 있습니다.

RETURN VALUE

  • 함수 수행 여부를 반환합니다.

Value

Meaning

음수

수행 실패

0 (ceERR_NONE)

수행 성공

REFERENCE

  • ceSDK 라이브러리에서는 cemSxIsDone 과 같이 일반적으로 모션이 진행 중이냐 아니면 정지해 있느냐를 확인할 때, 진행 중(Busy)을 확인하기 보다는 완료(Done)를 확인하는 방식을 채택합니다. 그러나 원점복귀에서는 cemHomeSuccess_Get 함수와 혼동될 소지가 있어서 cemHomeIsDone 함수 대신에 cemHomeIsBusy 함수를 제공하게 되었습니다.

  • cemHomeIsBusy 함수의 IsBusy 버퍼에 0(CE_FALSE) 값이 반환되면 원점복귀가 완료되었음을 의미하지만 성공 여부는 알 수가 없습니다. 예를 들어 원점복귀 진행 중에 Limit 또는 Alarm 등과 같은 에러에 의해서 정지되었거나, Stop 함수에 의해서 강제로 정지되었을 때도 IsBusy 에는 0(CE_FALSE) 값이 반환됩니다. 따라서 cemHomeIsBusy 함수를 이용하여 원점 복귀 이송이 완료되었음을 확인한 후에는 cemHomeSuccess_Get 함수를 사용하여 원점복귀의 성공 여부를 확인하여 각각의 상황에 대한 처리를 해주는 것이 바람직합니다.

EXAMPLE

  • //* cemHomeMove / cemHomeMoveStart 예제를 참고하여 주시기 바랍니다.