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

flange_serial_close (수동 모드)

이 절에서는 수동 I/O나 센서 통신 테스트를 마친 후 수동(교시) 작업 중에 flange_serial_close로 특정 플랜지 포트의 활성 시리얼 통신 세션을 종료하는 방법을 설명합니다.

일반적인 사용법

  • 툴, 그리퍼, 센서 통신에 사용한 열린 플랜지 시리얼 포트를 닫습니다.

  • 다른 장치로 전환하거나 포트를 다시 열기 전에 포트가 제대로 해제되었는지 확인합니다.

  • 수동 연결 테스트를 반복할 때 시리얼 자원 충돌을 막습니다.

참고

  • 이 함수는 flange_serial_open으로 연결을 성공적으로 연 후에 호출해야 합니다.

  • 로봇 전원을 끄거나 통신 매개변수를 바꾸기 전에 항상 포트를 닫으세요.

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

예제: 플랜지 시리얼 포트 열기, 통신, 닫기

// 사전 조건:
// - 연결 완료(open_connection)
// - 수동(교시) 모드 활성
// - 플랜지 X1에 툴 또는 센서 연결

// 1) 플랜지 시리얼 포트 열기(X1, 115200 bps)
bool opened = drfl.flange_serial_open(1, 115200);
if (!opened) {
    printf("[Flange] Failed to open serial port.\n");
    return -1;
}
printf("[Flange] Serial port opened successfully.\n");

// 2) (선택 사항) 데이터 전송
// drfl.flange_serial_write(tx_length, tx_data, 1);
// LPFLANGE_SER_RXD_INFO_EX rx = drfl.flange_serial_read(3.0f, 1);

std::this_thread::sleep_for(std::chrono::seconds(1)); // 시뮬레이션용 대기

// 3) 시리얼 포트 닫기
bool closed = drfl.flange_serial_close(1);
if (closed)
    printf("[Flange] X1 closed successfully.\n");
else
    printf("[Flange] Failed to close X1.\n");

팁

  • 자원 사용 중 오류를 피하려면 같은 포트를 다시 열기 전에 항상 flange_serial_close()를 호출하세요.

  • 닫기에 실패하면 대기 중인 읽기/쓰기 작업이 모두 끝났는지 확인하세요.

  • 툴을 여러 개 쓰는 구성에서는 포트를 개별적으로(X1, X2) 관리하고 사용한 순서의 역순으로 닫으세요.