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;
|
See also