cmmSxSetSpeedRatio¶
SYNOPSYS¶
VT_I4 cmmSxSetSpeedRatio(
[in] VT_I4 Axis, [in] VT_I4 SpeedMode, [in] VT_R8 VelRatio, [in] VT_R8 AccRatio, [in] VT_R8 DecRatio
)
DESCRIPTION¶
단축 구동시 해당 축에 대한 속도 모드 및 속도 비율을 설정하거나 설정된 값을 반환합니다.
PARAMETER¶
Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다.
SpeedMode : cmmSxSetSpeedRatio 함수의 인자이며, 속도모드의 설정값입니다. 다음과 같은 설정값을 가집니다.
Value |
Meaning |
---|---|
0 또는 cmSMODE_C |
COMSTANT 속도모드 => 가감속을 수행하지 않습니다. |
1 또는 cmSMODE_T |
TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다. |
2 또는 cmSMODE_S |
S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다. |
-1 또는 cmSMODE_KEEP |
이전 속도 모드를 그대로 유지합니다. 속도모드를 변경하지 않습니다. |
VelRatio : cmmSxSetSpeedRatio 함수의 인자이며, 작업 속도 비율(Ratio) 값입니다. 이 값의 단위는 %입니다.
AccRatio : cmmSxSetSpeedRatio 함수의 인자이며, 가속도 비율(Ratio) 값입니다. 이 값의 단위는 %입니다.
DecRatio : cmmSxSetSpeedRatio 함수의 인자이며, 감속도 비율(Ratio) 값입니다. 이 값의 단위는 %입니다.
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
Note
속도 비율(Ratio)의 정확한 의미를 알고 싶습니다.
속도 설정은 비율로 설정이 됩니다. 비율에 의한 속도값은 기준 값에 배수(Multiplication)가 되거나 제법(Division) 이 된 속도 값을 의미합니다. 기준이 되는 속도 값은 cmmCfgSetSpeedPattern 으로 설정됩니다.
㈜ 커미조아 CMMSDK 에서는 기준 속도(Standard Speed) 개념을 이용하고 있습니다. 전체 모션 속도는 기준속도의 비율로 설정이 가능하며, 이것은 cmmCfgSetSpeedPattern 함수에 의해서 설정된 기준 속도를 의미합니다. ㈜ 커미조아의 CMMSDK 는 기준속도의 값을 비율(Ratio) 로 설정할 수 있는 커다란 이점을 가지고 있습니다.
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | C/C++
#include “Cmmsdk.h”
#include “CmmsdkDef.h”
void OnSetSpeed ()
{
long nAxisNo = 1; // 모션 이송 속도를 설정할 대상 축을 선택합니다.
/* 단축 모션의 작업 속도 비율을 설정합니다. cmmCfgSetSpeedPattern ()함수를 통해서
설정된 모션 이송 속도를 기준으로 속도 비율이 적용됩니다. */
cmmCfgSetSpeedPattern ( nAxisNo, cmSMODE_T, 1000, 10000, 10000 );
cmmSxSetSpeedRatio ( nAxisNo, // 대상 축 선택
cmSMODE_T, // 속도 모드 선택
50, // 작업 속도 비율. 1000 * 0.5 = 500 pps
80, // 가속도 비율. 10000 * 0.8 = 8000 pps²
80 // 감속도 비율. 10000 * 0.8 = 8000 pps²
);
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Visual Basic
Private Sub OnSetSpeed (void)
Dim nAxisNo As Long
nAxisNo = 1 ‘ 모션 이송 속도를 설정할 대상 축을 선택합니다.
‘ 단축 모션의 작업 속도 비율을 설정합니다. cmmCfgSetSpeedPattern ()함수를 통해서
‘ 설정된 모션 이송 속도를 기준으로 속도 비율이 적용됩니다.
Call cmmCfgSetSpeedPattern ( nAxisNo, cmSMODE_T, 1000, 10000, 10000 )
Call cmmSxSetSpeedRatio( nAxisNo,cmSMODE_T,50,80,80 )
End Sub
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Delphi
procedure OnSetSpeed ();
var
nAxisNo : LongInt;
begin
nAxisNo := 1; // 모션 이송 속도를 설정할 대상 축을 선택합니다.
// 단축 모션의 작업 속도 비율을 설정합니다. cmmCfgSetSpeedPattern ()함수를 통해서
// 설정된 모션 이송 속도를 기준으로 속도 비율이 적용됩니다.
cmmCfgSetSpeedPattern ( nAxisNo, cmSMODE_T, 1000, 10000, 10000 );
cmmSxSetSpeedRatio ( nAxisNo, cmSMODE_T, 50, 80, 80);
end;
|