이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
TOnMonitoringSpeedModeCB
이 콜백 함수로 로봇 컨트롤러의 현재 속도 모드를 확인합니다.
콜백 함수 규칙을 참고하세요.
정의 위치: DRFLEx.h
// typedef 정의(DRFL.h)
typedef void (*TOnMonitoringSpeedModeCB)(const MONITORING_SPEED);
// 등록 API(내부 + 래퍼)
DRFL_API void _set_on_monitoring_speed_mode(LPROBOTCONTROL pCtrl, TOnMonitoringSpeedModeCB pCallbackFunc);
void set_on_monitoring_speed_mode(TOnMonitoringSpeedModeCB pCallbackFunc)
{
_set_on_monitoring_speed_mode(_rbtCtrl, pCallbackFunc);
};
매개변수
매개변수 이름 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
eSpeedMode |
컨트롤러가 보고한 현재 속도 모드( |
반환값
없음
예제
#include "DRFLEx.h"
#include <iostream>
#include <thread>
#include <chrono>
using namespace DRAFramework;
using namespace std;
// 로봇의 속도 모드가 바뀌면 호출되는 콜백 함수
void OnMonitoringSpeedModeCB(const MONITORING_SPEED eSpdMode)
{
switch (eSpdMode)
{
case SPEED_NORMAL_MODE:
cout << "[SPEED MODE] Normal-speed mode active." << endl;
break;
case SPEED_REDUCED_MODE:
cout << "[SPEED MODE] Reduced-speed mode active." << endl;
break;
default:
cout << "[SPEED MODE] Unknown speed mode: " << static_cast<int>(eSpdMode) << endl;
break;
}
}
int main()
{
CDRFLEx drfl;
// 로봇 컨트롤러에 연결
if (!drfl.open_connection("192.168.137.100")) {
cout << "Failed to connect to controller." << endl;
return -1;
}
// 속도 모드 모니터링 콜백 함수 등록
drfl.set_on_monitoring_speed_mode(OnMonitoringSpeedModeCB);
// 속도 모드 이벤트를 모니터링하도록 프로세스 실행 유지
while (true)
{
std::this_thread::sleep_for(std::chrono::seconds(1));
}
drfl.close_connection();
return 0;
}
참고
로봇의 속도 모드가 바뀔 때마다 콜백이 호출됩니다.
이 콜백으로 UI 표시기, 안전 오버레이, 모션 속도 프로파일을 갱신할 수 있습니다.
콜백은 호출될 때마다 가장 최근 데이터를 받습니다. 콜백 실행 시간이 데이터 주기(DRCF 3.5 이전 100 ms, DRCF 3.5부터 20 ms)보다 길면 그 사이의 샘플은 전달되지 않습니다. 모든 샘플을 받는다고 가정하지 마세요(예: 적분이나 미분).