cemPlsrMove


SYNOPSIS

VT_I4 cemPlsrMove(
  VT_I4 Channel,
  VT_R8 Distance,
  VT_I4 IsBlocking
)

DESCRIPTION

  • Pulsar 신호 입력에 맞추어 지정한 거리(상대 좌표) 만큼 이송을 수행한 후에 Manual Pulsar 모드를 해제합니다.

  • 모션이 완료되기 전까지 반환되지 않습니다.

PARAMETER

  • Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상,. (최대 통합 축 개수 - 1) 이하의 값을 축 번호로 설정할 수 있습니다.

  • Distance : 이동할 거리를 지정합니다. 지정한 거리만큼 이동한 후 Manual Pulsar 모드는 자동으로. 해제됩니다. 거리의 단위는 “Unit distance” 에 의해 정의되는 논리적 거리입니다.

  • IsBlocking : cemPlsrMove 함수의 인자이며, 완료될 때까지 기다리는 동안 윈도우 메시지를 블록. (Blocking)할 것인지를 결정합니다. 단, 쓰레드내에서 실행할 때는 이 값을 1(CE_TRUE)로 설정해주어야 합니다.

Value

Meaning

0 (CE_FALSE)

윈도우 메시지를 블록(Blocking) 하지 않습니다. 따라서 해당 모션이 진행되는 동안 윈도우 이벤트를 처리합니다.

1 (CE_TRUE)

윈도우 메시지를 블록(Blocking) 합니다. 따라서 해당 모션이 완료되는 동안에는 윈도우 이벤트가 처리되지 않습니다.

RETURN VALUE

Value

Meaning

음수

수행 실패

0 (ceERR_NONE)

수행 성공

Note

Manual Pulsar 모드 모션을 중지하기 위해서는 cemSxStopEmg 함수를 사용하십시오. 이 함수가

호출되면 Manual Pulsar 모드는 해제됩니다.

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
25
26
27
28
29
30
 C/C++
 #include “ceSDK.h”
 #include “ceSDKDef.h”
void OnSetPlsrConfig ()
{
// Manual Pulsar 입력 모드 설정 및 입력 펄스와 출력 펄스 비를 1:2 로 설정합니다.
cemPlsrInMode_Set ( cemX1, cemIMODE_CWCCW, CE_FALSE );
cemPlsrGain_Set ( cemX1, 2, 2048 );
/* PA/PB 신호 입력 회로에 노이즈 필터 기능을 적용합니다.
노이즈 필터 기능이 활성화 되면 3.25MHz 이상의 주파수를 가지는 펄스는 노이즈로 처리됩니다.*/
cemCfgFilterAB_Set ( cemX1, cemAB_PULSAR, CE_TRUE );
}
void OnPulsarMove ()
{
/* 속도 환경을 설정합니다. 작업 속도는 출력 펄스의 폭을 결정하며,
일반적으로 사용하는 서보 드라이버의 최대 속도로 설정하시면 됩니다. */
cemCfgSpeedPattern_Set ( cemX1, // 대상 축을 설정합니다.
cemSMODE_S, // Pulsar 구동에서 속도 모드는 무시됩니다.
655350, // 작업 속도는 출력 펄스의 폭을 결정하며,
// 일반적으로 서보드라이버의 최대 속도로 설정하시면 됩니다.
10000, // Pulsar 구동에서 가속도는 무시됩니다.
10000 // Pulsar 구동에서 감속도는 무시됩니다.
);
/* Manual Pulsar 입력에 맞춰서 지정한 거리만큼 이송을 수행한 후
Manual Pulsar 모드를 해제 합니다. Pulsar 이송 함수가 수행되면
cemStReadMotionState 함수의 모션 상태 반환 값이 8 ( cemMST_WAIT_PLSR ) 이 됩니다. */
// 지정한 거리만큼 상대좌표 이송을 수행합니다. 모션이 완료되기 전까지 반환되지 않습니다.
cemPlsrMove ( cemX1, 10000, CE_FALSE );
// cemPlsrMoveStart()함수는 모션을 시작시킨 후에 바로 반환됩니다.
}