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

Light Control#

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

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

Basler Light 또는 타사 LED 조명 솔루션을 사용하는 경우, 카메라와 조명 간의 통신을 활성화하려면 Basler SLP Strobe Controller가 필요합니다.

Basler Camera Light를 사용하는 경우, 컨트롤러 기능이 이미 내장되어 있으므로 별도의 컨트롤러가 필요하지 않습니다.

정보

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

기능 사용법#

조명 장치 구성#

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

  1. pylon Viewer를 사용할 때 Features 창에서 Polling 옵션이 선택되어 있는지 확인하십시오.

    pylon Viewer의 Polling 옵션

  2. 카메라가 유휴 상태인지, 즉 이미지를 캡처하고 있지 않은지 확인하십시오.

  3. 아직 완료하지 않았다면 조명 장치와 컨트롤러를 연결하십시오.
  4. 다음 값 중 하나로 BslLightControlMode 매개변수: On.
  5. 다음을 실행합니다. BslLightControlEnumerateDevices 명령입니다.
    이를 통해 다음을 통해 조명 장치 통신이 활성화됩니다. GPIO line 또한 다음이 할당됩니다. light device ID.
  6. 환경에 여러 개의 조명 장치가 있는 경우, BslLightDeviceSelector 파라미터를 구성하려는 장치로 설정하십시오.
    장치가 올바르게 연결되어 있는지, 즉 BslLightDeviceErrorStatus 파라미터가 반환하는지 확인하십시오. NoError.
  7. Basler SLP Strobe Controller를 사용하는 경우:

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

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

      전류 제어를 사용할 때는 조명이 견딜 수 있는 공칭 정격 전류를 지정해야 합니다.

      그렇지 않으면 작동 중에 조명이 손상됩니다.

  8. 다음 값 중 하나로 BslLightDeviceBrightness 파라미터를 원하는 밝기로 설정하십시오.
    100.0 값은 조명 장치 공칭 정격 전류의 100%에 해당합니다. 50%는 전류를 2배 줄입니다. 밝기를 100% 초과하여 설정할 수도 있습니다. 이것을 다음과 같이 부릅니다. overdriving.

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

정보

  • Basler Camera Light를 사용하는 경우, BslLightDeviceControlMode 및 BslLightDeviceMaxCurrent 파라미터가 자동으로 설정됩니다.
  • 전류에서 전압으로 또는 그 반대로 전환할 때마다 컨트롤러의 짧은 초기화 단계가 진행되며, 이 동안 연결된 조명이 켜집니다. 이는 최대 15 s까지 지속될 수 있으며 정상적인 동작입니다.

Strobe Mode#

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

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

  • 조명의 수명을 연장하는 데 도움이 됩니다. 필요한 경우에만 조명을 작동하므로 LED에서 발생하는 열이 줄어듭니다. 이는 조명의 노화 과정을 늦춰줍니다.
  • Strobe 모드에서는 조명을 overdrive할 수 있습니다. 즉, 공급되는 전류를 최대 500 %(라이트 컨트롤러의 경우)까지 증가시켜 조명의 밝기를 높일 수 있습니다.

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

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

일반적으로 조명 장치 트리거링은 다음과 같이 작동합니다:

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

ace 2, boost R, dart M 카메라에서 트리거 신호와 Strobe 지속 시간을 구성하려면:

  1. 다음 값 중 하나로 BslLightControlTriggerSource 파라미터를 연결된 조명을 켜는 데 사용할 소스로 설정합니다(예: FlashWindow.
  2. 해당하는 경우 다음 설정으로 지정하세요. BslLightControlTriggerActivation 매개변수를 다음 값 중 하나로 설정합니다:
    • RisingEdge (기본값): 신호가 들어오면 연결된 모든 조명이 켜집니다. 상승할 때, 즉 신호 상태가 low에서 high로 바뀔 때 Timer가 시작됩니다.
    • FallingEdge: 신호가 들어오면 연결된 모든 조명이 켜집니다. 하강할 때, 즉 신호 상태가 high에서 low로 바뀔 때 Timer가 시작됩니다.
    • AnyEdge: 신호가 들어오면 연결된 모든 조명이 켜집니다. 하강 또는 상승할 때.
  3. 다음 값 중 하나로 BslLightDeviceStrobeMode 매개변수를 다음 값 중 하나로 설정합니다:
    • Automatic: Strobe 지속 시간은 카메라의 Flash Window 지속 시간(yBslFlashWindowDuration 파라미터)에 의해 제어됩니다. BslLightDeviceStrobeDuration 파라미터가 읽기 전용으로 전환되며 계산된 스트로브 지속 시간이 표시됩니다.
    • Manual: 다음을 사용하여 직접 스트로브 지속 시간을 정의할 수 있습니다. BslLightDeviceStrobeDuration 파라미터.
  4. 선택한 경우 Manual 스트로브 모드에서 BslLightDeviceStrobeDuration 파라미터를 원하는 스트로브 지속 시간(마이크로초)으로 설정합니다.

정보

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

ace U/L 카메라에서 트리거 신호와 스트로브 지속 시간을 구성하려면:

  1. 다음 카메라를 사용하는 경우 rolling shutter 카메라, 설정 BslLightControlTriggerMode 매개변수를 다음 값 중 하나로 설정합니다:

    • ExposureActive: 노출이 시작되면 연결된 모든 조명이 켜집니다. 다음 작업을 수행하지 않는 경우에만 이 모드를 사용하십시오. 중첩 이미지 획득.
    • FlashWindow: 카메라의 Flash Window 신호가 상승할 때 연결된 모든 조명이 켜집니다. 이 모드를 사용하는 경우 카메라 모델에서 Flash Window 신호를 사용할 수 있는지 확인하십시오.

    global shutter 카메라에서는 노출이 시작될 때 연결된 모든 조명이 항상 켜집니다.

  2. 다음 값 중 하나로 BslLightDeviceStrobeMode 매개변수를 다음 값 중 하나로 설정합니다:

    • Automatic: 스트로브 지속 시간은 다음 항목에 의해 제어됩니다. ExposureTime 카메라의 파라미터.
    • Manual: 다음을 사용하여 직접 스트로브 지속 시간을 정의할 수 있습니다. BslLightDeviceStrobeDuration 파라미터.
  3. 선택한 경우 Manual 스트로브 모드에서 BslLightDeviceStrobeDuration 파라미터를 원하는 스트로브 지속 시간으로 설정합니다.

정보

조명 장치 오버드라이빙#

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

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

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

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

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

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

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

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

오버드라이브 시 조명 손상을 방지하려면 다음 사항을 고려하십시오:

  • 스트로브 모드에서 조명이 견딜 수 있는 최대 전류가 확실하지 않은 경우 조명 제조업체에 문의하십시오.
  • 전류가 증가하면 LED가 더 많이 가열되므로 조명이 다시 냉각될 수 있도록 개별 스트로브 펄스 사이에 충분한 시간을 두어야 합니다. 일반적인 경험 법칙으로, 펄스 강도가 높을수록 펄스 사이의 간격을 더 길게 두어야 합니다.
  • 노출 시간은 펄스의 길이와 듀티 사이클에 영향을 미치므로 이를 고려하십시오.

안전 기능#

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

SLP Light Controllers의 안전 기능#

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 Camera Lights에서 선택한 밝기가 스트로브 지속 시간 및 듀티 사이클에 비해 너무 높으면 스트로브 지속 시간이 단축되거나 트리거가 무시됩니다. 아래 표를 참조하십시오.

필요한 밝기 최대 스트로브 지속 시간 최대 듀티 사이클
0–100 % - 100 %
101–200 % 30 ms 30 %
201–300 % 10 ms 20 %
301–500 % 2 ms 10 %
501–1000 % 1 ms 5 %

GPIO 라인 구성#

카메라는 카메라의 GPIO 라인 중 하나를 통해 조명 장치와 통신합니다.

  • On ace 2, boost R 및 dart M 카메라, 카메라는 항상 다음을 사용합니다 Line 3 (조명 통신용). 따라서 Light Control 기능을 활성화하면 라인 모드 (Line 3의) 설정은 다음과 같습니다 InOut 그리고 다음을 설정하십시오: 선 연결 로 설정된 경우, LightControl.

  • On ace U/L 카메라, BslLightControlSource 파라미터는 카메라가 조명 통신에 사용하는 GPIO 라인을 보여줍니다.

조명 장치 ID#

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

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

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

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

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

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

팁

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

조명 장치 ID 변경#

조명의 ID를 변경하려면:

  1. 다음 값 중 하나로 BslLightControlMode 매개변수: On.
  2. 다음 값 중 하나로 BslLightDeviceOperationMode 매개변수: Off.
  3. 다음 값 중 하나로 BslLightDeviceSelector ID를 변경하려는 Basler 조명 장치에 매개변수를 적용합니다.
  4. 다음 값 중 하나로 BslLightDeviceChangeID 매개변수를 원하는 ID로 설정합니다(예: Device1.
    On ace U/L 카메라, ID가 즉시 변경됩니다.
  5. On ace 2, boost R 및 dart M 카메라, 다음을 실행합니다. BslLightDeviceNewIDSave 명령입니다.

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

  • 언제 BslLightControlMode 로 설정된 경우, On, Serial Communication 기능이 비활성화됩니다. 이는 Light Control 기능도 Serial Communication을 사용하기 때문입니다.
  • Basler Camera Lights use pulse width modulation (PWM), the Basler SLP Strobe Controller doesn't. If you're using very short exposure times (<500 µs) and a brightness value other than 100 %, PWM can lead to brightness fluctuations or to stripes in rolling shutter cameras.
  • 너무 짧은 Flash Window 신호는 사용하지 마십시오. 그렇지 않으면 결과 이미지의 일부 라인은 너무 밝고 다른 라인은 너무 어두울 수 있습니다.
  • 설정할 때 BslLightControlMode 매개변수: On, 조명 장치가 실제로 켜질 때까지 최대 1초의 지연 시간이 발생합니다. 이로 인해 첫 번째 이미지가 너무 어두울 수 있습니다. 이 이미지를 폐기하거나, 모든 이미지가 필요한 경우 적절한 지연 시간 후에 이미지 취득을 시작하십시오.
  • Basler Camera Light를 overdriving할 때 카메라를 초당 60프레임 이상으로 작동하지 마십시오. 그렇지 않으면 카메라와 조명이 예기치 않은 동작을 보일 수 있습니다.
  • Basler ace 2, boost R 및 dart M 카메라: 조명 장치 설정을 다음에서 로드할 때 user set, 설정은 다음을 실행한 후에만 적용됩니다. BslLightControlEnumerateDevices 명령입니다.

오버트리거링#

카메라의 최대 성능 한계에 가깝게 작동하는 경우 조명 장치의 오버트리거링이 발생할 수 있습니다. 오버트리거링이란 조명 장치가 아직 준비되지 않은 상태(예: 조명을 끄는 과정이 아직 진행 중인 경우)에서 트리거를 수신하는 것을 의미합니다. 이는 트리거가 무시되며 다음 노출 시 조명이 켜지지 않음을 의미합니다.

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

100 fps를 지원하는 카메라가 50 ms로 설정된 Exposure Time으로 작동합니다. 따라서 카메라는 노출 사이에 일시 중지 없이 연속해서 빠르게 초당 20프레임을 취득합니다. 즉, 조명 장치에 대한 트리거가 두 노출 사이의 경계에 정확히 와야 함을 의미합니다.

실제로는 조명이 꺼지는 동안 트리거가 가끔 도착하게 만드는 고유한 지터 때문에 이는 거의 불가능합니다. 이러한 경우 트리거는 무시되며 결과 이미지는 너무 어둡게 됩니다.

지터는 불규칙하므로 이 현상이 발생하는 것을 방지하는 정확한 방법은 없습니다. 일부 이미지가 다른 이미지보다 어둡다는 것을 알게 된 경우 연속 모드(continuous mode)로 조명을 작동하는 것을 고려해 보십시오. Acquisition Frame Rate 기능을 사용하여 프레임 레이트를 조정해 볼 수도 있습니다.

오버트리거링 모니터링#

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

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

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

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

오류 확인 및 지우기#

ace 2, boost R, dart M 카메라#

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

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

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

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

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

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

ace U/L 카메라#

Basler ace U/L 카메라는 연결된 라이트 장치에서 오류 목록을 읽어올 수 있습니다.

최대 25개의 오류를 저장할 수 있습니다. 26번째 오류가 발생하면 가장 오래된 오류가 덮어씌워지는 방식으로 계속됩니다.

오류 확인 및 지우기는 발생한 오류 수에 따라 반복적인 프로세스입니다.

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

  1. 여러 장치가 연결되어 있는 경우:
    1. 다음 항목을 확인하십시오. BslLightControlErrorStatus 어떤 장치에 문제가 발생했는지 파악하기 위한 파라미터(예: Device2.
    2. 다음 값 중 하나로 BslLightDeviceSelector 문제가 발생한 장치의 파라미터입니다.
  2. 다음의 값을 가져옵니다: BslLightDeviceLastError 파라미터 및 아래 표에서 그 의미를 확인하십시오.
  3. 해당 오류를 수정합니다.
  4. 오류 목록에서 마지막 오류를 삭제하려면 다음을 실행하십시오. BslLightDeviceClearLastError 명령입니다.
  5. 다음이 나타날 때까지 마지막 오류 가져오기 및 삭제를 계속합니다. BslLightDeviceLastError 파라미터가 다음을 표시합니다. NoError.
Value 의미
Communication Error 조명 장치와 카메라 간의 데이터 전송에 문제가 있는 경우 통신 오류가 발생합니다. 이는 너무 긴 케이블을 사용했거나 라인에 노이즈가 너무 많기 때문에 발생할 수 있습니다.
연결 오류 연결 오류는 라이트 장치와 카메라 사이의 연결이 끊어졌거나 통신 오류가 이미 발생한 경우에 발생합니다. 기타 원인으로는 느슨한 연결이나 컨트롤러의 완전한 연결 해제 등이 있을 수 있습니다.
Hardware Error 라이트 장치에 기술적 결함이 발생했습니다.a
Insufficient Current Light Controller가 요청된 전류를 공급할 수 없습니다. 다음을 낮추어 보십시오. LightDeviceMaxCurrent 파라미터 값입니다.
No Error 라이트 장치는 오류 Memory가 마지막으로 지워진 이후로 감지된 오류가 없습니다.
단락 Light Controller의 조명 커넥터에 단락이 발생했습니다. 이는 결함이 있는 조명 유닛으로 인해 발생할 수 있습니다.

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

샘플 코드#

ace 2, boost R, dart M Cameras#
// Enable the light control mode
camera.BslLightControlMode.SetValue(BslLightControlMode_On);
//Enumerate the light devices
camera.BslLightControlEnumerateDevices.Execute();
//Select light device 1
camera.BslLightDeviceSelector.SetValue(BslLightDeviceSelector_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, "BslLightControlMode").SetValue("On");
// Enumerate the light devices
CCommandParameter(nodemap, "BslLightControlEnumerateDevices").Execute();
// Select light device 1
CEnumParameter(nodemap, "BslLightDeviceSelector").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.BslLightControlMode].SetValue(PLCamera.BslLightControlMode.On);
// Enumerate the light devices
camera.Parameters[PLCamera.BslLightControlEnumerateDevices].Execute();
// Select light device 1
camera.Parameters[PLCamera.BslLightDeviceSelector].SetValue(PLCamera.BslLightDeviceSelector.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, "BslLightControlMode", "On");
CHECK(errRes);
/* Enumerate the light devices */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslLightControlEnumerateDevices");
CHECK(errRes);
/* Select light device 1 */
errRes = PylonDeviceFeatureFromString(hdev, "BslLightDeviceSelector", "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.BslLightControlMode.Value = "On"
# Enumerate the light devices
camera.BslLightControlEnumerateDevices.Execute()
# Select light device 1
camera.BslLightDeviceSelector.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를 사용하여 파라미터를 손쉽게 설정할 수 있습니다.

ace U/L 카메라#
// Enable the light control mode
camera.BslLightControlMode.SetValue(BslLightControlMode_On);
//Enumerate the light devices
camera.BslLightControlEnumerateDevices.Execute();
//Select light device 1
camera.BslLightDeviceSelector.SetValue(BslLightDeviceSelector_Device1);
//Set the nominal current of device 1 to 100 mA
camera.BslLightDeviceMaxCurrent.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, "BslLightControlMode").SetValue("On");
// Enumerate the light devices
CCommandParameter(nodemap, "BslLightControlEnumerateDevices").Execute();
// Select light device 1
CEnumParameter(nodemap, "BslLightDeviceSelector").SetValue("Device1");
// Set the nominal current of device 1 to 100 mA
CFloatParameter(nodemap, "BslLightDeviceMaxCurrent").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.BslLightControlMode].SetValue(PLCamera.BslLightControlMode.On);
// Enumerate the light devices
camera.Parameters[PLCamera.BslLightControlEnumerateDevices].Execute();
// Select light device 1
camera.Parameters[PLCamera.BslLightDeviceSelector].SetValue(PLCamera.BslLightDeviceSelector.Device1);
// Set the nominal current of device 1 to 100 mA
camera.Parameters[PLCamera.BslLightDeviceMaxCurrent].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, "BslLightControlMode", "On");
CHECK(errRes);
/* Enumerate the light devices */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslLightControlEnumerateDevices");
CHECK(errRes);
/* Select light device 1 */
errRes = PylonDeviceFeatureFromString(hdev, "BslLightDeviceSelector", "Device1");
CHECK(errRes);
/* Set the nominal current of device 1 to 100 mA */
errRes = PylonDeviceSetFloatFeature(hdev, "BslLightDeviceMaxCurrent", 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.BslLightControlMode.Value = "On"
# Enumerate the light devices
camera.BslLightControlEnumerateDevices.Execute()
# Select light device 1
camera.BslLightDeviceSelector.Value = "Device1"
# Set the nominal current of device 1 to 100 mA
camera.BslLightDeviceMaxCurrent.Value = 100.0
# Set the brightness to 100 %
camera.BslLightDeviceBrightness.Value = 100.0
# Set the operation mode to Strobe
camera.BslLightDeviceOperationMode.Value = "Strobe"