콘텐츠로 바로 가기
STAGING SERVER
DEVELOPMENT SERVER

Line Timeout#

Line Timeout 카메라 기능을 사용하면 이 시간 내에 추가 라인 트리거가 수신되지 않을 경우 프레임 획득이 중단되는 최대 시간(마이크로초 단위)을 설정할 수 있습니다.

이는 타임아웃이 발생할 때까지 획득한 불완전한 프레임(부분 프레임)을 호스트 컴퓨터로 전송하려는 경우에 유용합니다.

이 기능은 GigE 인터페이스가 장착된 Basler racer 2 S 카메라에서만 사용할 수 있습니다.

기능 사용#

작동 방식#

Line Timeout 기능이 활성화되어 있고 LineTimeout 파라미터가 설정된 경우, 마지막 라인 트리거가 발행되는 즉시 라인 타임아웃 카운팅이 시작됩니다. 파라미터에 설정된 시간 내에 다음 라인 트리거가 수신되지 않으면 LineTimeout 다음과 같은 현상이 발생합니다:

  • 명령이 실행된 시점까지 획득한 라인만 전달되며, 즉 부분 프레임으로 호스트 컴퓨터에 전송됩니다.
  • 이벤트가 활성화된 경우 라인 타임아웃 이벤트가 생성됩니다.

예: 피검사물을 이송하는 컨베이어 벨트가 예기치 않게 정지하면 라인 타임아웃이 만료되어 추가 라인 트리거가 수신되지 않으므로 이미지 획득 프로세스가 중단됩니다. 부분 프레임이 추가 처리를 위해 호스트 컴퓨터로 전송됩니다.

Line Timeout 설정#

  1. 파라미터를 원하는 BslLineTimeoutEnable 파라메터 true.
  2. 파라미터를 원하는 BslLineTimeout 파라미터를 원하는 시간(μs)으로 설정합니다.

파라미터를 설정할 때 BslLineTimeout 다음 사항을 고려하세요:

  • 값은 노출 시간 다음보다 작아야 합니다. BslLineTimeout 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
  • 이송 장치의 속도 (예: 컨베이어 벨트): 파라미터 값은 BslLineTimeout 충분히 커야 합니다. 이송 장치의 속도가 느려지거나 빨라지는 등 가변적인 경우, 파라미터 값이 LineTimeout 이송 장치가 소요되는 최대 시간보다 큰지 확인하세요.
  • 정기적인 정지 이송 장치의 작동에 영향을 줍니다. 파라미터 값은 LineTimeout 정기적인 정지에 소요되는 최대 시간보다 커야 합니다.

샘플 코드#

// Enable the Line Timeout feature
camera.BslLineTimeoutEnable.SetValue(true);
// Set the line timeout in microseconds
camera.BslLineTimeout.SetValue(1000000);
INodeMap& nodemap = camera.GetNodeMap();
// Enable the Line Timeout feature
CBooleanParameter(nodemap, "BslLineTimeoutEnable").SetValue(true);
// Set the line timeout in microseconds
CIntegerParameter(nodemap, "BslLineTimeout").SetValue(1000000);
// Enable the Line Timeout feature
camera.Parameters[PLCamera.BslLineTimeoutEnable].SetValue(true);
// Set the line timeout in microseconds
camera.Parameters[PLCamera.BslLineTimeout].SetValue(1000000);
/* 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);
# Enable the Line Timeout feature
camera.BslLineTimeoutEnable.Value = True
# Set the line timeout in microseconds
camera.BslLineTimeout.Value = 1000000

pylon Viewer를 사용하여 파라미터를 손쉽게 설정할 수도 있습니다.