GigE Line Scan Use Case Descriptions and Diagrams
이 항목에서는 Basler GigE 및 5GigE 라인 스캔 카메라의 일반적인 사용 사례와 주어진 사용 사례에 맞게 이러한 카메라를 구성하는 방법에 대해 설명합니다.
이 항목의 사용 사례는 트리거와 파라미터가 상호 작용하는 방식에 대한 초기 이해를 돕기 위한 것입니다.
정보
간단히 설명하기 위해 다음 사용 사례 예시에서는 프레임 높이를 몇 줄(예: 3줄)로만 설정합니다. 그러나 실제 애플리케이션의 경우 Basler에서는 프레임당 최소 100~1000줄의 프레임 높이를 권장합니다.
정보
- GigE Vision 라인 스캔 카메라는 여러 라인을 결합하여 더 큰 프레임을 만듭니다. 이를 통해 수신 측(예: 호스트 컴퓨터, 트랜스포트 레이어)의 처리 부하를 크게 줄일 수 있습니다.
- 현재 프레임의 모든 라인이 아직 획득되지 않은 상태에서 acquisition stop 명령이 발행되면 부분 프레임이 전송됩니다.
Use Case 1: 연속된 객체 또는 소재 스트림
이는 GigE 라인 스캔 카메라를 사용하는 가장 기본적인 방법입니다. 카메라는 연속적인 이미지 프레임 스트림을 전송합니다. 호스트 컴퓨터는 여러 프레임을 결합하여 더 큰 이미지를 만들거나 각 프레임을 개별적으로 처리할 수 있습니다.
객체 또는 연속 소재가 카메라의 시야(field of view)를 통과하여 이동합니다. 카메라가 첫 번째 라인을 획득합니다. 그 후 객체나 소재가 한 라인만큼 이동하고 카메라가 다음 라인을 획득하는 과정을 반복합니다.
다음 섹션에서는 use case 1의 두 가지 변형에 대해 설명합니다.
Case 1 a: 일정한 속도로 움직이는 객체
예를 들어 쌀, 솜 또는 재활용 소재를 분류할 때와 같이 객체가 자유 낙하하는 경우 이러한 객체는 예측 가능한 속도로 이동하며 카메라는 고정된 line rate로 설정할 수 있습니다. 기하학적으로 올바른 이미지를 획득하는 데 트리거는 필요하지 않습니다.
이 사용 사례에 맞게 카메라를 구성하려면 다음 단계가 필요합니다.
| 작업 | 파라미터 예시 |
- 프레임의 높이를 지정합니다.
이는 객체의 크기에 따라 달라집니다. 객체를 캡처하는 데 프레임당 몇 줄이 필요한지 계산하세요.
| - 다음 값 중 하나로
Height 매개변수: 3.
|
- acquisition line rate 제어를 활성화합니다.
객체가 이동하는 속도와 카메라를 동기화하려면 acquisition line rate를 제어해야 합니다.
| - 다음 값 중 하나로
AcquisitionLineRateEnable 매개변수: true.
|
- 라인 속도를 원하는 속도로 낮추십시오.
Acquisition Line Rate은 개체가 이동하는 속도와 동기화되어야 합니다.
| - 다음 값 중 하나로
AcquisitionLineRate parameter를 10 kHz로 설정합니다.
|
- Continuous 획득 모드를 활성화하십시오.
Continuous 획득 모드에서는 카메라가 지속적으로 이미지를 획득하고 전송합니다. 참고: 이 기능은 pylon Viewer 기능 트리에서는 사용할 수 없습니다. 대신 pylon Viewer의 툴바에 있는 Continuous Shot 버튼을 사용하십시오.
| - 다음 값 중 하나로
AcquisitionMode 매개변수: Continuous.
|
이 다이어그램은 구성을 보여 줍니다.

Case 1 b: 가변 속도의 롤러로 이동하는 연속 소재
끝없이 이어지는 자재는 종종 롤러에 의해 롤러 위로 이송됩니다. 하중 변화와 진동으로 인해 이송 속도가 달라집니다. 샤프트 엔코더를 사용하여 자재가 특정 거리만큼 전진할 때마다 라인 트리거를 생성하면 이러한 속도 변동을 보상할 수 있습니다.
다음 예시에서 샤프트 엔코더 신호는 입력 라인 2에 연결됩니다. 샤프트 엔코더는 라인당 하나의 엔코더 펄스를 생성하도록 설정됩니다.
이 사용 사례에 맞게 카메라를 구성하려면 다음 단계가 필요합니다.
| 작업 | 파라미터 예시 |
- 프레임의 높이를 지정합니다.
이는 객체의 크기에 따라 달라집니다. 객체를 캡처하는 데 프레임당 몇 줄이 필요한지 계산하세요.
| - 다음 값 중 하나로
Height 매개변수: 3.
|
- 라인 시작 트리거를 구성하십시오.
트리거를 활성화하고 라인 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: LineStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: RisingEdge. - 다음 값 중 하나로
TriggerSource 매개변수: Line2.
|
- Continuous 획득 모드를 활성화하십시오.
Continuous 획득 모드에서는 카메라가 지속적으로 이미지를 획득하고 전송합니다. 참고: 이 기능은 pylon Viewer 기능 트리에서는 사용할 수 없습니다. 대신 pylon Viewer의 툴바에 있는 Continuous Shot 버튼을 사용하십시오.
| - 다음 값 중 하나로
AcquisitionMode 매개변수: Continuous.
|
이 다이어그램은 구성을 보여 줍니다.

Use Case 2: 컨베이어 벨트 위의 개별 객체
움직이는 컨베이어 벨트 위의 개체를 검사할 때 개체당 하나의 이미지를 수신하는 것이 바람직한 경우가 많습니다. 이렇게 하면 이미지 처리가 용이해지고 처리 리소스가 낭비되는 것을 방지할 수 있습니다. 이 설정에서 시스템은 일반적으로 다음 개체의 도착을 나타내는 개체 트리거를 제공합니다. 개체 트리거는 예를 들어 광학 센서나 PLC(프로그래밍 가능 로직 컨트롤) 유닛에 의해 생성될 수 있습니다.
컨베이어 벨트 속도가 변동될 수 있습니다. 따라서 샤프트 엔코더를 사용하여 라인 트리거를 벨트의 기계적 움직임과 동기화하는 것이 좋습니다. 다음 예시에서는 라인 트리거가 사용된다고 가정합니다.
다음 섹션에서는 유스 케이스 2의 네 가지 변형에 대해 설명합니다.
Case 2 a: 객체당 하나의 프레임
개체가 각각 하나의 프레임에 들어갈 정도로 충분히 작을 경우 개체 트리거를 직접 프레임 트리거로 사용할 수 있습니다.
프레임당 가능한 라인 수에 대한 정보는 Image ROI 항목의 라인 스캔 카메라 정보를 참조하십시오.
이 사용 사례에 맞게 카메라를 구성하려면 다음 단계가 필요합니다.
| 작업 | 파라미터 예시 |
- 프레임의 높이를 지정합니다.
이는 객체의 크기에 따라 달라집니다. 객체를 캡처하는 데 프레임당 몇 줄이 필요한지 계산하세요.
| - 다음 값 중 하나로
Height 매개변수: 3.
|
- 프레임 시작 트리거를 구성하십시오.
트리거를 활성화하고 프레임 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: FrameStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: RisingEdge. - 다음 값 중 하나로
TriggerSource 매개변수: Line1.
|
- 라인 시작 트리거를 구성하십시오.
트리거를 활성화하고 라인 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: LineStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: RisingEdge. - 다음 값 중 하나로
TriggerSource 매개변수: Line2.
|
- Continuous 획득 모드를 활성화하십시오.
Continuous 획득 모드에서는 카메라가 지속적으로 이미지를 획득하고 전송합니다. 참고: 이 기능은 pylon Viewer 기능 트리에서는 사용할 수 없습니다. 대신 pylon Viewer의 툴바에 있는 Continuous Shot 버튼을 사용하십시오.
| - 다음 값 중 하나로
AcquisitionMode 매개변수: Continuous.
|
이 다이어그램은 구성을 보여 줍니다.

Case 2 b: 객체당 여러 프레임
개체가 너무 커서 하나의 프레임에 들어가지 않는 경우 프레임 버스트 트리거를 사용하여 각 개체 트리거에 대해 여러 프레임을 트리거할 수 있습니다. 이미지 처리 애플리케이션은 프레임 버스트의 모든 프레임을 하나의 이미지로 결합할 수 있습니다.
이 사용 사례에 맞게 카메라를 구성하려면 다음 단계가 필요합니다.
| 작업 | 파라미터 예시 |
- 프레임의 높이를 지정합니다.
이는 객체의 크기에 따라 달라집니다. 객체를 캡처하는 데 프레임당 몇 줄이 필요한지 계산하세요.
| - 다음 값 중 하나로
Height 매개변수: 3.
|
- 각 프레임 버스트에 대해 획득할 프레임 수를 설정합니다.
| - 다음 값 중 하나로
AcquisitionBurstFrameCount 매개변수: 2.
|
- 프레임 버스트 시작 트리거를 구성하십시오.
트리거를 활성화하고 프레임 버스트 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: FrameBurstStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: RisingEdge. - 다음 값 중 하나로
TriggerSource 매개변수: Line1.
|
- 라인 시작 트리거를 구성하십시오.
트리거를 활성화하고 라인 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: LineStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: RisingEdge. - 다음 값 중 하나로
TriggerSource 매개변수: Line2.
|
- Continuous 획득 모드를 활성화하십시오.
Continuous 획득 모드에서는 카메라가 지속적으로 이미지를 획득하고 전송합니다. 참고: 이 기능은 pylon Viewer 기능 트리에서는 사용할 수 없습니다. 대신 pylon Viewer의 툴바에 있는 Continuous Shot 버튼을 사용하십시오.
| - 다음 값 중 하나로
AcquisitionMode 매개변수: Continuous.
|
이 다이어그램은 구성을 보여 줍니다.

Case 2 c: 객체당 가변적인 프레임 수
크기가 다양한 혼합된 개체를 동일한 컨베이어 벨트에서 검사할 때 프레임 시작 트리거를 사용하여 각 개체에 정확히 필요한 수의 프레임을 획득할 수 있습니다. 개체가 카메라의 시야(Field of View) 내에 있을 때마다 신호가 활성화되도록 프레임 트리거 신호는 광학 센서 등의 존재 감지기에 의해 생성되어야 합니다.
이 사용 사례에 맞게 카메라를 구성하려면 다음 단계가 필요합니다.
| 작업 | 파라미터 예시 |
- 프레임의 높이를 지정합니다.
이는 객체의 크기에 따라 달라집니다. 객체를 캡처하는 데 프레임당 몇 줄이 필요한지 계산하세요.
| - 다음 값 중 하나로
Height 매개변수: 3.
|
- 프레임 시작 트리거를 구성하십시오.
트리거를 활성화하고 프레임 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다. 존재 감지기 출력 신호의 High 레벨에서 트리거가 작동하도록 설정합니다. 이렇게 하면 트리거 신호가 활성화되어 있는 동안 발행되는 프레임 트리거 시퀀스가 생성됩니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: FrameStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: LevelHigh. - 다음 값 중 하나로
TriggerSource 매개변수: Line1.
|
- 라인 시작 트리거를 구성하십시오.
트리거를 활성화하고 라인 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: LineStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: RisingEdge. - 다음 값 중 하나로
TriggerSource 매개변수: Line2.
|
- Continuous 획득 모드를 활성화하십시오.
Continuous 획득 모드에서는 카메라가 지속적으로 이미지를 획득하고 전송합니다. 참고: 이 기능은 pylon Viewer 기능 트리에서는 사용할 수 없습니다. 대신 pylon Viewer의 툴바에 있는 Continuous Shot 버튼을 사용하십시오.
| - 다음 값 중 하나로
AcquisitionMode 매개변수: Continuous.
|
이 다이어그램은 구성을 보여 줍니다.

Case 2 d: 객체당 가변적인 프레임 크기
컨베이어 벨트 위의 개체 사이 간격이 프레임보다 작을 때 프레임 활성 트리거를 사용하여 개체 바로 뒤에서 프레임을 종료할 수 있습니다. 이렇게 하면 가능한 가장 빠른 시점에 카메라가 다음 트리거를 준비할 수 있으며 불필요한 데이터 전송을 방지할 수 있습니다.
이 사용 사례에 맞게 카메라를 구성하려면 다음 단계가 필요합니다.
| 작업 | 파라미터 예시 |
- 프레임의 높이를 지정합니다.
이는 객체의 크기에 따라 달라집니다. 객체를 캡처하는 데 프레임당 몇 줄이 필요한지 계산하세요.
| - 다음 값 중 하나로
Height 매개변수: 3.
|
- 프레임 활성 트리거를 구성하십시오.
트리거를 활성화하고 프레임 활성 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다. 존재 감지기 출력 신호의 High 레벨에서 트리거가 작동하도록 설정합니다. 이렇게 하면 트리거 신호가 활성화되어 있는 동안 하나 이상의 프레임 트리거 시퀀스가 발행되지만, 프레임은 트리거 신호의 하강 에지와 함께 즉시 종료됩니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: FrameActive. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: LevelHigh. - 다음 값 중 하나로
TriggerSource 매개변수: Line1.
|
- 라인 시작 트리거를 구성하십시오.
트리거를 활성화하고 라인 시작 트리거를 트리거하는 데 사용할 신호와 신호 전환을 정의해야 합니다.
| - 다음 값 중 하나로
TriggerSelector 매개변수: LineStart. - 다음 값 중 하나로
TriggerMode 매개변수: On. - 다음 값 중 하나로
TriggerActivation 매개변수: RisingEdge. - 다음 값 중 하나로
TriggerSource 매개변수: Line2.
|
- Continuous 획득 모드를 활성화하십시오.
Continuous 획득 모드에서는 카메라가 지속적으로 이미지를 획득하고 전송합니다. 참고: 이 기능은 pylon Viewer 기능 트리에서는 사용할 수 없습니다. 대신 pylon Viewer의 툴바에 있는 Continuous Shot 버튼을 사용하십시오.
| - 다음 값 중 하나로
AcquisitionMode 매개변수: Continuous.
|
이 다이어그램은 구성을 보여 줍니다.

Use Case 3: Chunk Mode를 사용한 프레임 식별
유스 케이스 2b 또는 2d에서 설명한 대로 카메라가 객체당 가변적인 프레임 수를 획득하도록 구성된 경우, 애플리케이션에서는 객체의 시작과 끝을 파악하기 어렵습니다. Data Chunks 기능을 Counter 기능과 함께 사용하면 프레임이 동일한 객체 트리거에 속하는 것으로 태그 지정할 수 있으므로, 프레임을 그룹화하는 데 처리 능력을 소비할 필요가 없습니다.
다음 유스 케이스는 유스 케이스 2c를 위해 카운터와 data chunks를 구성하는 방법을 보여주는 예시입니다. 카운터는 개별적으로 또는 함께 사용할 수 있습니다.
이 사용 사례에 맞게 카메라를 구성하려면 다음 단계가 필요합니다.
| 작업 | 파라미터 예시 |
- 각 들어오는 프레임 시작 트리거 후에 첫 번째 카운터가 증가하도록 설정합니다.
카운터 이벤트의 신호 소스(즉, 증가용)로 라인 2에 대한 프레임 트리거 신호를 선택해야 합니다. 또한, 카운터를 증가시키려면 활성 프레임 트리거 신호의 끝을 선택해야 합니다.
| - 다음 값 중 하나로
CounterSelector 매개변수: Counter1. - 다음 값 중 하나로
CounterEventSource 매개변수: Line2. - 다음 값 중 하나로
CounterEventActivation 매개변수: FallingEdge.
|
- 프레임 트리거가 연속적으로 활성화되어 있는 동안 두 번째 카운터가 프레임 수를 세도록 설정합니다.
카운터는 라인 2가 활성화되어 있는 동안에만 카운트해야 합니다. 카운터는 각 프레임이 끝날 때 증가해야 합니다. 라인 2가 비활성화되면 카운터가 재설정되어야 합니다.
| - 다음 값 중 하나로
CounterSelector 매개변수: Counter2. - 다음 값 중 하나로
CounterTriggerSource 매개변수: Line2. - 다음 값 중 하나로
CounterTriggerActivation 매개변수: LevelHigh. - 다음 값 중 하나로
CounterEventSource 매개변수: FrameActive. - 다음 값 중 하나로
CounterEventActivation 매개변수: FallingEdge. - 다음 값 중 하나로
CounterResetSource 매개변수: Line2. - 다음 값 중 하나로
CounterResetActivation 매개변수: Falling Edge.
|
- 카운터 값 전송을 활성화합니다.
| - 다음 값 중 하나로
ChunkModeActive 매개변수: true. - 다음 값 중 하나로
ChunkSelector 매개변수: CounterValue. - 다음 값 중 하나로
ChunkEnable 매개변수: true.
|
이 다이어그램은 구성을 보여 줍니다.
