1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

CDRFLEx.amove_spiral(Extension)

기능

비동기 방식의 move_spiral모션으로 비동기 처리 외에는 move_spiral() 함수와 동일하게 동작하며 모션 종료를 기다리지 않고 모션 시작과 동시에 리턴하여 다음 라인을 실행한다.

amove_spiral() 함수에 의한 모션이 종료되기 전에 발생하는 새로운 모션지령은 안전상의 이유로 오류를 발생시킨다. 따라서 amove_spiral() 함수과 이어지는 새로운 모션명령어 사이에는 mwait() 함수를 사용하여 amove_spiral()에 의한 모션이 종료된 것를 확인한 후 새로운 모션명령어가 시작되도록 해야한다.

본 명령은 방사형 방향으로 반경이 증가하며 회전하는 Spiral motion과 축방향으로 병행하는 모션을 수행합니다. 현재위치에서 기준 좌표계(eMoveReference) 지정한 좌표계 상의 축 방향에 수직인 평면에서의 나선궤적과 축 방향으로의 직선궤적을 동시에 따라 이동한다.

인수

인수명

자료형

기본값

범위

설명

eTaskAxis

enum.TASK_AXIS

-

-

상수 및 열거형 정의 참조

fRevolution

float

-

rev > 0

총 회전수 [revolution]

fTargetPos

float[3]

-

-

목표점

fTargetVel

float[2]

-


선속도, 각속도

fTargetAcc

float[2]

-


선가속도, 각가속도

fTargetTime

float

0.0

time ≥ 0

총 수행시간 <sec>

eMoveReference

enum.MOVE_REFERENCE

MOVE_REFERENCE_TOOL

 

상수 및 열거형 정의 참조

eMoveMode

enum.MOVE_MODE

MOVE_MODE_ABSOLUTE


상수 및 열거형 정의 참조

eSpiralDir

enum.SPIRAL_DIR

DR_SPIRAL_OUTWARD


상수 및 열거형 정의 참조

eRotDir

enum.ROT_DIR

DR_ROT_FORWARD


상수 및 열거형 정의 참조


알아두기
  • fRevolution 는 spiral 모션의 총 회전수를 의미합니다.

  • fTargetVel 은 spiral 모션의 이동 속도를 의미합니다.

  • fTargetAcc 는 spiral 모션의 이동 가속도를 의미합니다.

  • fTargetTime 을 지정할 경우 fTargetVel, fTargetAcc 를 무시하고 fTargetTime 기준으로 처리됩니다.

  • eTaskAxis 는 Spiral 모션이 정의하는 평면에 수직인 축을 정의합니다.

  • eMoveReference 는 spiral 모션이 정의하는 기준 좌표계를 의미합니다.

  • 선행모션과 후행모션에 대한 온라인 블렌딩은 지원하지 않습니다.


주의
  • 경로 생성 시 Spiral 경로에 의한 회전각 가속도를 연산하여 값이 큰 경우 안정적인 모션을 위하여 에러가 발생나타날 수 있습니다.
    이 경우 fTargetVel, fTargetAcc 또는 fTargetTime 값을 작게 조정하는 것을 권장합니다.

리턴

값

설명

0

오류

1

성공

예제

C++
// 나선형 모션 시작 후 3초 후에 D-Out
float rev = 3;
float rmax = 50;
float lmax = 50;
float tvel = { 50, 50 };
float tacc = { 100, 100 };
Drfl.amove_spiral(TASK_AXIS_Z, rev, rmax, lmax, tvel, tacc);
Sleep(3000);
drfl.set_digital_output(GPIO_CTRLBOX_DIGITAL_INDEX_1, 1);

image2021-12-2_13-21-28.png