기능
경로 수정 기능을 활성화 한다. 경로 생성의 단위 주기는 100msec이며 입력 인자 n을 설정하여 경로 생성 주기(n*100msec)를 변경 할 수 있다. 입력 인자 ePathMode를 통해 alter_motion의 입력값의 의미를 2가지 모드(누적량 모드, 증분량 모드) 중 하나로 선택하여 사용 할 수 있다. 누적량 모드의 경우 현재의 모션경로에 대한 절대적 증분위치/자세만큼 경로 수정량이 반영된다. 증분량 모드의 경우 바로 현재의 절대적 증분위치/자세에 입력된 증분위치/자세만큼 경로 수정량이 추가되어 반영된다. 입력 인자 eTargetRef를 통해 기준 좌표계를 설정할 수 있다. 입력 인자 fLimitDpos, fLimitDposPer를 통해 각 각 누적량, 증분량의 한계치를 설정 할 수 있다. 한계치를 벗어나는 위치 값의 한계치에 수렴한 값으로 경로 수정량이 재 조정된다.
해당 함수는 M2.4 버전 이상에서만 사용 가능하다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
iCycleTime |
int |
- |
경로 생성 주기 |
|
ePathMode |
Int |
- |
경로 수정 모드 |
|
eTargetRef |
int |
- |
상수 및 열거형 정의 참조 |
|
fLimitDpos |
float[2] |
- |
첫번째 값 : 이동량 제한 값[mm] 두번째 값 : 회전량 제한 값[deg] |
|
fLimitDposPer |
float[2] |
- |
첫번째 값 : 이동량 제한 값[mm] 두번째 값 : 회전량 제한 값[deg] |
-
alter_motion은 사용자 thread 내에서만 동작한다.
-
eTargetRef가 None인 경우, global coordinate 적용(global coordinate초기값은 COORDINATE_SYSTEM_BASE이며, set_ref_coord 명령에 의해 설정 가능)
리턴
|
값 |
설명 |
|---|---|
|
0 |
오류 |
|
1 |
성공 |
예제
float limit_dPOS[2] = {50, 90};
float limit_dPOS_per[2] = {50, 50};
Drfl.enable_alter_motion(5, PATH_MODE_DPOS, COORDINATE_SYSTEM_BASE, limit_dPOS, limit_dPOS_per);