이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
get_input_register_bit
이 함수는 지정한 레지스터 주소로 컨트롤러 입력 레지스터에서 비트 하나를 읽습니다. 주로 이더넷 기반 환경에서 PLC I/O 레지스터를 모니터링할 때 사용합니다.
정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션
bool get_input_register_bit(unsigned short address, int& out_val, int timeout_ms = 300) {
return _get_input_register_bit(_rbtCtrl, address, &out_val, timeout_ms);
};
매개변수
매개변수 이름 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
address |
unsigned short |
입력 레지스터 주소(비트 번호, 0~63) |
|
out_val |
int& |
읽을 입력 비트 값 |
|
timeout_ms |
int |
300 |
제한 시간(밀리초) |
반환값
값 |
설명 |
|---|---|
0 |
오류: 입력 레지스터 비트를 읽지 못했습니다 |
1 |
성공: 입력 레지스터 비트를 읽었습니다 |
예제
#include "DRFLEx.h"
#include <iostream>
using namespace DRAFramework;
int main() {
CDRFLEx robot;
const char* ip = "192.168.137.120";
if (!robot.open_connection(ip)) {
std::cout << "Failed to connect: " << ip << std::endl;
return 1;
}
// 비트 읽기(제한 시간 300 ms)
// 호출이 실패하면 “아직 읽지 않음”을 나타내도록 -1로 초기화합니다.
int out_bit = -1;
robot.get_input_register_bit(0, out_bit, 300);
std::cout << "addr=0, out_bit=" << out_bit << std::endl;
robot.close_connection();
return 0;
}
이 예제는 주소 0(Bit_Input_Register[0])의 입력 레지스터 비트를 읽습니다.