get_last_alarm (자동 모드)
이 절에서는 자동(실행) 운전 중에 get_last_alarm으로 로봇 컨트롤러에서 발생한 가장 최근의 알람이나 로그 이벤트를 읽는 방법을 설명합니다.
이 함수는 자동 실행 중에 DRL 프로그램이 멈춘 이유, 모션이 중단된 이유, 시스템/안전 이벤트 발생 여부를 진단하는 데 꼭 필요합니다.
일반적인 사용법
drl_stop 후에 작업이 중단된 원인을 확인합니다.
DRL 실행 중에 발생한 시스템 알람이나 안전 알람을 가져옵니다.
추적성을 위해 알람을 외부 시스템(HMI, MES, 데이터베이스)에 기록합니다.
복구 로직에서 로봇이 안전하게 운전을 재개할 수 있는지 판단하는 데 사용합니다.
참고
이 함수는 가장 최근의 LOG_ALARM 구조체를 가리키는 포인터를 반환합니다.
필드에 접근하기 전에 항상
nullptr인지 확인하세요.값에는 그룹, 수준, 인덱스, 메시지 매개변수가 포함됩니다.
예제: 정지 이벤트 후 최근 알람 읽기
// 1) 마지막 알람 정보 조회
LPLOG_ALARM alarm = drfl.get_last_alarm();
if (alarm == nullptr) {
printf("No alarm information available.\n");
return -1;
}
// 2) 기본 알람 정보 출력
printf("Alarm Group: %d\n", alarm->_iGroup);
printf("Alarm Level: %d\n", alarm->_iLevel);
printf("Alarm Index: %d\n", alarm->_iIndex);
// 3) 매개변수 출력(있는 경우)
printf("Parameters: %s, %s, %s\n", alarm->_szParam[0], alarm->_szParam[1], alarm->_szParam[2]);
이 예제에서는 외부 애플리케이션이 컨트롤러에서 최근 알람을 가져와 그룹, 수준, 인덱스, 메시지 매개변수 같은 주요 필드를 출력합니다. 고장을 진단하거나 정지 이벤트가 올바르게 처리되었는지 검증할 때 유용합니다.
팁
모션이나 DRL이 중단된 직후에 사용해 원인을 파악하세요.
생산 추적성을 위해 로깅 시스템과 연동하세요.
자동 모드 작업 흐름을 디버깅할 때 유용합니다.
모니터링 콜백과 함께 사용하면 알람에 실시간으로 대응할 수 있습니다.