이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

drl_stop

이 함수는 로봇 컨트롤러에서 실행 중인 DRL 프로그램(태스크)을 정지합니다. 현재 실행 중인 구간의 모션을 정지합니다. drl_stop이 true를 반환하면 로봇은 수동 모드가 됩니다. 다음 drl_start 전에 set_robot_mode(ROBOT_MODE_AUTONOMOUS)를 호출하세요. 실행 중이거나 일시 정지된 DRL 프로그램이 없거나 컨트롤러가 정지를 거부하면 drl_stop은 false를 반환하고 모드는 바뀌지 않습니다. 프로그램이 정지한 후에도 수동 모드가 확인되지 않거나 로봇이 오류 상태이면 drl_stop은 false를 반환합니다. false가 반환되면 get_program_state()와 get_robot_mode()를 확인하세요.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool drl_stop(unsigned char eStopType = 0) {
    return _drl_stop(_rbtCtrl, eStopType);
};

매개변수

매개변수 이름

자료형

기본값

설명

eStopType

unsigned char

0

프로그램의 모션은 항상 급정지(Quick Stop)로 멈춥니다. 0과 1은 프로그램을 정상 강제 종료로 끝내고, 2는 오류 정지로 끝냅니다.

반환값

값

유형

설명

0

int

오류

1

int

성공

예제

DRL_PROGRAM_STATE eProgramState = drfl.get_program_state();
if ((eProgramState == DRL_PROGRAM_STATE_PLAY) ||
    (eProgramState == DRL_PROGRAM_STATE_HOLD)) {
    // DRL 프로그램 정지
    drfl.drl_stop(STOP_TYPE_QUICK);
}

이 예제는 get_program_state()로 현재 DRL 프로그램 실행 상태를 확인합니다. 상태가 PLAY 또는 HOLD이면 drl_stop(STOP_TYPE_QUICK)으로 프로그램을 정지하며, 프로그램은 정상 강제 종료로 끝납니다.