Line Timeout#
이는 타임아웃이 발생할 때까지 획득한 불완전한 프레임(부분 프레임)을 호스트 컴퓨터로 전송하려는 경우에 유용합니다.
이 기능은 GigE 인터페이스가 장착된 Basler racer 2 S 카메라에서만 사용할 수 있습니다.
기능 사용#
작동 방식#
Line Timeout 기능이 활성화되어 있고 LineTimeout 파라미터가 설정된 경우, 마지막 라인 트리거가 발행되는 즉시 라인 타임아웃 카운팅이 시작됩니다. 파라미터에 설정된 시간 내에 다음 라인 트리거가 수신되지 않으면 LineTimeout 다음과 같은 현상이 발생합니다:
- 명령이 실행된 시점까지 획득한 라인만 전달되며, 즉 부분 프레임으로 호스트 컴퓨터에 전송됩니다.
- 이벤트가 활성화된 경우 라인 타임아웃 이벤트가 생성됩니다.
예: 피검사물을 이송하는 컨베이어 벨트가 예기치 않게 정지하면 라인 타임아웃이 만료되어 추가 라인 트리거가 수신되지 않으므로 이미지 획득 프로세스가 중단됩니다. 부분 프레임이 추가 처리를 위해 호스트 컴퓨터로 전송됩니다.
Line Timeout 설정#
- 파라미터를 원하는
BslLineTimeoutEnable파라메터true. - 파라미터를 원하는
BslLineTimeout파라미터를 원하는 시간(μs)으로 설정합니다.
파라미터를 설정할 때 BslLineTimeout 다음 사항을 고려하세요:
- 값은 노출 시간 다음보다 작아야 합니다.
BslLineTimeout파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다. - 이송 장치의 속도 (예: 컨베이어 벨트): 파라미터 값은
BslLineTimeout충분히 커야 합니다. 이송 장치의 속도가 느려지거나 빨라지는 등 가변적인 경우, 파라미터 값이LineTimeout이송 장치가 소요되는 최대 시간보다 큰지 확인하세요. - 정기적인 정지 이송 장치의 작동에 영향을 줍니다. 파라미터 값은
LineTimeout정기적인 정지에 소요되는 최대 시간보다 커야 합니다.
샘플 코드#
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK; /* Return value of pylon methods */
/* Enable the Line Timeout feature */
errRes = PylonDeviceSetBooleanFeature(hdev, "BslLineTimeoutEnable", 1);
CHECK(errRes);
/* Set the line timeout in microseconds */
errRes = PylonDeviceSetIntegerFeature(hdev, "BslLineTimeout", 1000000);
CHECK(errRes);
pylon Viewer를 사용하여 파라미터를 손쉽게 설정할 수도 있습니다.