최신 버전 정보는 1.33.5에서 확인하세요.
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 |
컨트롤 박스의 디지털 출력 포트 번호입니다. |
||
bOnOff |
bool |
출력 상태 값 |
반환값
값 |
설명 |
|---|---|
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초 동안 유지한 다음 끕니다. 릴레이나 액추에이터 같은 외부 장치를 제어하기 위해 디지털 라인을 전환하는 방법을 보여 줍니다.