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

get_output_register_float

이 함수는 지정한 레지스터 주소로 컨트롤러 출력 레지스터에서 float 값을 읽습니다. 주로 이더넷 기반 환경에서 PLC I/O 레지스터를 모니터링할 때 사용합니다.

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

bool get_output_register_float(unsigned short address, float& out_val, int timeout_ms = 300) {
    return _get_output_register_float(_rbtCtrl, address, &out_val, timeout_ms);
};

매개변수

매개변수 이름

자료형

기본값

설명

address

unsigned short

출력 레지스터 주소(float 형, 0~23)

out_val

float&

읽을 출력 float 값

timeout_ms

int

300

제한 시간(밀리초)

반환값

값

설명

0

오류: 출력 레지스터 float 값을 읽지 못했습니다

1

성공: 출력 레지스터 float 값을 읽었습니다

예제

#include "DRFLEx.h"
#include <iostream>

using namespace DRAFramework;

int main() {
    CDRFLEx robot;

    const char* ip = "192.168.137.100";
    if (!robot.open_connection(ip)) {
        std::cout << "Failed to connect: " << ip << std::endl;
        return 1;
    }

    // float를 쓰고 다시 읽기(제한 시간 300 ms)
    // 호출이 실패하면 “아직 읽지 않음”을 나타내도록 0.0f로 초기화합니다.
    float out_float = 0.0f;
    robot.set_output_register_float(0, 2.0f);
    robot.get_output_register_float(0, out_float, 300);
    std::cout << "addr=0, out_float=" << out_float << std::endl;

    robot.close_connection();
    return 0;
}

이 예제는 주소 0(Float_Output_Register[0])의 출력 레지스터에 float 값을 쓴 다음 다시 읽습니다.