이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
set_on_tp_popup
이 함수는 DRL에서 tp_popup 명령을 사용할 때 팝업 메시지를 확인하는 콜백 함수를 등록합니다. 이 이벤트가 발생할 때 원하는 코드를 자동으로 실행하는 데 사용하세요.
정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션
void set_on_tp_popup(TOnTpPopupCB pCallbackFunc) {
_set_on_tp_popup(_rbtCtrl, pCallbackFunc);
};
매개변수
매개변수 이름 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
pCallbackFunc |
콜백 함수 정의를 참고하세요 |
반환값
없음
참고
콜백 함수 규칙을 참고하세요.
예제
// TP 팝업 이벤트를 처리하는 콜백 함수
void OnTpPopup(LPMESSAGE_POPUP tPopup)
{
printf("-------------------------------------------\n");
printf("[TP POPUP DETECTED]\n");
printf("Popup Message : %s\n", tPopup->_szText);
printf("Message Level : %d\n", tPopup->_iLevel);
printf("Button Type : %d\n", tPopup->_iBtnType);
printf("-------------------------------------------\n");
// 예: 팝업 메시지나 레벨에 따라 처리
if (strcmp(tPopup->_szText, "Confirm Start?") == 0)
{
printf("[Host] Sending RESUME response to controller...\n");
drfl.tp_popup_response(POPUP_RESPONSE_RESUME);
}
else if (tPopup->_iLevel == MESSAGE_LEVEL_ALARM) // 알람 레벨 팝업
{
printf("[Host] Alarm received from TP. Logging event...\n");
// 로그 기록 또는 조치(예: 모션 감속)
}
else
{
printf("[Host] Display only popup - no action required.\n");
}
}
// 팝업 콜백 함수 등록
drfl.set_on_tp_popup(OnTpPopup);
// 메인 프로그램 로직
printf("Waiting for popup events from Teach Pendant...\n");
while (true)
{
// 연결을 유지하며 콜백 함수 확인
this_thread::sleep_for(chrono::seconds(1));
}
등록한 콜백 함수는 DRL을 통해 티치펜던트(TP)에서 팝업 메시지가 발생하면 자동으로 실행됩니다. 이 콜백으로 팝업 내용, 메시지 수준, 버튼 유형을 확인하고, 필요하면 컨트롤러에 응답을 보낼 수 있습니다(POPUP_RESPONSE_RESUME 또는 POPUP_RESPONSE_STOP). 이를 통해 로봇 운전 중 TP에 표시되는 확인, 경고, 알림 같은 메시지를 상황에 맞게 처리할 수 있습니다.