set_digital_output

이 함수는 로봇 컨트롤 박스의 지정한 출력 포트로 디지털 신호를 출력합니다. 매개변수로 전달한 디지털 출력 번호로 신호를 ON(1) 또는 OFF(0)로 설정할 수 있습니다.

주로 컨트롤러의 디지털 I/O 인터페이스에 연결된 공압 밸브, 표시등 등 주변 장치를 제어할 때 사용합니다.

버전 참고
- DRCF 버전 = 2이면 이 함수는 내부적으로 _set_digital_output()을 호출합니다.
- DRCF 버전 = 3이면 확장된 I/O 지원을 위해 _set_digital_output_ex()를 호출합니다.
컨트롤러 펌웨어 버전은 get_library_version을 참고하세요.

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

#if DRCF_VERSION == 2
bool set_digital_output(GPIO_CTRLBOX_DIGITAL_INDEX eGpioIndex, bool bOnOff) {
    return _set_digital_output(_rbtCtrl, eGpioIndex, bOnOff);
};
#elif DRCF_VERSION == 3
bool set_digital_output(GPIO_CTRLBOX_DIGITAL_INDEX eGpioIndex, bool bOnOff) {
    return _set_digital_output_ex(_rbtCtrl, eGpioIndex, bOnOff);
};
#endif

매개변수

매개변수 이름

자료형

기본값

설명

eGpioIndex

GPIO_CTRLBOX_DIGITAL_INDEX

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

bOnOff

bool

출력 상태 값
true (1) : ON — high 신호 출력
false (0) : OFF — low 신호 출력

반환값

값

설명

0

오류 — 신호를 출력하지 못했습니다

1

성공 — 대상 포트에 신호를 출력했습니다

참고

true를 반환해도 컨트롤러가 요청을 적용했다는 뜻은 아닙니다. 해당하는 getter 함수나 콜백(예: get_digital_output, get_robot_system, get_robot_speed_mode)으로 결과를 확인하세요.

예제

// 컨트롤 박스의 디지털 출력 #1 켜기
drfl.set_digital_output(GPIO_CTRLBOX_DIGITAL_INDEX_1, true);

// 2초 대기
std::this_thread::sleep_for(std::chrono::seconds(2));

// 디지털 출력 #1 끄기
drfl.set_digital_output(GPIO_CTRLBOX_DIGITAL_INDEX_1, false);

이 예제는 로봇 컨트롤러의 디지털 출력 채널 1번을 켜고 2초 동안 유지한 다음 끕니다. 릴레이나 액추에이터 같은 외부 장치를 제어하기 위해 디지털 라인을 전환하는 방법을 보여 줍니다.