get_digital_input

이 함수는 로봇 컨트롤러 컨트롤 박스의 디지털 입력 포트에서 현재 신호 상태를 읽습니다. 지정한 입력 포트가 현재 high(ON) 신호를 받는지 low(OFF) 신호를 받는지 확인할 때 사용합니다.

주로 로봇의 디지털 입력 단자에 연결된 외부 센서, 스위치, 안전 인터록을 모니터링할 때 사용합니다.

DRCF_VERSION 3(기본값)에서는 이 함수를 사용하려면 setup_monitoring_version(1)이 필요합니다. 이를 호출하지 않으면 함수는 false를 반환하고 “Depreciated.. please make sure monitoring version..”을 출력합니다. open_connection을 호출할 때마다 setup_monitoring_version(1)을 다시 호출하세요.

버전 참고
- DRCF 버전 = 2이면 이 함수는 내부적으로 _get_digital_input()을 호출합니다.
- DRCF 버전 = 3이면 확장된 I/O 호환성을 위해 _get_digital_input_ex()를 호출합니다.
현재 DRCF 버전은 get_library_version으로 확인하세요.

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

#if DRCF_VERSION == 2
bool get_digital_input(GPIO_CTRLBOX_DIGITAL_INDEX eGpioIndex) {
    return _get_digital_input(_rbtCtrl, eGpioIndex);
};
#elif DRCF_VERSION == 3
bool get_digital_input(GPIO_CTRLBOX_DIGITAL_INDEX eGpioIndex) {
    return _get_digital_input_ex(_rbtCtrl, eGpioIndex);
};
#endif

매개변수

매개변수 이름

자료형

기본값

설명

eGpioIndex

GPIO_CTRLBOX_DIGITAL_INDEX

컨트롤 박스의 디지털 입력 포트 번호입니다.

반환값

값

설명

0

OFF — 신호 없음(입력 low)

1

ON — 신호 감지(입력 high)

예제

// 디지털 입력 #1의 현재 신호 읽기
bool bSignal = drfl.get_digital_input(GPIO_CTRLBOX_DIGITAL_INDEX_1);

if (bSignal)
    printf("Digital input #1 is currently ON\n");
else
    printf("Digital input #1 is currently OFF\n");

이 예제는 디지털 입력 1번이 현재 활성 상태인지 확인하고 해당 상태를 콘솔에 출력합니다. 리밋 스위치, 센서, 비상 정지(Emergency Stop) 회로의 신호를 모니터링하는 데 사용할 수 있습니다.