set_analog_output

이 함수는 로봇 컨트롤러 컨트롤 박스의 아날로그 출력 포트로 아날로그 신호를 출력합니다. 출력 모드(전류 또는 전압)에 따라 하드웨어가 지원하는 범위의 아날로그 신호 값을 내보냅니다.

주로 공압 레귤레이터, 서보 앰프, 아날로그 구동 계측기처럼 전압이나 전류를 연속으로 제어해야 하는 외부 장치를 제어할 때 사용합니다.

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

bool set_analog_output(GPIO_CTRLBOX_ANALOG_INDEX eGpioIndex, float fValue)
{ return _set_analog_output(_rbtCtrl, eGpioIndex, fValue); };

매개변수

매개변수 이름

자료형

기본값

설명

eGpioIndex

GPIO_CTRLBOX_ANALOG_INDEX

컨트롤 박스의 아날로그 출력 포트 번호입니다.

fValue

float

아날로그 신호 출력 값입니다.
- 전류 모드: 4.0 – 20.0 [mA]
- 전압 모드: 0.0 – 10.0 [V]

반환값

값

설명

0

오류 — 아날로그 신호를 출력하지 못했습니다

1

성공 — 아날로그 신호 출력을 적용했습니다

참고

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

예제

// 채널 #1의 아날로그 출력 모드를 전류(mA)로 설정
drfl.set_mode_analog_output(GPIO_CTRLBOX_ANALOG_INDEX_1, GPIO_ANALOG_TYPE_CURRENT);

// 아날로그 출력 채널 #1에 5.2 mA 신호 출력
bool result = drfl.set_analog_output(GPIO_CTRLBOX_ANALOG_INDEX_1, 5.2f);

if (result)
    printf("Analog output applied successfully.\n");
else
    printf("Failed to output analog signal.\n");

이 예제는 아날로그 출력 1번을 전류 모드로 설정하고, 연결된 장치에 5.2 mA 신호를 보냅니다.
전압 모드로 설정한 경우에도 같은 함수로 0 – 10 V 범위의 연속 전압을 출력할 수 있습니다.