이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

flange_serial_read (자동 모드)

이 절에서는 자동(실행) 운전 중에 flange_serial_read로 로봇 플랜지의 시리얼 포트에 연결된 장치에서 데이터를 받는 방법을 설명합니다.

이 함수는 주어진 포트에서 데이터가 들어올 때까지 주어진 제한 시간만큼 기다린 다음, 받은 바이트와 그 개수를 FLANGE_SER_RXD_INFO_EX 구조체에 담아 반환합니다. 로봇은 이를 이용해 툴의 응답이나 센서 측정값을 처리할 수 있습니다.

일반적인 사용법

  • 스마트 그리퍼에서 상태 피드백을 받습니다.

  • 시리얼 스캐너에서 바코드/QR 스캔 데이터를 읽습니다.

  • 툴에 장착한 측정 장치에서 센서 데이터를 가져옵니다.

  • 외부 주변 장치와의 핸드셰이크/응답 확인 로직을 구현합니다.

참고

  • 먼저 flange_serial_open으로 시리얼 포트를 열어야 합니다.

  • 많은 장치는 요청-응답 타이밍을 고려해야 합니다.

  • 플랜지 시리얼 함수와 플랜지 I/O 함수가 사용하는 플랜지 보드 리비전은 open_connection 시점에 읽습니다.

예제: 툴 장치의 응답 읽기

// 시리얼 포트 열기
drfl.flange_serial_open(1, 115200);

// 포트 1(X1)에서 데이터를 최대 3초 동안 대기
LPFLANGE_SER_RXD_INFO_EX rx = drfl.flange_serial_read(3.0f, 1);

if (rx == nullptr || rx->_iSize <= 0) {
    printf("No data received.\n");
    return -1;
}

printf("Received (%d bytes): %.*s\n", rx->_iSize, rx->_iSize, (const char*)rx->_cRxd);

이 예제에서는 앞서 쓰기 작업을 한 뒤 툴에서 데이터를 읽어, 자동 모드에서 로봇이 장치 응답을 받습니다.

팁

  • 한 번 읽을 때 최대 256바이트를 반환합니다.

  • 어떤 장치는 쓰기 후 읽기 전에 지연 시간이 필요합니다.

  • 데이터가 크거나 스트리밍 데이터라면 폴링이나 반복 읽기를 사용하세요.

  • 시리얼 쓰기와 함께 사용해 명령-응답이나 핸드셰이크 프로토콜을 구현하세요.