콘텐츠로 건너뛰기
STAGING SERVER
DEVELOPMENT SERVER

Light Control#

Light Control camera feature를 사용하면 최대 4개의 조명 장치를 제어할 수 있습니다.

이 기능은 카메라와 조명 장치가 서로 직접 통신할 수 있도록 지원하는 SLP 프로토콜을 기반으로 합니다.

이 항목에서는 Basler ace 2, boost R 및 dart M 카메라의 Light Control 기능에 대해 설명합니다. ace 2, boost R 및 dart M 카메라의 전환 기간을 참조하십시오.

ace 2, boost R 및 dart M 카메라 전환 기간#

Peripheral Devices Control 기능으로 전환하는 동안 ace 2, boost R 및 dart M 카메라는 Peripheral Devices Control 기능이 포함되거나 포함되지 않은 상태로 출고될 수 있습니다.

결과적으로 두 가지 Light Control 항목이 존재합니다:

  • Light Control (ace U/L):
    이 항목은 Peripheral Devices Control 기능이 없는 펌웨어를 계속 사용하는 ace U/L 카메라에 적용됩니다. Basler ace U/L 카메라는 새로운 펌웨어 아키텍처로 마이그레이션되지 않습니다.
    또한 전환 기간 동안 Peripheral Devices Control 기능이 없는 펌웨어로 출고되는 ace 2, boost R 및 dart M 카메라에도 적용됩니다.
  • Light Control 항목:
    이 항목은 Peripheral Devices Control 기능을 포함하는 펌웨어를 실행하는 카메라에 적용됩니다. Light Control 기능은 Peripheral Devices Control 아래에서 공통 파라미터를 공유하므로 Optic Control 기능과 함께 설명됩니다.
  • 기존 펌웨어가 탑재된 Basler ace 2, boost R 및 dart M 카메라는 최신 펌웨어 버전으로 업그레이드할 수 있습니다. 새 펌웨어로 카메라를 마이그레이션하려면 Basler 지원팀에 문의하십시오.

정보

Light Control 및 Optic Control 기능을 포함한 Peripheral Devices Control 기능 도입의 일환으로 여러 파라미터 이름이 변경 및 재구성되었습니다.
기존 펌웨어(2026년 9월 이전)가 탑재된 Basler ace 2, boost R 및 dart M 카메라는 이 항목에 설명된 파라미터 이름을 사용하지만 호환성을 위해 기존 파라미터 이름도 지원합니다.

관련 파라미터 이름 변경에 대한 개요는 Compatibility and Parameter Mapping 항목을 참조하십시오.

정보

dart M camera modules의 경우, Light Control 기능은 현재 Basler dart M 인터페이스 보드(Interface Board ⁠dart M GigE RJ45 PoE 또는 ⁠Interface Board dart M GigE RJ45 AUX)를 사용하는 경우에만 이용할 수 있습니다.

사용하는 조명에 따라 카메라와 조명 간의 통신 방식이 달라집니다.

  • ILC(지능형 조명 제어)가 포함된 Basler Light 또는 Basler Camera Light를 사용하는 경우 컨트롤러 기능이 이미 내장되어 있으므로 별도의 컨트롤러가 필요하지 않습니다.
  • ILC(지능형 조명 제어)가 없는 Basler Light 또는 다른 제조업체의 LED 조명 솔루션을 사용하는 경우 카메라와 조명 간의 통신을 활성화하기 위해 Basler SLP Strobe Controller와 같은 외부 컨트롤러가 필요합니다.

정보

기존 Basler 조명 및 신형 Basler 조명:

  • 이전 세대의 Basler Lights는 ILC(없이 지능형 조명 제어가 없는) 조명이었습니다. 이러한 조명에는 조명 제어를 위한 별도의 컨트롤러가 필요했습니다.
    ILC가 없는 이전 버전의 Basler 조명 및 단종된 Basler Camera Lights에 대한 문서는 현재 Basler Product Documentation에 더 이상 포함되지 않습니다. 이러한 제품에 대한 정보가 필요한 경우 여기를 클릭하여 다운로드할 수 있는 이전 릴리스의 오프라인 문서를 참조하십시오.
  • 설치된 조명 유형을 확인하려면 Basler 조명에 표시된 리비전 번호(예: 2200000841-05)를 확인하십시오. 주문 번호 뒤의 마지막 두 자리는 조명 리비전을 나타냅니다. 리비전 05 이상은 ILC(Intelligent Light Control), 즉 통합 컨트롤러가 있는 Basler 조명을 나타냅니다. 리비전 번호가 05 미만인 경우는 ILC가 없어 통합 컨트롤러가 없는 기존 Basler 조명을 의미합니다.

기능 사용법#

Light Control 기능을 사용하려면 다음 항목이 필요합니다.

  • 지능형 조명 제어(ILC)가 탑재된 Basler Light
  • 지능형 조명 제어(ILC)가 탑재된 Basler Light를 카메라에 연결하기 위한 적절한 Basler Sync Cable. 동기화 케이블을 사용하면 조명 장치 및 필요한 경우 렌즈를 부착하고 카메라의 단일 GPIO 포트를 통해 제어할 수 있습니다. 필요한 Basler Sync Cable은 작동하려는 주변 장치에 따라 다릅니다.
    사용 가능한 케이블 변형 및 지원되는 사용 사례에 대한 정보는 Basler Sync Cables를 참조하십시오.
  • Peripheral Devices Control 기능이 포함된 펌웨어를 실행하는 호환 카메라

정보

지능형 조명 제어(ILC)가 탑재된 Basler Light에서 지원하는 다양한 조명 제어 모드에 대한 정보는 Controller Types and Light Control Modes 항목을 참조하십시오.

조명 장치 초기화 중#

정보

이 섹션은 Peripheral Control 기능을 구현하므로 새로운 파라미터 이름을 사용하는 카메라에 적용됩니다.

조명 장치를 초기화하려면(Peripheral Devices Control 기능이 있는 카메라):

  1. Preparing Peripheral Devices 및 Checking and Clearing Errors에 설명된 단계를 따르십시오.
  2. Configuring Light Devices를 계속 진행하십시오.

조명 장치 구성#

조명 장치를 구성하려면 다음 단계를 따르십시오.

  1. 환경에 여러 개의 조명 장치가 있는 경우, BslLightDeviceSelector 파라미터를 구성하려는 장치로 설정하십시오.
    장치가 올바르게 연결되어 있는지, 즉 BslLightDeviceErrorStatus 파라미터가 반환하는지 확인하십시오. NoError.
  2. Basler SLP Strobe Controller를 사용하는 경우:
    Basler SLP Controller를 사용해야 하는 시기에 대한 정보는 When is a Basler SLP Strobe Controller Required를 참조하십시오.

    1. 다음 값 중 하나로 BslLightDeviceControlMode 매개변수: Current.
    2. 다음 값 중 하나로 BslLightDeviceOperationMode 매개변수: Off.
    3. 다음 값 중 하나로 BslLightDeviceMaxCurrent 파라미터를 연속 동작 시 조명의 공칭 정격 전류(mA)로 설정하십시오.

    참고 – 너무 높은 공칭 정격 전류를 지정하면 조명이 손상됩니다.

    전류 제어를 사용하는 경우 조명이 견딜 수 있는 공칭 정격 전류를 지정해야 합니다. 그렇지 않으면 작동 중에 조명이 손상됩니다.

  3. 다음 값 중 하나로 BslLightDeviceBrightness 파라미터를 원하는 밝기로 설정하십시오.
    100.0 값은 조명 장치 공칭 정격 전류의 100%에 해당합니다. 50%는 전류를 2분의 1로 줄입니다. 스트로브 모드에 있는 경우 밝기를 100% 이상으로 설정할 수 있습니다. 이를 다음과 같이 부릅니다. overdriving.

  4. 다음 값 중 하나로 BslLightDeviceOperationMode 파라미터를 원하는 모드로 설정합니다.
    • On: 조명이 지속적으로 켜져 있도록 합니다.
    • Strobe: 조명을 Strobe 모드.
  5. 필요한 경우 설정을 user set에 저장합니다.

Strobe Mode#

Strobe 모드를 사용하면 조명을 지속적으로 켜놓는 대신 필요할 때만 플래시처럼 작동할 수 있습니다.

Strobe 모드를 사용하면 다음과 같은 장점이 있습니다:

  • 조명의 수명을 연장하는 데 도움이 됩니다. 필요한 경우에만 조명을 작동하므로 LED에서 발생하는 열이 줄어듭니다. 이는 조명의 노화 과정을 늦춰줍니다.
  • 필요할 때만 장면에 조명을 비추어 전력 소비를 줄이는 데 도움이 됩니다. 노출 시간은 일반적으로 연속 이미지 사이의 시간보다 훨씬 짧기 때문에 평균 에너지 사용량은 연속 작동 시보다 훨씬 낮을 수 있습니다.
  • 스트로브 모드에서는 (조명 컨트롤러 및 듀티 사이클에 따라) 구동 전류를 공칭 값의 최대 500%까지 높여 조명을 과도 구동(overdrive)함으로써 광 출력을 늘릴 수 있습니다.

Strobe 모드를 활성화하려면 조명 장치를 선택하고 BslLightDeviceOperationMode 매개변수: Strobe.

트리거 신호 및 스트로브 지속 시간 구성#

일반적으로 스트로브 모드에서 조명 장치를 트리거하는 방식은 다음과 같습니다.

  • 초기 상태에서 조명은 off 상태입니다.
  • 트리거 신호에 의해 조명이 on됩니다.
  • 빛은 일정 시간 동안 켜져 있는데, 이를 스트로브 지속 시간이라고 합니다.
  • Strobe 지속 시간이 만료되면 조명이 다시 off됩니다.

트리거 신호를 구성하려면:

  1. 다음 값 중 하나로 BslPeripheralTriggerSource 파라미터를 연결된 조명을 켜는 데 사용할 소스로 설정합니다(예: FlashWindow.
  2. 해당하는 경우 다음 설정으로 지정하세요. BslPeripheralTriggerActivation 매개변수를 다음 값 중 하나로 설정합니다:
    • RisingEdge (기본값): 신호가 들어오면 연결된 모든 조명이 켜집니다. 상승할 때, 즉 신호 상태가 low에서 high로 바뀔 때 Timer가 시작됩니다.
    • FallingEdge: 신호가 들어오면 연결된 모든 조명이 켜집니다. 하강할 때, 즉 신호 상태가 high에서 low로 바뀔 때 Timer가 시작됩니다.
    • AnyEdge: 신호가 들어오면 연결된 모든 조명이 켜집니다. 하강 또는 상승할 때.

Strobe Duration 설정 방법:

  1. 다음 값 중 하나로 BslLightDeviceStrobeMode 매개변수를 다음 값 중 하나로 설정합니다:
    • Automatic: Strobe 지속 시간은 카메라의 Flash Window 지속 시간(yBslFlashWindowDuration 파라미터)에 의해 제어됩니다. BslLightDeviceStrobeDuration 파라미터가 읽기 전용으로 전환되며 계산된 스트로브 지속 시간이 표시됩니다.
    • Manual: 다음을 사용하여 직접 스트로브 지속 시간을 정의할 수 있습니다. BslLightDeviceStrobeDuration 파라미터.
  2. 선택한 경우 Manual 스트로브 모드에서 BslLightDeviceStrobeDuration 파라미터를 원하는 스트로브 지속 시간(마이크로초)으로 설정합니다.

정보

  • Trigger Width exposure mode 또는 Exposure Auto 자동 기능을 사용하는 경우 Automatic 스트로브 모드를 사용하지 마세요. 그렇지 않으면 카메라와 조명이 예기치 않은 동작을 보일 수 있습니다.
  • Sequencer 기능을 사용하는 경우 Automatic 스트로브 모드를 사용할 수 없습니다.
  • Automatic 스트로브 모드에서는 계산된 스트로브 지속 시간이 플래시 윈도우 지속 시간보다 짧을 수 있습니다. 이는 조명이 켜지는 데 걸리는 시간, 즉 턴온 지연(turn-on delay)을 보상하기 위함입니다.
  • 카메라 성능의 한계치에 가깝게 작동하는 경우 overtriggering이 발생할 수 있습니다.

조명 장치 오버드라이빙#

조명을 과구동한다는 것은 스트로브 모드에 있는 동안 전류를 증가시켜 더 높은 광도를 얻을 수 있음을 의미합니다.

참고 – 과구동(Overdriving)은 조명을 손상시킬 수 있습니다.

연결된 조명의 손상을 방지하고 조명이 조기에 노화되는 것을 방지하려면 이 섹션의 지침을 주의 깊게 읽으십시오.

조명 장치를 오버드라이브하려면:

  1. Legacy Basler Light 또는 타사 조명 장치를 사용하는 경우:

    1. 현재 듀티 사이클과 스트로브 지속 시간을 고려하여 장치에 허용되는 최대 전류를 계산하십시오. Basler ace 2, boost R 및 dart M 카메라에서는 다음을 읽을 수 있습니다. BslLightDeviceDutyCycle 매개변수를 통해 현재 듀티 사이클을 확인할 수 있습니다.
    2. 다음 값 중 하나로 BslLightDeviceOverdriveLimit parameter를 그에 맞게 설정하십시오. 예를 들어, 조명이 정격 전류의 200 %를 견딜 수 있는 경우 Overdrive Limit을 200.0으로 설정하십시오.

    Legacy Basler Camera Light, 오버드라이브 제한이 자동으로 계산되며, BslLightDeviceOverdriveLimit 파라미터를 사용할 수 없습니다.

  2. 다음 값 중 하나로 BslLightDeviceBrightness 값을 100.0보다 크게 설정하십시오.

정보

  • 만약 BslLightDeviceBrightness 100 %를 초과하는 값의 경우, 조명을 다음 모드로 작동할 수 있습니다. Trigger Control 모드 100 %를 초과하는 밝기 값을 유지하면서 작동합니다.
    이 모드에서 조명을 작동하면 SLP 제어 Overdrive 작동과 관련된 통신 오버헤드가 제거됩니다. 그 결과, 특히 높은 트리거 주파수가 필요한 응용 분야에서 더 높은 최대 프레임 속도를 달성할 수 있습니다.

  • 지원되는 BslLightDeviceBrightness parameter 값의 범위는 듀티 사이클과 Strobe Duration에 따라 다릅니다. 요청된 Overdrive 값이 허용 한도를 초과하면 적용할 수 없습니다.
    사용 가능한 Overdrive 범위를 늘리려면 Strobe Duration 및/또는 프레임 속도를 줄이십시오.

정보

Intelligent Light Control Mode 및 Trigger Control Mode에서 Overdrive 기능 사용:

Intelligent Light Control(ILC) 모드와 Trigger Control mode 사이를 전환할 때, 구성된 Overdrive 설정은 유지되며 계속 적용됩니다. 이를 통해 추가 설정 없이 이전에 구성된 Overdrive parameter의 이점을 누릴 수 있습니다. 또한 이 모드는 Intelligent Light Control (ILC) 모드보다 더 높은 플래시 주파수를 지원하여 고속 이미징 응용 분야에서 더 큰 유연성을 제공합니다.

안정적인 작동을 보장하기 위해 통합 보호 메커니즘이 작동 조건을 지속적으로 모니터링하며, Overdrive 설정이 사용되는 경우에도 LED 손상을 방지합니다.

Trigger Control mode과 Intelligent Control mode 사이를 전환하는 방법에 대한 자세한 내용은 Switching Between Trigger Control and Intelligent Light Control Mode를 참조하십시오.

SLP Strobe Controller와 같은 external controller를 사용하여 조명에 Overdrive를 적용할 때는 조명 장치 손상을 방지하기 위해 다음 사항을 고려하십시오.

  • Strobe 모드에서 조명이 견딜 수 있는 최대 전류가 확실하지 않은 경우 조명 제조업체의 사양을 참조하거나 제조업체에 직접 문의하십시오.
  • 증가된 전류로 인해 LED에서 더 많은 열이 발생하므로 개별 Strobe 펄스 사이에 충분한 냉각 시간을 두십시오. 일반적인 규칙으로 펄스 강도가 높을수록 펄스 사이의 간격이 더 길어야 합니다.
  • Exposure Time은 펄스 지속 시간에 직접적인 영향을 미치며 결과적으로 듀티 사이클에 영향을 주므로 이를 고려하십시오.

정보

외부 컨트롤러를 사용한 Overdrive 작동은 극도로 짧은 펄스 폭, 매우 빠른 상승 및 하강 시간, 그리고/또는 매우 높은 Overdrive 수준(일반적으로 400 % 초과)이 필요한 경우에 권장됩니다.

이러한 까다로운 응용 분야의 일반적인 예로는 24 µs 미만의 응답 시간과 5 µs보다 짧은 깨끗한 광 펄스가 있습니다.

많은 경우, 펄스 타이밍을 신중하게 최적화함으로써 Intelligent Light Control(ILC)이 탑재된 Basler Light의 통합 컨트롤러를 사용하여 필요한 타이밍 정확도와 펄스 특성을 달성할 수도 있습니다. 그러나 예외적으로 높은 Overdrive 수준이 필요한 응용 분야는 일반적으로 외부 컨트롤러를 사용하는 것이 유리합니다.

안전 기능#

하드웨어 손상을 방지하기 위해 Basler 조명 장치에는 다음과 같은 안전 기능이 구현되어 있습니다:

SLP Light Controllers의 안전 기능#

정보

Basler SLP Controller를 사용해야 하는 시기에 대한 정보는 When is a Basler SLP Strobe Controller Required를 참조하십시오.

2 A를 초과하는 전류가 긴 노출 시간 및 높은 듀티 사이클과 결합되면 컨트롤러 하드웨어가 손상될 수 있습니다.

이를 방지하기 위해 Basler SLP Light Controllers의 공칭 전류(BslLightDeviceMaxCurrent 매개변수)를 2000 mA 초과로 설정할 수 없습니다.

그러나 장치를 오버드라이브하는 경우 전류가 2 A를 초과할 수 있습니다.

이 경우 카메라는 특정 조명 장치 설정의 최댓값을 자동으로 조정합니다. 아래 표를 참조하십시오.

출력 전류 (공칭 전류 x 밝기 (%)) 최대 스트로브 지속 시간 최대 듀티 사이클
2 A 미만 - 100 %
2 A to <3 A 5 ms 15 %
3 A to <4 A 5 ms 8 %
4 A to <5 A 5 ms 6 %
5 A to <6 A 5 ms 4 %
6 A to <8 A 1 ms 4 %
8 A to <9 A 1 ms 3 %
9 A to <10 A 1 ms 2 %
Camera Lights의 안전 기능#

구형 Basler 조명(without ILC) 및 단종된 Basler Camera Lights에 대한 문서는 현재 Basler Product Documentation에 더 이상 포함되어 있지 않습니다. 이 제품들에 관한 정보가 필요한 경우, 여기를 클릭하여 다운로드할 수 있는 이전 릴리스의 오프라인 문서를 참조하십시오.

GPIO 라인 구성#

카메라는 카메라의 GPIO 라인 중 하나를 통해 조명 장치와 통신합니다.
On ace 2, boost R 및 dart M 카메라, 카메라는 항상 다음을 사용합니다 Line 3 (조명 통신용). 따라서 Light Control 기능을 활성화하면 라인 모드 Line 3의 값이 자동으로 설정됩니다. InOut 그리고 다음을 설정하십시오: 선 연결 로 설정된 경우, LightControl.

조명 장치 ID#

SLP 프로토콜을 통해 연결된 모든 조명 장치에는 조명 장치 ID가 있습니다. ID는 장치에 저장됩니다.

유효한 조명 장치 ID는 1, 2, 3, 4 및 7입니다. 모든 장치는 ID가 7로 설정된 상태로 배송됩니다(공장 설정).

명령을 사용하여 장치를 열거할 때 BslPeripheralEnumerateDevices 또는 BslLightControlEnumerateDevices , 카메라는 ID가 7로 설정된 장치를 자동으로 검색하고 1에서 4 사이의 사용 가능한 다음 ID를 해당 장치에 할당합니다.

둘 이상의 조명 장치를 사용할 때는 ID가 서로 다르지 않도록 해야 합니다. ID가 동일한 장치를 사용하면 통신 오류가 발생합니다.

팁

충돌을 방지하는 가장 좋은 방법은 장치를 하나씩 차례대로 연결하고 장치를 연결한 후 항상 새롭고 고유한 ID를 할당하는 것입니다.

  • 예시 1: 새 조명 장치를 연결하고 장치를 열거한다고 가정해 보겠습니다. 카메라는 장치에 ID 1을 할당합니다. 그런 다음 장치를 분리하고 다음 조명 장치를 연결한 후 장치를 다시 열거합니다. 카메라는 이 장치에도 ID 1을 할당합니다.
  • 예시 2: 새로운 조명 장치 두 개를 연결하고 장치를 열거한다고 가정해 보겠습니다. 카메라는 ID가 7로 설정된 장치 두 개를 찾아 각각에 사용 가능한 다음 ID(즉, 1)를 할당합니다.

두 예시 모두 두 조명 장치를 카메라에 연결하면 통신 오류가 발생합니다. 충돌을 해결하려면 ID 중 하나를 변경해야 합니다.

조명 장치 ID 변경#

조명의 ID를 변경하려면:

  1. 조명 장치가 초기화되었는지 확인하십시오(Initializing Light Devices 참조).
  2. 다음 값 중 하나로 BslLightDeviceOperationMode 매개변수: Off.
  3. 다음 값 중 하나로 BslLightDeviceSelector ID를 변경하려는 Basler 조명 장치에 매개변수를 적용합니다.
  4. 다음 값 중 하나로 BslLightDeviceChangeID 매개변수를 원하는 ID로 설정합니다(예: Device1.
  5. On ace 2, boost R 및 dart M 카메라, 다음을 실행합니다. BslLightDeviceNewIDSave 명령입니다.

Light Control 기능 사용 시 고려 사항#

  • 언제 BslLightControlMode 로 설정된 경우, On, Serial Communication 기능이 비활성화됩니다. 이는 Light Control 기능도 Serial Communication을 사용하기 때문입니다.
  • 너무 짧은 Flash Window 신호는 사용하지 마십시오. 그렇지 않으면 결과 이미지의 일부 라인은 너무 밝고 다른 라인은 너무 어두울 수 있습니다.
  • 설정할 때 BslLightControlMode 매개변수: On, 조명 장치가 실제로 켜질 때까지 최대 1초의 지연 시간이 발생합니다. 이로 인해 첫 번째 이미지가 너무 어두울 수 있습니다. 이 이미지를 폐기하거나, 모든 이미지가 필요한 경우 적절한 지연 시간 후에 이미지 취득을 시작하십시오.
  • Basler ace 2, boost R 및 dart M 카메라: 조명 장치 설정을 다음에서 로드할 때 user set, 설정은 다음을 실행한 후에만 적용됩니다. BslLightControlEnumerateDevices 명령입니다.

오버트리거링#

카메라의 최대 성능 한계에 가까운 상태로 작동하는 경우 조명 장치에 과도한 트리거링(overtriggering)이 발생할 수 있습니다. 과도한 트리거링이란 조명 장치가 아직 준비되지 않은 상태(예: 조명을 끄는 과정이 아직 진행 중인 경우)에서 트리거를 받는 것을 의미합니다. 이 경우 트리거가 무시되며 다음 노출 시 조명이 켜지지 않습니다.
대부분의 경우 조명은 진행 중인 통신(상태 확인) 또는 Overdrive 상태의 쿨다운으로 인해 과도한 트리거 상태가 됩니다. 조명을 종료하는 데 2 µs 이상 걸리는 경우는 거의 없습니다.

이 문제를 더 잘 이해하기 위해 다음 예를 살펴보겠습니다.

100 fps 성능의 카메라를 Exposure Time 50 ms로 설정하여 작동합니다. 이 구성에서 카อล은 연속적인 노출 사이에 간격 없이 초당 20프레임의 이미지를 획득합니다. 결과적으로 조명 트리거는 두 노출 사이의 전환 시점에 정확히 발생해야 합니다.

실제로 이 작동 지점은 사용 가능한 타이밍 윈도우가 매우 작기 때문에 매우 까다롭습니다. 조명 펄스 자체는 매우 정확한 타이밍으로 생성되지만, 조명 장치가 이전 펄스가 완료되었음을 보고하는 데 약간의 시간이 필요합니다. 이 상태 업데이트 지연(약 최대 2 µs)의 변동으로 인해, 카메라는 조명이 다시 준비되었다고 보고되기 전에 가끔 다음 펄스를 트리거할 수 있습니다. 이러한 경우 트리거가 무시되며 결과 이미지가 예상보다 어둡게 나타날 수 있습니다.

정보

간헐적으로 어두운 이미지가 발생하는 경우, 조명을 연속 모드로 작동해 보세요. 또는 Acquisition Frame Rate 기능을 사용하여 프레임 레이트를 약간 줄이면 연속된 트리거 사이에 추가적인 타이밍 마진을 확보할 수 있습니다.

오버트리거링 모니터링#

On ace 2, boost R 및 dart M 카메라, BslLightControlOvertriggerCount 매개변수를 사용할 수 있습니다. 이를 통해 연결된 조명 장치 중 하나 이상이 준비되지 않은 상태에서 전송된 트리거 신호의 수를 모니터링할 수 있습니다.

예: 4개의 조명 장치가 카메라에 연결되어 있다고 가정해 보겠습니다. 3개의 장치가 준비되지 않은 상태에서 트리거 신호를 보냅니다. 결과적으로 BslLightControlOvertriggerCount Property 값이 1 증가합니다.

이 매개변수는 최대 65,535까지 카운트합니다. 그 후 카운팅이 중지됩니다.

오버트리거 카운터를 재설정하려면 다음을 실행합니다. BslLightControlOvertriggerCountReset 명령입니다.

오류 확인 및 지우기#

Basler ace 2, boost R 및 dart M 카메라는 연결된 조명 장치에서 다음 오류 데이터를 읽을 수 있습니다.

  • error status는 오류를 직접 수정하는 데 도움이 될 수 있습니다.
  • error code는 오류 종류에 대한 추가 정보를 제공하며 Basler 지원팀에서 평가할 수 있습니다.

오류를 확인하고 지우려면:

  1. 여러 장치가 연결되어 있는 경우:
    1. 다음 항목을 확인하십시오. BslPeripheralErrorSummary 또는 BslLightControlErrorSummary 어떤 장치에 문제가 발생했는지 파악하기 위한 파라미터(예: Device2.
    2. 다음 값 중 하나로 BslLightDeviceSelector 문제가 발생한 장치의 파라미터입니다.
  2. 다음의 값을 가져옵니다: BslLightDeviceErrorStatus 파라미터를 확인하고 그 의미를 아래의 Error Statuses 표에서 찾아보십시오.
  3. 오류 상태가 "Hardware Error"인 경우:
    1. 다음을 실행합니다. BslLightDeviceErrorStatusReadAndClear 명령입니다.
    2. 다음의 값을 가져옵니다: BslLightDeviceErrorCode 파라미터를 확인하고 그 의미를 아래의 Error Codes table below.
    3. 가능한 경우 오류를 수정하십시오.
  4. 오류 상태가 "Hardware Error"가 아닌 경우:
    1. 가능한 경우 오류를 수정하십시오.
    2. 다음을 실행합니다. BslLightDeviceErrorStatusReadAndClear 명령을 실행하여 오류 상태를 NoError.
Error Statuses#

이 BslLightDeviceErrorStatus 파라미터는 다음 값을 가질 수 있습니다.

Value 의미
Communication Error 조명 장치와 카메라 간의 데이터 전송에 문제가 있는 경우 통신 오류가 발생합니다. 이는 너무 긴 케이블을 사용했거나 라인에 노이즈가 너무 많기 때문에 발생할 수 있습니다.
Connection Lost 이전에 연결되었던 조명 장치와의 연결이 끊어졌습니다. 이는 예를 들어 케이블이 느슨해졌을 때 발생할 수 있습니다.
Hardware Error 조명 장치에 기술적 결함이 발생했습니다. 하드웨어 오류 종류에 대한 자세한 내용을 확인하려면 BslLightDeviceErrorStatusReadAndClear 명령을 실행하여 오류 코드가.a
Light Device Error 조명 장치에 내부 오류가 발생했습니다.a
No Error 오류가 감지되지 않았습니다.
Not Connected 조명 장치가 카메라에 연결되어 있지 않거나 아직 열거되지 않았습니다. 다음을 실행하십시오. BslLightControlEnumerateDevices 장치를 열거하는 명령입니다.
지원되지 않는 장치 버전입니다. 라이트 장치가 현재 카메라와 호환되지 않습니다. 펌웨어 업데이트 제공 여부를 확인하려면 지원팀에 문의하십시오.
Error Codes (ILC Mode)#

새로운 Basler Light 제품이 intelligent light control mode (ILC), BslLightDeviceErrorCode 파라미터는 다음 값을 가질 수 있습니다.

코드 이름 설명
0x01 TemperatureTooHigh 마이크로컨트롤러 온도가 65 °C(149 °F)보다 높습니다.
0x02 SupplyVoltageTooHigh 공급 전압이 26 V보다 높습니다.
0x03 SupplyVoltageTooLow 공급 전압이 21.5 V보다 낮습니다.
0x04 LEDDRIVERFAULT LED 드라이버의 종합 결함(단락, 개방 회로, 과온도)
0x05 UARTFrameError 결함이 있는 UART 프레임이 수신되었습니다.
0x06 UARTMessageParityError UART 메시지 패리티 오류
0x07 FREE1 예비 / 현재 사용되지 않음
0x08 FREE2 예비 / 현재 사용되지 않음
0x09 ReadBufferOverflow 수신 버퍼가 오버플로되었습니다.
0x0A SLPVoltageTooHigh SLP 버스 전압이 6V를 초과합니다(공칭 3.3V).
0x0B DutyCycleOrPulseLength 듀티 사이클 또는 펄스 길이가 오버드라이브 테이블의 한계를 초과합니다.
0x0C CurrentSettingToHighForOverdriveTable 구성된 전류가 오버드라이브 테이블을 초과합니다.
0x0D CurrentSettingToHighForLEDDriver 오버드라이브 테이블이 LED 드라이버가 지원할 수 있는 것보다 더 높은 전류를 허용합니다.
Error Codes (Other Light Control Modes)#

~를 Basler Light 다른 Light Control 모드에서즉, Trigger Control 모드 또는 Current Control Mode, BslLightDeviceErrorCode 파라미터는 다음 값을 가질 수 있습니다.

Value 의미
0x30024 Light Controller의 조명 커넥터에 단락이 발생했습니다. 이는 결함이 있는 조명 유닛으로 인해 발생할 수 있습니다.
0x3002A Light Controller가 요청된 전류를 공급할 수 없습니다. 다음을 낮추어 보십시오. BslLightDeviceCurrent 파라미터 값입니다.
(기타) 오류 코드와 함께 Basler 지원팀에 문의하십시오.

  1. 전원 공급 장치를 분리했다가 다시 연결하면 문제가 해결될 수 있습니다. 전원 재부팅을 보장하려면 컨트롤러를 5분 동안 전원에서 분리해야 합니다. 이는 정상적인 동작입니다. 둘 이상의 컨트롤러를 사용하는 경우, 결함이 발생하지 않은 경우에도 다른 컨트롤러의 전원도 재부팅해야 합니다.

샘플 코드#

ace 2, boost R, dart M Cameras#
// Enable the light control mode
camera.BslPeripheralControlMode.SetValue(BslPeripheralControlMode_On);
//Enumerate the light devices
camera.BslPeripheralEnumerateDevices.Execute();
//Select light device 1
camera.BslPeripheralDeviceSelector.SetValue(BslPeripheralDeviceSelector_Device1);
//Set the nominal current of device 1 to 100 mA
camera.BslLightDeviceCurrent.SetValue(100.0);
//Set the brightness to 100 %
camera.BslLightDeviceBrightness.SetValue(100.0);
//Set the operation mode to Strobe
camera.BslLightDeviceOperationMode.SetValue(BslLightDeviceOperationMode_Strobe);
INodeMap& nodemap = camera.GetNodeMap();
// Enable the light control mode
CEnumParameter(nodemap, "BslPeripheralControlMode").SetValue("On");
// Enumerate the light devices
CCommandParameter(nodemap, "BslPeripheralEnumerateDevices").Execute();
// Select light device 1
CEnumParameter(nodemap, "BslPeripheralDeviceSelector_Device1").SetValue("Device1");
// Set the nominal current of device 1 to 100 mA
CFloatParameter(nodemap, "BslLightDeviceCurrent").SetValue(100.0);
// Set the brightness to 100 %
CFloatParameter(nodemap, "BslLightDeviceBrightness").SetValue(100.0);
// Set the operation mode to Strobe
CEnumParameter(nodemap, "BslLightDeviceOperationMode").SetValue("Strobe");
// Enable the light control mode
camera.Parameters[PLCamera.BslPeripheralControlMode].SetValue(PLCamera.BslPeripheralControlMode.On);
// Enumerate the light devices
camera.Parameters[PLCamera.BslPeripheralEnumerateDevices].Execute();
// Select light device 1
camera.Parameters[PLCamera.BslPeripheralDeviceSelector_Device1].SetValue(PLCamera.BslPeripheralDeviceSelector.Device1);
// Set the nominal current of device 1 to 100 mA
camera.Parameters[PLCamera.BslLightDeviceCurrent].SetValue(100.0);
// Set the brightness to 100 %
camera.Parameters[PLCamera.BslLightDeviceBrightness].SetValue(100.0);
// Set the operation mode to Strobe
camera.Parameters[PLCamera.BslLightDeviceOperationMode].SetValue(PLCamera.BslLightDeviceOperationMode.Strobe);
/* 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 light control mode */
errRes = PylonDeviceFeatureFromString(hdev, "BslPeripheralControlMode", "On");
CHECK(errRes);
/* Enumerate the light devices */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslPeripheralEnumerateDevices");
CHECK(errRes);
/* Select light device 1 */
errRes = PylonDeviceFeatureFromString(hdev, "BslPeripheralDeviceSelector_Device1", "Device1");
CHECK(errRes);
/* Set the nominal current of device 1 to 100 mA */
errRes = PylonDeviceSetFloatFeature(hdev, "BslLightDeviceCurrent", 100.0);
CHECK(errRes);
/* Set the brightness to 100 % */
errRes = PylonDeviceSetFloatFeature(hdev, "BslLightDeviceBrightness", 100.0);
CHECK(errRes);
/* Set the operation mode to Strobe */
errRes = PylonDeviceFeatureFromString(hdev, "BslLightDeviceOperationMode", "Strobe");
CHECK(errRes);
# Enable the light control mode
camera.BslPeripheralControlMode.Value = "On"
# Enumerate the light devices
camera.BslPeripheralEnumerateDevices.Execute()
# Select light device 1
camera.BslPeripheralDeviceSelector_Device1.Value = "Device1"
# Set the nominal current of device 1 to 100 mA
camera.BslLightDeviceCurrent.Value = 100.0
# Set the brightness to 100 %
camera.BslLightDeviceBrightness.Value = 100.0
# Set the operation mode to Strobe
camera.BslLightDeviceOperationMode.Value = "Strobe"

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