핵심 개념#
Acquisition 수명 주기#
Mental Model#
- 카메라가 비동기식으로 실행됩니다.
- Python이 동기식으로 가져옵니다.
- 버퍼가 두 영역을 분리합니다.
블로킹 동작#
GenICam Nodes#
GenICam Node란 무엇인가요?#
GenICam node는 카메라의 단일 설정 가능 기능 또는 Property를 나타냅니다. Node는 GenICam 표준에 정의되어 있으며, 하드웨어 공급업체에 관계없이 카메라 기능에 액세스할 수 있는 통일된 방식을 제공합니다.
각 Node는 강력한 형식(Strongly-typed)의 매개변수처럼 동작하며 다양한 정보를 제공합니다.
- Name (예:
ExposureTime) - Data type (예: Float, Integer, Enumeration 등)
- Access rights (읽기 전용 또는 읽기/쓰기)
- 유효한 값 범위 또는 옵션
pypylon에서 Node는 카메라 객체의 속성으로 액세스되며 다음과 같은 메서드를 제공합니다.
exposure_time = camera.ExposureTime # Read exposure time in microseconds.
camera.ExposureTime.Value = 3000 # Value is in microseconds. Check Increment and ValueRange for valid values.
일반적인 Node 유형#
| Parameter | 예시 | 설명 |
|---|---|---|
| Float | ExposureTime | 개별 하드웨어 설정에 매핑되는 연속 값 |
| Integer | Width | 이산 값 |
| Enumeration | TriggerMode | 미정의된 문자열 값 |
| Boolean | AcquisitionFrameRateEnable | True/False |
| 명령 | ExecuteSoftwareTrigger | 액션을 실행합니다. |
pypylon의 모든 카메라 설정은 노드를 통해 수행되므로 노드를 이해하는 것이 필수적입니다.
pylon Parameters#
pylon parameters는 GenICam 노드를 감싸고 값 읽기 및 쓰기를 위한 확장된 일관된 인터페이스를 제공합니다. 또한 형식 변환, 범위 확인 및 액세스 모드 처리를 관리합니다.
노드를 찾을 수 없는 경우 pylon.PlaceholderParameter 이(가) 반환되므로 코드가 누락된 노드를 안정적으로 처리할 수 있습니다. 이는 서로 다른 카메라 모델이나 펌웨어 버전에 따라 사용 가능한 기능이 다를 수 있는 설정 환경에서 자주 발생합니다.