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

config_program_watch_variable (수동 모드)

이 절에서는 수동(교시) 작업에서 config_program_watch_variable을 사용하는 방법을 설명합니다. 이 함수는 DRL 프로그램이 실행 중이거나 수동으로 실행되는 동안 티치펜던트(TP)의 Watch 탭에서 모니터링하고 표시할 변수를 등록합니다. 작업자는 속도, 토크, 카운터, 사용자 정의 매개변수 같은 변수 값을 실시간으로 추적할 수 있습니다.

일반적인 사용법

  • 수동 교시 중 시각적 피드백을 위해 선택한 변수를 TP에 표시합니다.

  • 모션을 조정하는 동안 바뀌는 공정 값(예: 힘, 위치, 루프 카운터)을 모니터링합니다.

  • 프로그램을 일시 정지하지 않고 사용자 정의 DRL 변수를 대화식으로 디버깅합니다.

  • 센서나 매개변수 튜닝 작업에서 값을 실시간으로 관찰할 때 사용합니다.

참고

  • 감시 목록에는 여러 변수를 동시에 표시할 수 있습니다.

예제: 사용자 정의 교시 변수 등록하고 모니터링하기

drfl.open_connection("192.168.137.100");

// 예 1: 전역 변수 - 교시 속도
bool result1 = drfl.config_program_watch_variable(VARIABLE_TYPE_GLOBAL,
                                                  DATA_TYPE_FLOAT,
                                                  "teach_speed",
                                                  "0.25");
if (result1)
    printf("[WATCH] Added variable 'teach_speed' (0.25)\n");

// 예 2: 전역 변수 - 카운터
bool result2 = drfl.config_program_watch_variable(VARIABLE_TYPE_GLOBAL,
                                                  DATA_TYPE_INT,
                                                  "cycle_count",
                                                  "10");
if (result2)
    printf("[WATCH] Added variable 'cycle_count' (10)\n");

// 예 3: 문자열 변수 - 작업자 이름
drfl.config_program_watch_variable(VARIABLE_TYPE_GLOBAL,
                                   DATA_TYPE_STRING,
                                   "operator_name",
                                   "\"John\"");
printf("[WATCH] Registered string variable 'operator_name' = John\n");

printf("[Teach] You can now view these variables in TP > Watch tab.\n");

// TP에서 관찰할 수 있도록 프로세스 실행 유지
while (true)
    this_thread::sleep_for(chrono::seconds(3));

이 함수를 호출하면 지정한 변수가 TP Watch 패널에 추가되어 교시나 DRL 프로그램 실행 중에 실시간으로 관찰할 수 있습니다. 로봇 동작을 중단하지 않고도 로직이 올바른지, 매개변수가 갱신되는지, 상태가 어떻게 바뀌는지 확인할 수 있습니다.

팁

  • 교시 중 전역 변수나 프로그램 변수를 실시간으로 모니터링할 때 사용합니다.

  • set_on_tp_log와 함께 사용하면 로그 메시지와 함께 변수 변화를 추적할 수 있습니다.

  • 루프, 카운터를 디버깅하거나 매개변수를 실시간으로 튜닝할 때 유용합니다.