3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.2 3.2.1 3.2.0 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.2 3.2.1 3.2.0 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

amove_spiral()

기능

비동기(async.)방식의 move_spiral 모션으로 블렌딩을 위한 radius인자를 갖지 않는 점을 제외하고 move_spiral()과 동일하게 작동합니다. 그러나 해당 명령어는 async 방식의 모션 명령어로 모션 종료를 기다리지 않고 다음 명령어를 수행합니다.

알아두기

  • move_spiral: 현재 위치에서 출발하여 spiral 궤적의 끝에 도달(정지)한 후에 다음 명령 수행

  • amove_spiral: 현재 위치에서 출발하여 spiral 궤적의 끝에 도달(정지)여부와 관계없이 즉시 다음 명령 수행

인수

인수명

자료형

기본값

범위

설명

rev

float

10

rev > 0

총 회전수 [revolution]

rmax

float

None

rmax > 0

spiral 최종 반경 [mm]

lmax

float

0


axis 방향으로 이동하는 거리 [mm]

vel (v)

float

None


velocity

acc (a)

float

None


acceleration

time (t)

float

None

time ≥ 0

총 수행시간 <sec>

axis

int

DR_AXIS_Z

-

axis

  • DR_AXIS_X: x축

  • DR_AXIS_Y: y축

  • DR_AXIS_Z: z축

ref

int

DR_TOOL

-

reference coordinate

  • DR_BASE : base coordinate

  • DR_WORLD : world coordinate

  • DR_TOOL : tool coordinate

  • user coordinate : 사용자 정의

pos

posx

None



posx 또는 position list (X,Y,Z)

list(float[3])

list(float[6])

mod

int

DR_MV_MOD_ABS


이동 기준

  • DR_MV_MOD_ABS : 절대

  • DR_MV_MOD_REL : 상대

rad_dir

int

DR_SPIRAL_OUTWARD


설명

  • DR_SPIRAL_OUTWARD : 외향 이동

  • DR_SPIRAL_INWARD : 내향 이동

rot_dir

int

DR_ROT_FORWARD


설명

  • DR_ROT_FORWARD : 정방향 (+)

  • DR_ROT_REVERSE : 역방향 (-)

ra

int

DR_MV_RA_DUPLICATE


Reactive motion mode

  • DR_MV_RA_DUPLICATE: duplicate

  • DR_MV_RA_OVERRIDE: override

알아두기

  • 단축 인수를 지원합니다. (v:vel, a:acc, t:time)

  • rev는 spiral 모션의 총 회전수를 의미합니다.

  • rmax는 spiral 모션의 최대 반경을 의미합니다.

  • lmax는 모션 동안 axis 방향으로 병진하는 거리를 의미합니다. 단, 음수인 경우 –axis 방향 병진합니다.

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

  • vel이 None인 경우, _global_velx의 첫째 값(병진 속도)이 적용됩니다. (_global_velx 초기값은 0.0이며, set_velx에 의해 설정 가능)

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

  • acc가 None인 경우, _global_accx 첫째 값(병진 가속도)이 적용됩니다. (_global_accx 초깃값은 0.0이며, set_accx에 의해 설정 가능)

  • set_velx(), set_accx()를 호출하지 않아 _global_velx, _global_accx가 초깃값 0.0인 상태에서 vel, acc, time을 모두 생략하면, 모션이 수행되지 않고 DRL ValueError(DR_ERROR_VALUE)가 발생하여 프로그램이 정지합니다. vel과 acc를 인수로 지정하거나, set_velx()와 set_accx()로 전역값을 먼저 설정하십시오.

  • time을 지정할 경우 vel, acc를 무시하고 time 기준으로 처리됩니다.

  • time이 None인 경우 0으로 처리됩니다.

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

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

  • rad_dir 은 Spiral의 반경 방향의 회전 방향을 의미합니다.

external_img_help_moveSpiral_radial_direction_en 1.png
  • rot_dir 은 Spiral의 회전 축을 기준으로 한 회전 방향을 의미합니다.

external_img_help_moveSpiral_rot_dir_en 1.png
  • 옵션 ra 및 vel/acc에 따른 blending 시의 경로는 move_spiral() 모션 설명을 참조하세요.

  • P시리즈의 경우, Flange Z축이 Base Z축과 Align 되어있을 때만 사용 가능합니다.

주의

경로 생성 시 Spiral 경로에 의한 회전각 가속도를 연산하여 값이 큰 경우 안정적인 모션을 위하여 에러가 발생할 수 있습니다. 이 경우 vel, acc 값을 작게 또는 time 값을 크게 조정하는 것을 권장합니다.

리턴

설명

0

성공

음수값

오류

예외

예외

설명

DR_Error (DR_ERROR_TYPE)

인수들의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

인수의 값이 유효하지 않을 시

DR_Error (DR_ERROR_RUNTIME)

C Extension 모듈 에러 발생 시

DR_Error (DR_ERROR_STOP)

프로그램 강제 종료 시

예제

Python
# Model: M1013

J00 = posj(0,0,90,0,90,0)
P1 = [559,34.5,651.5]
P2 = [579, 65, 641.5]

D1 = [20,0,10]
D2 = [-20,0,-10]

movej(J00,vel=100,acc=100) # Move to Initial Poisition

# Max Radius with Blending
amove_spiral(rev=5,rmax=20.0,lmax=-10,v=40,a=40,axis=DR_AXIS_Z,ref=DR_TOOL,rad_dir=DR_SPIRAL_OUTWARD, rot_dir=DR_ROT_FORWARD)
wait(5.5)
amove_spiral(rev=5,rmax=20.0,lmax=-10,v=40,a=40,axis=DR_AXIS_Z,ref=DR_TOOL,rad_dir=DR_SPIRAL_INWARD, rot_dir=DR_ROT_FORWARD)
mwait(0)

# Coordinate values with Blending
amove_spiral(rev=5,pos=P2,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_OUTWARD, rot_dir=DR_ROT_FORWARD)
wait(10.2)
amove_spiral(rev=5,pos=P1,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_INWARD, rot_dir=DR_ROT_FORWARD)
mwait(0)

# Relative motion with Blending
amove_spiral(rev=5,pos=D1,mod=DR_MV_MOD_REL,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_OUTWARD, rot_dir=DR_ROT_FORWARD)
wait(5.5)
amove_spiral(rev=5,pos=D2,mod=DR_MV_MOD_REL,v=40,a=40,axis=DR_AXIS_Z,ref=DR_BASE,rad_dir=DR_SPIRAL_INWARD, rot_dir=DR_ROT_FORWARD)
mwait(0)

관련 명령어