최신 버전 정보는 1.33.5에서 확인하세요.
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 |
통신 주기(초)입니다. |
|
nLossCnt |
int |
nLossCnt는 아무 효과가 없습니다. |
참고
nLossCnt는 아무 효과가 없습니다.이 함수는 connect_rt_control 뒤, start_rt_control 전에 호출해야 합니다.
반환값
값 |
설명 |
|---|---|
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) 갱신 속도는 높아지지만 네트워크 부하가 커집니다.
네트워크 지연과 컨트롤러 성능에 맞게 주기를 조정하세요.