set_rt_control_output

이 함수는 실시간 외부 제어(로봇 컨트롤러 → 외부 컨트롤러)의 출력 데이터 통신 설정을 지정합니다. UDP 기반 출력 스트리밍에 사용할 버전과 전송 주기를 정의합니다.

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

bool set_rt_control_output(string strVersion, float fPeriod, int nLossCnt) {
    return _set_rt_control_output(_rbtCtrlUDP, strVersion.c_str(), fPeriod, nLossCnt);
};

매개변수

매개변수 이름

자료형

기본값

설명

strVersion

string

RT 스트리밍에 사용할 출력 데이터 버전(예: “v1.0”)입니다.

fPeriod

float

통신 주기(초)입니다.
0.001 s 미만의 값은 주기적 출력을 비활성화합니다. 1 s보다 짧은 값을 사용하세요. 이 주기와 입력 주기가 모두 0 이하이면 컨트롤러는 start_rt_control 이후의 모든 RT 명령을 무시합니다.

nLossCnt

int

nLossCnt는 아무 효과가 없습니다.

참고

반환값

값

설명

1

설정 데이터그램을 보냈습니다.

0

설정 데이터그램을 보내지 못했습니다.

참고

이 함수는 컨트롤러가 설정을 확인할 때까지 기다리지 않습니다. 반환값 1은 데이터그램을 보냈다는 뜻일 뿐, 버전이나 주기가 수락되었다는 뜻은 아닙니다. 거부된 설정은 set_on_rt_log_alarm으로 보고됩니다.

예제

// 연결 후 RT 출력 데이터 설정
drfl.connect_rt_control("192.168.137.100", 12347);

std::string version = "v1.0";
float period = 0.001f;   // 1 msec = 1 kHz 주기
int lossCount = 4;       // 예약됨, 사용하지 않음

if (drfl.set_rt_control_output(version, period, lossCount))
    printf("RT output configuration set successfully.\n");
else
    printf("Failed to set RT output configuration.\n");

drfl.disconnect_rt_control();

이 예제는 버전 “v1.0”, 전송 주기 1 ms로 RT 출력을 설정합니다. nLossCnt 매개변수는 현재 사용하지 않습니다.

팁

  • 실시간 동기화를 유지하려면 입력과 출력에 같은 주기를 사용하세요.

  • 주기가 짧을수록(예: 0.001–0.005 s) 갱신 속도는 높아지지만 네트워크 부하가 커집니다.

  • 네트워크 지연과 컨트롤러 성능에 맞게 주기를 조정하세요.