cmcPmIxIsDone¶
SYNOPSYS¶
VT_I4 cmcPmIxIsDone ([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 MapIndex, [out] VT_PI4 IsDone )
DESCRIPTION¶
cmcPmIxIsDone() 함수는 지정한 보간 맵에 해당하는 보간 작업이 완료됐는지를 확인하는 함수입니다.
이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cmc 가 붙지 않습니다.
PARAMETER¶
▶ BoardID : 사용자가 설정한 디바이스(보드) ID.
▶ NodeId : 노드 번호. 노드 번호는 3부터 시작합니다.
▶ MapIndex : 맵번호(Map index), 이 맵번호를 사용하기 전에 먼저 cmcPmIxMapAxes() 함수를 통하여 해당 맵번호에 유효한 축들이 맵핑 되어 있어야 합니다.
▶ IsDone : 이 매개를 통해 모션 작업이 완료되었는지를 판단할 수 있습니다.
Value
Meaning
0
모션작업이 완료되지 않음
1
모션작업이 완료됨
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
ERR_NONE |
수행 성공 |
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | C/C++
#include “ComiMLink3_SDK.h”
#include “ComiMLink3_SDK_Def.h”
#define MAP0 0
#define NODE_ID 1
long BoardID = 0;
cmcPmIxMapAxes(BoardID, 3, MAP0, ccmcX1_MASK | ccmcY1_MASK );
/*MAP0로 설정된 축들을 벡터 스피드로
가속도 10000, 감속도 10000, 등속도 2000으로 설정합니다.*/
cmcPmIxSetSpeedPattern(BoardID, 3, MAP0, cmcTRUE, cmcMODE_T, 2000, 10000, 10000 );
double fDistList[2] = { 10000.0f, 20000.0f };
//MAP0를 직선 보간으로 구동합니다.
cmcPmIxLineStart(BoardID, 3, MAP0 , fDistList );
long nIsDone = cmcFALSE;
while( !nIsDone )
{
//MAP0에 혹한 축들의 모션 완료 여부를 판단합니다.
cmcPmIxIsDone(BoardID, 3, MAP0, &nIsDone );
}
|