최신 버전 정보는 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(협동 작업 구역 운전)이 있습니다. 상태 전환을 감지하려면 이전 값과 비교하세요.- 상태를 종합적으로 진단하려면 다음과 함께 사용하세요.
설정 세부 사항을 점검하려면 get_safety_configuration (DRCF v2) 또는 get_safety_configuration (DRCF v3)
통제된 복구를 하려면 release_protective_stop
- 상태를 종합적으로 진단하려면 다음과 함께 사용하세요.
콜백은 직접 다시 등록하거나 세션이 종료될 때까지 유효합니다.