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

TOnTpPopupCB

이 콜백은 로봇 컨트롤러에서 사용자 팝업 기능이 실행될 때 호출됩니다. 개발자는 티치펜던트(T/P) UI에 표시되는 팝업 이벤트를 처리하거나 기록할 수 있습니다.

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

정의 위치: DRFLEx.h

// typedef 정의(DRFLEx.h)
typedef void (*TOnTpPopupCB)(LPMESSAGE_POPUP);

// 등록 API(내부 + 래퍼)
DRFL_API void _set_on_tp_popup(LPROBOTCONTROL pCtrl, TOnTpPopupCB pCallbackFunc);
void set_on_tp_popup(TOnTpPopupCB pCallbackFunc)
{
    _set_on_tp_popup(_rbtCtrl, pCallbackFunc);
};

매개변수

매개변수 이름

자료형

기본값

설명

tPopup

MESSAGE_POPUP

팝업 데이터의 포인터입니다. _szText는 메시지 텍스트, _iLevel은 레벨(0: 메시지, 1: 경고, 2: 알람), _iBtnType은 버튼 유형(0: Resume/Stop, 1: OK)입니다.

반환값
없음

예제

#include "DRFLEx.h"
#include <iostream>
#include <thread>
#include <chrono>
using namespace DRAFramework;
using namespace std;

// TP에 사용자 팝업 메시지가 나타나면 호출되는 콜백 함수
void OnTpPopupCB(LPMESSAGE_POPUP tPopup)
{
    if (!tPopup) return;

    cout << "[TP POPUP]" << endl;
    cout << "Message : " << tPopup->_szText << endl;
    cout << "Level   : " << static_cast<int>(tPopup->_iLevel) << endl;
    cout << "Buttons : " << static_cast<int>(tPopup->_iBtnType) << endl;

    // 여기서 로그를 남기거나 추가 동작을 실행할 수 있습니다
}

int main()
{
    CDRFLEx drfl;

    // 로봇 컨트롤러에 연결
    if (!drfl.open_connection("192.168.137.100")) {
        cout << "Failed to connect to controller." << endl;
        return -1;
    }

    // TP 팝업 콜백 함수 등록
    drfl.set_on_tp_popup(OnTpPopupCB);

    // TP 팝업 이벤트를 모니터링하도록 실행 유지
    while (true)
        std::this_thread::sleep_for(std::chrono::seconds(1));

    drfl.close_connection();
    return 0;
}

참고

  • 이 콜백은 로봇 컨트롤러가 티치펜던트 팝업(예: 경고 메시지, 사용자 확인 대화 상자, DRL에서 생성한 팝업)을 띄울 때 호출됩니다.

  • 주로 로그 기록, 사용자 정의 경고 처리, 디버그 메시지 추적에 사용합니다.