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) |
지정한 축은 현재 원점복귀를 진행하고 있습니다. |
REFERENCE¶
ceSDK 라이브러리에서는 cemSxIsDone 과 같이 일반적으로 모션이 진행 중이냐 아니면 정지해 있느냐를 확인할 때, 진행 중(Busy)을 확인하기 보다는 완료(Done)를 확인하는 방식을 채택합니다. 그러나 원점복귀에서는 cemHomeSuccess_Get 함수와 혼동될 소지가 있어서 cemHomeIsDone 함수 대신에 cemHomeIsBusy 함수를 제공하게 되었습니다.
cemHomeIsBusy 함수의 IsBusy 버퍼에 0(CE_FALSE) 값이 반환되면 원점복귀가 완료되었음을 의미하지만 성공 여부는 알 수가 없습니다. 예를 들어 원점복귀 진행 중에 Limit 또는 Alarm 등과 같은 에러에 의해서 정지되었거나, Stop 함수에 의해서 강제로 정지되었을 때도 IsBusy 에는 0(CE_FALSE) 값이 반환됩니다. 따라서 cemHomeIsBusy 함수를 이용하여 원점 복귀 이송이 완료되었음을 확인한 후에는 cemHomeSuccess_Get 함수를 사용하여 원점복귀의 성공 여부를 확인하여 각각의 상황에 대한 처리를 해주는 것이 바람직합니다.