CDRFLEx.speedl_rt
기능
외부 제어기에서 태스크 속도 제어를 하는 함수입니다.
인수
인수명 | 자료형 | 기본값 | 설명 |
fTargetPos | float[6] | - | 타겟 태스크 속도. [mm/s, deg/s] |
fTargetVel | float[6] | - | 타겟 태스트 가속도. [mm/s, deg/s] null값을 입력하면, 입력했던 타겟 태스크 위치 기반으로 자동 계산됩니다. |
fTargetAcc | float[6] | - | 타겟 시간 [s] |
알아두기
- Asnyc 명령어입니다. 호출된 후 다음 명령줄로 넘어갑니다.
- 내부 프로파일은 fTargetTime 에 (fTargetVel, fTargetAcc ) 에 도달하도록 보간됩니다.
- fTargetTime <= controller’s control period(=1ms) 인 경우 보간없이 바로 해당 속도로 제어합니다.
- fTargetVel에 도달할 때까지 다음 명령이 들어오지 않으면, 마지막 들어온 속도를 유지합니다.
- 단, 안전을 위해서 1[s] 동안 다음 명령이 들어오지 않으면 Time-Out으로 에러를 발생시키고 정지합니다.
- 모션 중 전역으로 설정된 가속도 제한값을 초과할 경우, 모션을 정지하지는 않고 Info 메시지를 발생시킵니다.
주의
- 현재 버전에서는 Operation Speed [%] 와 연동되지 않습니다.
- 현재 버전에서는 힘/강성 제어 함수와 연동되지 않습니다.
- 현재 버전에서 특이점 옵션 중 DR_VAR_VEL 와 연동되지 않습니다. 설정할 경우 자동으로 DR_AVOID 옵션으로 설정됩니다.
리턴
값 | 설명 |
0 | 오류 |
1 | 성공 |
예제
float fTargetPos[6] = {1500, 3, 100, 0, 0, 0};
float fTargetVel[6] = {100, 100, 100, 100, 100, 100};
float fTargetAcc[6] = {100, 100, 100, 100, 100, 100};
float fTargetTime = 6;
Drfl.servol_rt(fTargetPos, fTargetVel, fTargetAcc, fTargetTime);