stop (수동 모드)

이 절에서는 수동(교시) 작업 중에 stop을 사용하는 방법을 설명합니다. 이 함수는 3.1 공통에 정의되어 있지만, 수동 조그에서 주로 다음 용도로 사용합니다.

  • 실행 중인 jog / multi_jog를 즉시 멈춥니다.

  • 느린 정지로 부드럽게 감속합니다.

  • 예기치 않은 접촉이나 작업자 개입에서 복구합니다.

일반적인 사용법

  • 즉시 멈추려면 STOP_TYPE_QUICK을 사용하세요(예: 지그에 가까울 때).

  • 정밀 위치 결정 후 진동을 줄이려면 STOP_TYPE_SLOW를 사용하세요.

  • 정지한 후 mwait나 get_robot_state로 완료를 확인하세요.

참고

stop()은 모션을 멈추기만 합니다. 안전 오류를 리셋하거나 보호 정지(Protective Stop)를 해제하지 않습니다.

예제: 조그 → 정지 → 확인

// 연결, 수동 모드, 서보 온이 설정되었다고 가정합니다.

// +X 방향으로 0.7초 동안 조그한 뒤 급정지
drfl.jog(JOG_AXIS_TASK_X, MOVE_REFERENCE_BASE, 15.0f);
std::this_thread::sleep_for(std::chrono::milliseconds(700));
drfl.stop(STOP_TYPE_QUICK);
drfl.mwait();

// TOOL 좌표계로 미세 조정한 뒤 느린 정지
float v_touch[6] = {3.0f, 0, 0, 0, 0, 0};
drfl.multi_jog(v_touch, MOVE_REFERENCE_TOOL, 1.0f);
std::this_thread::sleep_for(std::chrono::milliseconds(400));
drfl.stop(STOP_TYPE_SLOW);
drfl.mwait();

팁

  • 즉시 반응하도록 티치펜던트 키에 stop(STOP_TYPE_QUICK)을 할당하세요.

  • 조그 후 안정적으로 최종 위치를 잡으려면 STOP_TYPE_SLOW를 사용하세요.