11.1.27. cmcPmCfgSetSpeedPattern¶
SYNOPSYS¶
VT_I4 cmcPmCfgSetSpeedPattern([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel,
[in] VT_I4 SpeedMode, [in] VT_R8 WorkSpeed, [in] VT_R8 Accel, [in] VT_R8 Decel )
DESCRIPTION¶
cmcPmCfgSetSpeedPattern() 함수는 지정한 축에 대해 속도 모드, 작업속도, 가속도 및 감속도를 설정합니다. 이 속도는 각 모션제어의 기준 속도로 설정되며, 해당 기준속도에 비율로 각 모션제어를 수행할 수 있습니다. 설정된 기준속도는 단축 제어의 경우 실제 모션 속도 지령 함수인cmcPmSxSetSpeedRatio() 함수를 통해 설정된 비율로 모션 제어의 속도를 결정할 수 있습니다.
이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cmc 가 붙지 않습니다.
PARAMETER¶
▶ BoardID : 사용자가 설정한 디바이스(보드) ID.
▶ NodeId : 노드 번호. 노드 번호는 3부터 시작합니다.
▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.
▶ SpeedMode : cmcPmCfgSetSpeedPattern() 함수의 인자이며, 속도모드의 설정 값입니다. 속도모드는 아래와 같습니다.
Value |
Meaning |
---|---|
0 (cmcMODE_C) |
CONSTANT 속도모드 => 가감속을 수행하지 않습니다. |
1 (cmcMODE_T) |
TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다. |
2 (cmcMODE_S) |
S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다. |
-1 (ccmcSMODE_KEEP) |
이전 속도 모드를 유지합니다. |
▶ SpeedMode : cmcPmCfgGetSpeedPattern() 함수의 인자이며, 속도모드의 반환 값 입니다.
Value |
Meaning |
---|---|
0 (cmcMODE_C) |
CONSTANT 속도모드 => 가감속을 수행하지 않습니다. |
1 (cmcMODE_T) |
TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다. |
2 (cmcMODE_S) |
S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다. |
▶ WorkSpeed : 작업 속도를 설정 혹은 반환합니다.
▶ Accel : 가속도를 설정 혹은 반환합니다.
▶ Decel : 감속도를 설정 혹은 반환합니다.
REFERENCE¶
한번 설정한 속도설정은 변경하기 전까지 계속해서 적용됩니다. 따라서 속도를 변경할 필요가 없는 경우에는 이송명령을 수행할 때마다 속도설정을 해줄 필요는 없습니다.
속도와 가/감속도의 단위는 cmcPmCfgSetUnitSpeed() 함수에 의해 결정됩니다.
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
0(ERR_NONE) |
수행 성공 |
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | C/C++
#include “ComiMLink3_SDK.h”
#include “ComiMLink3_SDK_Def.h”
long BoardID = 0;
long nChannel = 0;//0번 축을 선택합니다.
long nSpeedMode = 0;
double fVel = 0.0f;
double fAcc = 0.0f;
double fDec = 0.0f;
/*0 번축의 속도 패턴을 S-Curve로 설정하고,
작업속도를 2000, 가속도를 10000, 감속도를 10000으로 설정합니다.*/
cmcPmCfgSetSpeedPattern(BoardID, 3, nChannel, cmcMODE_S, 2000, 10000, 10000 );
/*0 번축에 설정된 속도 패턴 및 작업속도, 가속도, 감속도를 반환합니다.*/
cmcPmCfgGetSpeedPattern(BoardID, 3, nChannel, &nSpeedMode, &fVel, &fAcc, &fDec );
|
SEE ALSO¶
See also