핵심 개념#
인수 라이프사이클#
멘탈 모델#
- 카메라는 비동기 방식으로 작동합니다.
- 파이썬은 동기식으로 데이터를 가져옵니다.
- 버퍼는 두 도메인을 분리합니다.
차단 행동#
GenICam 노드#
GenICam 노드란 무엇인가요?#
GenICam 노드는 카메라의 구성 가능한 단일 기능 또는 속성을 나타냅니다. 노드는 ‘ GenICam ’ 표준에 정의되어 있으며, 이 표준은 하드웨어 공급업체와 무관하게 카메라 기능에 접근할 수 있는 통일된 방법을 제공합니다.
각 노드는 강타입 매개변수처럼 동작하며 다양한 정보를 노출합니다:
- 이름 (예:
ExposureTime) - 데이터 유형 (예: 실수형, 정수형, 열거형 등)
- 접근 권한 (읽기 전용 또는 읽기/쓰기)
- 유효한 값 범위 또는 옵션
pypylon에서는 노드를 카메라 객체의 속성으로 접근할 수 있으며, 다음과 같은 메서드를 제공합니다:
exposure_time = camera.ExposureTime # Read exposure time in microseconds.
camera.ExposureTime.Value = 3000 # Value is in microseconds. Check Increment and ValueRange for valid values.
일반적인 노드 유형#
| Parameter | 예시 | 설명 |
|---|---|---|
| 플로트 | ExposureTime | 이산형 하드웨어 설정에 매핑되는 연속형 값 |
| 정수 | Width | 이산값 |
| 열거 | TriggerMode | 사전 정의된 문자열 값 |
| 부울 | AcquisitionFrameRateEnable | 참/거짓 |
| 명령 | ExecuteSoftwareTrigger | 작업을 실행합니다 |
pypylon의 모든 카메라 설정은 노드를 통해 이루어지기 때문에, 노드를 이해하는 것은 필수적입니다.
철탑 매개변수#
pylon 매개변수는 GenICam 노드를 감싸며, 값을 읽고 쓰는 데 필요한 확장되고 일관된 인터페이스를 제공합니다. 또한 유형 변환, 범위 검사 및 액세스 모드 처리를 담당합니다.
노드를 찾을 수 없는 경우, pylon.PlaceholderParameter 이 반환되므로, 코드가 누락된 노드를 원활하게 처리할 수 있습니다. 이는 서로 다른 카메라 모델이나 펌웨어 버전에 따라 사용 가능한 기능이 다를 수 있는 설정 상황에서 흔히 발생하는 시나리오입니다.