set_on_tp_get_user_input

이 함수는 DRL에서 tp_get_user_input 명령을 사용할 때 사용자 입력을 확인하는 콜백 함수를 등록합니다. 이 이벤트가 발생할 때 원하는 코드를 자동으로 실행하는 데 사용하세요.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

void set_on_tp_get_user_input(TOnTpGetUserInputCB pCallbackFunc) {
    _set_on_tp_get_user_input(_rbtCtrl, pCallbackFunc);
};

매개변수

매개변수 이름

자료형

기본값

설명

pCallbackFunc

TOnTpGetUserInputCB

콜백 함수 정의를 참고하세요

반환값
없음

참고

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

예제

// TP 사용자 입력 이벤트용 콜백 함수
void OnTpGetUserInput(LPMESSAGE_INPUT tInput)
{
    printf("-------------------------------------------\n");
    printf("[TP USER INPUT RECEIVED]\n");
    printf("Prompt Message : %s\n", tInput->_szText);
    printf("Data Type      : %d\n", tInput->_iType);
    printf("-------------------------------------------\n");

    // 예: 입력 내용에 따라 처리
    if (strcmp(tInput->_szText, "start") == 0)
    {
        printf("[Host] Received start command from TP user.\n");
        // 여기에서 로봇 루틴을 실행하거나 플래그 설정
    }
    else if (strcmp(tInput->_szText, "stop") == 0)
    {
        printf("[Host] Received stop request. Halting operation.\n");
        // 현재 모션 또는 절차 중지
    }
    else
    {
        printf("[Host] Generic input received, storing for later use.\n");
    }
}

// TP 사용자 입력 콜백 함수 등록
drfl.set_on_tp_get_user_input(OnTpGetUserInput);

printf("Waiting for user input events from Teach Pendant...\n");
while (true)
{
    this_thread::sleep_for(chrono::seconds(1));
}

등록한 콜백 함수는 티치펜던트(TP)에서 사용자 입력 메시지가 발생하면 자동으로 실행됩니다. 이 콜백으로 입력된 응답이나 명령을 상황에 맞게 처리할 수 있으므로, TP를 통한 대화형 로봇 제어나 매개변수 입력을 구현할 수 있습니다.