cmmIxSetSpeedPattern_T


SYNOPSIS

VT_I4 cmmIxSetSpeedPattern_T(
    [in] VT_I4 MapIndex, [in] VT_I4 SpeedMode, [in] VT_R8 Vel, [in] VT_R8 AccelTime, [in] VT_R8 DecelTime
    )

DESCRIPTION

  • cmmIxSetSpeedPattern_T 은 “기본보간제어”의 이송 속도에 대한 환경설정을 정의합니다.

  • cmmIxSetSpeedPattern 함수와는 다르게 가속 및 감속도 설정 시 펄스 단위가 아닌 시간 단위(msec) 로 설정 합니다.

PARAMETER

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

  • SpeedMode : 속도모드를 설정합니다. 설정값은 다음과 같습니다.

Value

Meaning

0 또는 cmSMODE_C

CONSTANT 속도모드 => 가감속을 수행하지 않습니다.

1 또는 cmSMODE_T

TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다.

2 또는 cmSMODE_S

S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다.

  • Vel : 작업속도를 PPS 단위로 설정합니다.

  • AccTime : 가속 시간을 밀리초(msec) 단위로 설정합니다.

  • DecTime : 감속 시간을 밀리초(msec) 단위로 설정합니다.

RETURN VALUE

Value

Meaning

음수

수행 실패

cmERR_NONE

수행 성공

REFERENCE

cmmIxSetSpeedPattern 함수 설명의 REFERENCE 참고

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
C/C++

#include “Cmmsdk.h”
#include “CmmsdkDef.h”

#define MAP0 0 // 보간 맵 정의

cmmIxMapAxes ( MAP0, cmX1_MASK | cmY1_MASK, 0 );

/* MAP0 로 설정된 축들의 보간 제어를 위해
작업 속도 1000 PPS, 가속 시간 1 초(1000 ms), 감속 시간 1 초(1000 ms) 로 설정합니다.*/
cmmIxSetSpeedPattern_T ( MAP0, // 보간 맵 번호
               cmSMODE_T, // 가감속 모드
               1000, // 보간 작업 속도 (PPS)
               1000, // 가속 시간 (msec)
               1000 // 감속 시간 (msec)
               );

// 현재 위치가 (0, 0) 이라고 가정할 때, (3000, 4000) 좌표로 직선 보간 이송을 수행합니다.
Double fDistList[2] = {3000, 4000};
cmmIxLineStart ( MAP0, fDistList );
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
Visual Basic

Dim nMapIdx As Long ‘보간 맵 정의
Dim fDistList(2) As Double ‘ 이송 좌표값의 배열 정보

nMapIdx = 0

Call cmmIxMapAxes ( nMapIdx, cmX1_MASK Or cmY1_MASK, 0 )

‘MAP0 로 설정된 축들의 보간 제어를 위해
‘작업 속도 1000 PPS, 가속 시간 1 초(1000 ms), 감속 시간 1 초(1000 ms) 로 설정합니다.
Call cmmIxSetSpeedPattern_T ( nMapIdx, cmSMODE_T, 1000, 1000, 1000 )

‘ 현재 위치가 (0, 0) 이라고 가정할 때, (3000, 4000) 좌표로 직선 보간 이송을 수행합니다.
fDistList(0) = 3000
fDistList(1) = 4000
Call cmmIxLineStart ( nMapIdx, fDistList(0) )
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
Delphi

var
   nMapIdx : LongInt; // 보간 맵 정의
   fDistList : Array[0..1] of Double; // 이송 좌표값의 배열 정보
begin
   nMapIdx := 0;

   cmmIxMapAxes ( nMapIdx, cmX1_MASK or cmY1_MASK, 0 );

   { MAP0 로 설정된 축들의 보간 제어를 위해
   작업 속도 1000 PPS, 가속 시간 1 초(1000 ms), 감속 시간 1 초(1000 ms) 로 설정합니다. }
   cmmIxSetSpeedPattern_T ( nMapIdx, cmSMODE_T, 1000, 1000, 1000 );

   // 현재 위치가 (0, 0) 이라고 가정할 때, (3000, 4000) 좌표로 직선 보간 이송을 수행합니다.
   fDistList[0] := 3000;
   fDistList[1] := 4000;

   cmmIxLineStart ( nMapIdx, @fDistList );
end;