4.1.34. cmmCfgSetSpeedPattern_T¶
SYNOPSYS¶
VT_I4 cmmCfgSetSpeedPattern_T(
[in] VT_I4 Axis, [in] VT_I4 SpeedMode,
[in] VT_R8 WorkSpeed, [in] VT_R8 AccelTime,
[in] VT_R8 DecelTime
)
DESCRIPTION¶
지정한 축에 대해 속도 모드, 작업 속도 및 가감속 시간을 설정 할 수 있습니다. 작업 속도는 각 모션 제어의 기준 속도로 설정되며, 가감속은 일반적인 속도 단위(PPS)가 아닌 시간(msec) 단위로 설정이 가능한 점에서 cmmCfgSetSpeedPattern 함수와 차이가 있습니다. 설정된 기준속도는 단축 제어의 경우 실제 모션 속도 지령 함수인 cmmSxSetSpeedRatio 와 같은 함수를 통해 그 비율로 모션 제어의 속도를 결정할 수 있습니다.
PARAMETER¶
Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다.
SpeedMode : cmmCfgSetSpeedPattern 함수의 인자이며, 속도모드의 설정 값입니다. 아래와 같은 설정 값을 가집니다.
value |
Meaning |
---|---|
0 또는 cmSMODE_C |
CONSTANT 속도모드 => 가감속을 수행하지 않습니다. |
1 또는 cmSMODE_T |
TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다. |
2 또는 cmSMODe_S |
S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다. |
-1 또는 cmSMODE_KEEP |
이전 속도 모드는 그대로 설정합니다. |
가감속 패턴은 S-Curve 형과 선형 가감속 형, 가감속이 없는 형태가 가능합니다.
WorkSpeed: 작업 속도를 설정합니다.
Accel : 가속 시간을 밀리초(msec) 단위로 설정합니다.
Decel : 감속 시간을 밀리초(msec) 단위로 설정합니다.
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
REFERENCE¶
cmmCfgSetSpeedPattern 함수의 REFERENCE를 참조해주세요.
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | C/C++
#include “Cmmsdk.h”
#include “CmmsdkDef.h”
void OnSetSpeedPattern ()
{
long nAxisNo = 0; // 모션 이송 기준 속도를 설정할 축을 선택합니다.
long nSpeedMode; // 속도 패턴 정보.
double fVel, fAcc, fDec;
/* 0 번축의 속도 패턴을 S-Curve 로 설정하고,
작업속도를 2000, 가속도를 10000, 감속도를 10000 으로 설정합니다.*/
cmmCfgSetSpeedPattern_T ( nAxisNo, // 대상 축 선택.
cmSMODE_S, // 속도 모드 선택.
2000, // 작업 속도
10000, // 가속도
10000 // 감속도
);
// 설정되어있는 속도 패턴 및 작업속도, 가속도, 감속도를 반환합니다.
cmmCfgGetSpeedPattern_T ( nAxisNo, &nSpeedMode, &fVel, &fAccTime, &fDecTime);
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Visual Basic
Private Sub OnSetSpeedPattern ()
Dim nAxisNo As Long ‘ 모션 이송 기준 속도를 설정할 축을 선택합니다.
Dim nSpeedMode As Long ‘ 속도 패턴 정보.
Dim fVel As Double, fAcc As Double, fDec As Double
nAxisNo = 0
‘ 0 번축의 속도 패턴을 S-Curve 로 설정하고,
‘ 작업속도를 2000, 가속도를 10000, 감속도를 10000 으로 설정합니다.
Call cmmCfgSetSpeedPattern_T ( nAxisNo, cmSMODE_S, 2000, 10000, 10000 )
‘ 설정되어있는 속도 패턴 및 작업속도, 가속도, 감속도를 반환합니다.
Call cmmCfgGetSpeedPattern_T ( nAxisNo, nSpeedMode, fVel, fAcc, fDec )
End Sub
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Delphi
procedure OnSetSpeedPattern ();
var
nSpeedMode : LongInt; // 속도 패턴 정보.
fVel, fAcc, fDec : Double;
begin
{ 0 번축의 속도 패턴을 S-Curve 로 설정하고,
작업속도를 2000, 가속도를 10000, 감속도를 10000 으로 설정합니다. }
cmmCfgSetSpeedPattern_T ( cmX1, cmSMODE_S, 2000, 10000, 10000 );
// 설정되어있는 속도 패턴 및 작업속도, 가속도, 감속도를 반환합니다.
cmmCfgGetSpeedPattern_T ( cmX1, @nSpeedMode, @fVel, @fAcc, @fDec );
end;
|