cemSxMoveStart2V¶
SYNOPSYS¶
t_i32 cemSxMoveStart2V(
  LONG Axis,
  DOUBLE Distance,
  DOUBLE Vel2
)
DESCRIPTION¶
하나의 축에 대하여 현재 위치에서 지정한 거리(상대 좌표)만큼 2 단계 속도로 이송을 수행합니다.
이송을 시작하면 cemCfgSpeedPattern_Set 함수를 통해 설정된 작업 속도까지 가속을 한 후 Vel2 로 설정한 2 차 작업속도까지 가속을 한 뒤 감속하여 이송을 완료합니다.
이 함수는 모션을 시작시킨 후에 바로 반환됩니다.
PARAMETER¶
Axis : 축 번호
Distance : 이송할 거리를 지정합니다. 이 값은 현재의 위치에 대한 상대 좌표이며, 논리적 거리(Logic distance) 단위를 사용합니다.
Vel2 : 이 매개변수를 통하여 2 차 작업 속도를 설정합니다.
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  | C/C++
#include “ceSDK.h”
#include “ceSDKDef.h”
long nAxisNo = 1; // 이송 대상 축을 선택합니다.
void OnSetSpeed ()
{
   / / 대상 축의 기본 속도를 설정합니다.
   cemCfgSpeedPattern_Set ( nAxisNo, cemSMODE_T, 1000, 5000, 5000 );
}
void OnMove ()
{
 long nRetVal;
 /* 대상 축의 기본 작업 속도까지 가속을 한 후 설정한 2 차 작업 속도까지 가속을 한 후
 감속하여 현재 위치에서 ‘10000’만큼 상대 위치까지 이송합니다. */
 nRetVal = cemSxMoveStart2V (    nAxisNo,    // 대상 축 설정.
                                 10000,    // 이송할 거리 설정.
                                 20000     // 2 차 작업 속도
 )
 | 
if ( nRetVal == ceERR_NONE ) {
//블록 모드를 CE_FALSE 로 하면 UI 메시지 처리가 가능합니다. cemSxWaitDone ( nAxisNo, CE_FALSE );
}
/* 대상 축의 기본 작업 속도까지 가속을 한 후 설정한 2 차 작업 속도까지 가속을 한 후 감속하여 현재 위치에 관계 없이 ‘0’ 위치로 절대 이송합니다. */
if ( cemSxMoveToStart2V ( nAxisNo, 0, 20000 ) == ceERR_NONE ) {
long nIsDone; // 단축 이송 완료 정보. While ( 1 ) {
// 단축 이송 작업 완료를 확인합니다. cemSxIsDone ( nAxisNo, &nIsDone ); if ( nIsDone == CE_TRUE ) break;
}
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36  | Delphi
procedure OnSetSpeed ();
begin
   // 대상 축의 기본 속도를 설정합니다.
   cemCfgSpeedPattern_Set ( cemX1, cemSMODE_T, 1000, 5000, 5000 );
 end;
 procedure OnMove ();
 var
   nIsDone : LongInt; // 단축 이송 완료 정보.
 begin
   { 대상 축의 기본 작업 속도까지 가속을 한 후 설정한 2 차 작업 속도까지 가속을 한 후
   감속하여 현재 위치에서 ‘10000’만큼 상대 위치까지 이송합니다. }
   if cemSxMoveStart2V ( cemX1, 10000, 20000 ) = ceERR_NONE then
   begin
       // 블록 모드를 CE_FALSE 로 하면 UI 메시지 처리가 가능합니다.
       cemSxWaitDone ( cemX1, CE_FALSE );
   end;
   { 대상 축의 기본 작업 속도까지 가속을 한 후 설정한 2 차 작업 속도까지 가속을 한 후
   감속하여 현재 위치에 관계 없이 ‘0’ 위치로 절대 이송합니다. }
   if cemSxMoveToStart2V ( cemX1, 0, 20000 ) = ceERR_NONE then
   begin
       nIsDone := CE_FALSE;
       // 단축 2 단계 이송 작업 완료를 확인합니다.
       while nIsDone = CE_FALSE do
       begin
               cemSxIsDone (cemX1, @nIsDone );
       end;
   end;
end;
 |