cmlIxIsDone


SYNOPSYS

VT_I4 cmlIxIsDone ([in] VT_I4 BoardId, [in] VT_I4 MapIndex, [out] VT_PI4 IsDone)

DESCRIPTION

  • 지정한 보간맵에 해당하는 보간작업이 완료됐는지를 확인(確認)합니다.

  • 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다.

PARAMETER

▶ BoardId: 사용자가 설정한 디바이스(보드) ID.

▶ MapIndex : 맵번호(Map index), 이 맵번호를 사용하기전에 먼저 cmlIxMapAxes() 함수를 통하여 해당 맵번호에 유효한 축들이 맵핑되어 있어야 합니다.

▶ 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
20
21
22
23
 C/C++

 #define MAP0 0 //맵번호 (0)

 Long BoardID = 0;

 cmlIxMapAxes(BoardID, MAP0, cmlX1_MASK | cmlY1_MASK, cmlIX_MODE_LINEAR);
 //또는 cmlIxMapAxes(BoardID, MAP0, 0x3, 0x0);
 //보간 이동할 축들의 기본속도를 설정합니다.
 //속도 패턴 설정
 long nIsDone = 0;
 double fDistList[2] = {1000, 1000};
 if(cmlIxLine(BoardID, MAP0, fDistList, cmlFALSE) != ERR_NONE){
 // 에러메시지 출력
 return;
 }
 while (1){
 cmlIxIsDone(BoardID, MAP0, &nIsDone );
 if(nIsDone == cmlTRUE) break;
 else{
 ...
 }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
 Visual Basic

 //BoardID는 0으로 선언되었다고 가정함
 Dim fDistList As Double
 Dim nIsDone As Long
 If (IxLineStart(BoardID, MAP0, fDistList(0)) = cmlFALSE) Then
 // 에러메시지 출력
 Exit Sub
 End If
 While (IxIsDone(BoardID, 3, nIsDone) = cmlFALSE)
 …
 end
 If (Not (ErrGetLastCode(nErrCode) = ERR_NONE)) Then
 // 에러메시지 출력
 Exit Sub
 End If