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

set_on_monitoring_safety_state (수동 모드)

이 절에서는 수동(교시) 작업에서 set_on_monitoring_safety_state를 사용하는 방법을 설명합니다. 이 함수는 컨트롤러가 로봇의 안전 상태를 보고할 때마다 호출되는 콜백을 등록합니다. 콜백은 SAFETY_STATE 값 하나를 받습니다. 예를 들어 위반 감지 정지(SAFETY_STATE_VD_STO), 조그 및 원점 복귀(SAFETY_STATE_JH_MOVE), 협동 작업 구역 운전(SAFETY_STATE_CW_RUN) 같은 값입니다.

일반적인 사용법

  • 수동 교시 중 실시간 안전 상태 전환을 모니터링합니다.

  • 안전 상태 변화(예: SAFETY_STATE_VD_STO, SAFETY_STATE_CW_RUN)를 기록하거나 표시합니다.

  • 안전 이벤트에 대응해 사용자 정의 복구 루틴이나 경고 루틴을 실행합니다.

참고

  • 컨트롤러의 안전 상태가 갱신될 때마다 콜백이 자동으로 실행됩니다.

  • 모니터링은 콜백을 명시적으로 교체하거나 연결이 종료될 때까지 계속됩니다.

  • 콜백 함수 규칙을 참고하세요.

예제: 안전 상태 모니터링 콜백 등록하기

// 1) 콜백 함수 정의
void OnSafetyStateChanged(const SAFETY_STATE eState) {
    printf("[Safety State Changed]\n");
    printf(" Safety state: %d\n", (int)eState);
}

// 사전 조건:
// - 연결 완료(open_connection)
// - 수동(교시) 모드 활성

// 2) 안전 모니터링 콜백 함수 등록
drfl.set_on_monitoring_safety_state(OnSafetyStateChanged);
printf("[Safety Monitor] Safety state callback registered.\n");

// 3) 이벤트를 수신하도록 프로그램 실행 유지
while (true) {
    std::this_thread::sleep_for(std::chrono::seconds(1));
}

팁

  • 콜백은 SAFETY_STATE 값 하나를 받습니다. 예를 들어 SAFETY_STATE_VD_STO(위반 감지, STO), SAFETY_STATE_JH_MOVE(조그 및 원점 복귀 이동), SAFETY_STATE_CW_RUN(협동 작업 구역 운전)이 있습니다. 상태 전환을 감지하려면 이전 값과 비교하세요.

  • 상태를 종합적으로 진단하려면 다음과 함께 사용하세요.
  • 콜백은 직접 다시 등록하거나 세션이 종료될 때까지 유효합니다.