콘텐츠로 바로 가기
STAGING SERVER
DEVELOPMENT SERVER

Light Control#

Light Control 카메라 기능을 사용하면 최대 4개의 조명 장치를 제어할 수 있습니다.

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

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

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

정보

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

기능 사용#

조명 장치 구성#

조명 장치를 구성하려면 다음을 수행하십시오.

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

    pylon Viewer에서의 Polling 옵션

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

  3. 아직 수행하지 않았다면 조명 장치와 컨트롤러를 연결하십시오.
  4. 파라미터를 원하는 BslLightControlMode 파라메터 On.
  5. 다음을 실행합니다. BslLightControlEnumerateDevices command.
    이를 통해 다음을 통한 조명 장치 통신이 활성화되며 GPIO line 다음에 조명 장치 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% 초과하여 설정할 수도 있습니다. 이를 다음과 부릅니다. 오버드라이빙.

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

정보

  • Basler Camera Light를 사용하는 경우 BslLightDeviceControlMode 및 BslLightDeviceMaxCurrent 매개변수가 자동으로 설정됩니다.
  • 전류 모드와 전압 모드 간에 전환할 때마다 컨트롤러의 짧은 초기화 단계가 발생하며, 이 동안 연결된 조명이 켜집니다. 이는 최대 15 초까지 지속될 수 있으며 정상적인 동작입니다.

스트로브 모드#

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

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

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

Strobe 모드를 활성화하려면 조명 장치를 선택하고 BslLightDeviceOperationMode 파라메터 Strobe.

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

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

  • 처음에 조명은 꺼져 있습니다.
  • 트리거 신호에 의해 조명이 켜집니다.
  • Strobe 지속 시간 동안 조명이 켜진 상태를 유지합니다.
  • Strobe 지속 시간이 경과하면 조명이 다시 꺼집니다.
ace 2, boost R 및 dart M 카메라#

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

  1. 파라미터를 원하는 BslLightControlTriggerSource 매개변수를 연결된 조명을 켜는 데 사용할 소스로 설정합니다(예: FlashWindow.
  2. 해당하는 경우, 다음을 설정하세요. BslLightControlTriggerActivation 파라미터를 설정하십시오:
    • RisingEdge (기본값): 신호가 입력되면 연결된 모든 조명이 켜집니다. 상승, 즉 신호 상태가 Low에서 High로 변경될 때.
    • FallingEdge: 신호가 입력되면 연결된 모든 조명이 켜집니다. 하강, 즉 신호 상태가 High에서 Low로 변경될 때.
    • AnyEdge: 신호가 입력되면 연결된 모든 조명이 켜집니다. 하강 또는 상승.
  3. 파라미터를 원하는 BslLightDeviceStrobeMode 파라미터를 설정하십시오:
    • Automatic: Strobe 지속 시간은 카메라의 플래시 윈도우 지속 시간(호칭)에 의해 제어됩니다.BslFlashWindowDuration 매개변수). BslLightDeviceStrobeDuration parameter가 읽기 전용으로 전환되며 계산된 Strobe Duration이 표시됩니다.
    • Manual: 다음을 사용하여 Strobe Duration을 직접 정의할 수 있습니다. BslLightDeviceStrobeDuration 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
  4. 만약 다음을 선택한 경우: Manual strobe mode에서 parameter를 원하는 Strobe Duration(마이크로초 단위)으로 설정합니다. BslLightDeviceStrobeDuration parameter를 원하는 Strobe Duration(마이크로초 단위)으로 설정합니다.

정보

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

ace U/L 카메라에서 트리거 신호 및 Strobe Duration을 구성하려면:

  1. 다음을 사용하는 경우: rolling shutter 카메라인 경우, BslLightControlTriggerMode 파라미터를 설정하십시오:

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

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

  2. 파라미터를 원하는 BslLightDeviceStrobeMode 파라미터를 설정하십시오:

    • Automatic: Strobe Duration은 카메라의 ExposureTime parameter에 의해 제어됩니다.
    • Manual: 다음을 사용하여 Strobe Duration을 직접 정의할 수 있습니다. BslLightDeviceStrobeDuration 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
  3. 만약 다음을 선택한 경우: Manual strobe mode에서 parameter를 원하는 Strobe Duration(마이크로초 단위)으로 설정합니다. BslLightDeviceStrobeDuration parameter를 원하는 Strobe Duration으로 설정합니다.

정보

조명 장치 오버드라이빙#

알림 – Overdriving으로 인해 조명이 손상될 수 있습니다.

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

조명 overdriving이란 조명이 strobe mode에 있는 동안 전류를 증가시켜 더 높은 광도를 얻을 수 있음을 의미합니다.

조명 장치를 overdrive하려면:

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

    1. 현재 듀티 사이클과 스트로브 지속 시간을 기준으로 장치에 허용되는 최대 전류를 계산합니다. Basler ace 2, boost R 및 dart M 카메라에서 BslLightDeviceDutyCycle 파라미터를 읽어 현재 듀티 사이클을 확인할 수 있습니다.
    2. 파라미터를 원하는 BslLightDeviceOverdriveLimit 파라미터를 그에 맞게 설정합니다. 예를 들어 조명이 정격 전류의 200%를 견딜 수 있는 경우 오버드라이브 한계(overdrive limit)를 200.0으로 설정합니다.

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

  2. 파라미터를 원하는 BslLightDeviceBrightness 값을 100.0보다 크게 설정합니다.

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

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

안전 기능#

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

SLP Light Controller의 안전 기능#

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

이를 방지하기 위해 Basler SLP Light Controller의 정격 전류(BslLightDeviceMaxCurrent 파라미터)는 2000 mA를 초과하여 설정할 수 없습니다.

그러나 장치를 오버드라이브(overdriving)하는 경우 전류가 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 command.

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

  • When the 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 command.

오버트리거링#

카메라를 성능 한계까지 작동하는 경우 조명 장치에 과도한 트리거(overtriggering)가 발생할 수 있습니다. overtriggering이란 조명 장치가 아직 준비되지 않은 상태(예: 여전히 조명을 끄는 과정에 있는 경우)에서 트리거를 수신하는 것을 의미합니다. 이는 트리거가 무시되며 다음 노출 시 조명이 켜지지 않음을 의미합니다.

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

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

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

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

오버트리거링 모니터링#

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

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

파라미터는 최대 65,535까지 카운트합니다. 그 후 카운트가 중지됩니다.

overtrigger counter를 재설정하려면 다음을 실행하십시오. BslLightControlOvertriggerCountReset command.

오류 확인 및 지우기#

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 command.
    2. 다음의 값을 가져옵니다. BslLightDeviceErrorCode 매개변수를 확인하고 아래의 Error Codes 표에서 그 의미를 찾아보십시오.
    3. 가능한 경우 오류를 수정합니다.
  4. 오류 상태가 "Hardware Error"가 아닌 경우:
    1. 가능한 경우 오류를 수정합니다.
    2. 다음을 실행합니다. BslLightDeviceErrorStatusReadAndClear 명령을 실행하여 오류 상태를 NoError.
Error Statuses#

The BslLightDeviceErrorStatus 매개변수는 다음 값을 가질 수 있습니다:

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

The 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 command.
  5. 다음이 될 때까지 마지막 오류를 가져오고 삭제하는 작업을 계속하십시오. BslLightDeviceLastError 파라미터가 다음을 표시합니다. NoError.
Value 의미
Communication Error 조명 장치와 카메라 간의 데이터 전송에 문제가 있을 때 통신 오류가 발생합니다. 이는 너무 긴 케이블을 사용했거나 라인에 과도한 노이즈가 발생했기 때문일 수 있습니다.
연결 오류 연결 오류는 조명 디바이스와 카메라 간의 연결이 끊어졌거나 통신 오류가 이미 발생한 경우에 발생합니다. 기타 원인으로는 느슨한 연결이나 컨트롤러의 완전한 연결 해제 등이 있을 수 있습니다.
Hardware Error 조명 디바이스에 기술적 결함이 발생했습니다.a
전류 부족 Light Controller가 요청된 전류를 공급할 수 없습니다. 다음을 낮추어 보십시오. LightDeviceMaxCurrent 매개변수 값.
No Error 조명 디바이스는 오류 메모리가 마지막으로 지워진 이후로 감지된 오류가 없습니다.
단락 Light Controller의 조명 커넥터에 단락이 발생했습니다. 이는 결함이 있는 조명 유닛으로 인해 발생할 수 있습니다.

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

샘플 코드#

ace 2, boost R, dart M 카메라#
// 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"