CDRFLEx.enable_alter_motion
기능
경로 수정 기능을 활성화 한다. 경로 생성의 단위 주기는 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);