트리거 방식 이미지 취득 (dart E)#
대부분의 최신 머신 비전 애플리케이션은 트리거 방식 이미지 획득을 사용합니다.
기능 사용#
하드웨어 및 소프트웨어 트리거#
카메라가 하드웨어 트리거로 설정된 경우, 카메라의 입력 라인 중 하나에 인가되는 전기 신호가 트리거 신호 역할을 할 수 있습니다.
카메라가 소프트웨어 트리거로 설정된 경우, 소프트웨어 명령어 또는 신호가 트리거 신호로 작용합니다. 소프트웨어 명령어는 pylon API를 사용하여 실행할 수 있습니다.
설정 측면에서 하드웨어 트리거와 소프트웨어 트리거의 유일한 차이점은 Trigger Source입니다. 하드웨어 트리거의 경우 하드웨어 트리거 소스를 선택해야 합니다. 소프트웨어 트리거의 경우 소프트웨어 트리거 소스를 선택해야 합니다.
또한 Trigger Activation Mode 선택과 같이 일부 설정 단계는 소프트웨어 트리거에 적용되지 않습니다.
트리거 이미지 취득 구성#
트리거 방식 이미지 획득을 설정하려면:
- 파라미터를 원하는
TriggerMode파라메터On트리거 방식 이미지 취득을 활성화하려면 다음을 수행합니다. - 트리거를 구성합니다:
- 파라미터를 원하는
TriggerSource정의할 매개변수입니다. 어떤 신호가 트리거를 트리거하는지 결정합니다. - 해당하는 경우, 다음을 설정하세요.
TriggerActivation정의할 매개변수입니다. 어떤 신호 전환에서 트리거를 트리거하는지 결정합니다.
- 파라미터를 원하는
정보
-
다음 제한 요소 중 하나 또는 둘 다를 초과하는 속도로 카메라를 트리거하지 마세요:
- 현재 카메라 설정에서 허용되는 최대 프레임 레이트입니다. 카메라가 수신 준비가 되지 않은 상태에서 Frame Start 트리거 신호를 인가하면 해당 신호는 무시됩니다.
- 호스트 컴퓨터의 데이터 전송, 저장 또는 둘 다에 대한 용량 제한입니다. 호스트 컴퓨터가 처리할 수 있는 것보다 더 많은 이미지를 취득하려고 하면 프레임이 유실될 수 있습니다.
Trigger Sources#
다음 항목을 사용하여 Trigger Source을(를) 설정할 수 있습니다. TriggerSource 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
이는 트리거가 발생하는 방식을 정의합니다.
사용 가능한 Trigger Source는 다음과 같습니다:
하드웨어 트리거 소스#
Line1: I/O 라인 1에 전기 신호를 인가하여 선택된 트리거를 동작시킬 수 있습니다.PeriodicSignal1: 선택된 트리거는 다음을 사용하여 작동할 수 있습니다. Periodic Signal feature.
소프트웨어 트리거 소스#
Software: 선택한 트리거는 다음을 실행하여 트리거될 수 있습니다.TriggerSoftwarepylon API를 통한 명령.
Trigger Activation Modes#
다음 항목을 사용하여 활성화 모드를 설정할 수 있습니다. TriggerActivation 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.
이 설정은 하드웨어 트리거에만 적용됩니다. 어떤 신호 전환(signal transition)이 선택한 트리거를 활성화하는지 정의합니다. 예를 들어, 트리거 신호가 하강할 때 트리거가 활성화되도록 지정할 수 있습니다.
사용 가능한 Trigger Activation 모드는 다음과 같습니다:
LevelHigh: 트리거가 활성화됩니다. 동안 트리거 신호가 High.LevelLow: 트리거가 활성화됩니다. 동안 트리거 신호가 Low.
샘플 코드#
// Enable triggered image acquisition for the Frame Start trigger
camera.TriggerMode.SetValue(TriggerMode_On);
// Set the trigger source to Line 1
camera.TriggerSource.SetValue(TriggerSource_Line1);
// Set the trigger activation mode to level high
camera.TriggerActivation.SetValue(TriggerActivation_LevelHigh);
INodeMap& nodemap = camera.GetNodeMap();
// Enable triggered image acquisition for the Frame Start trigger
CEnumParameter(nodemap, "TriggerMode").SetValue("On");
// Set the trigger source to Line 1
CEnumParameter(nodemap, "TriggerSource").SetValue("Line1");
// Set the trigger activation mode to level high
CEnumParameter(nodemap, "TriggerActivation").SetValue("LevelHigh");
// Enable triggered image acquisition for the Frame Start trigger
camera.Parameters[PLCamera.TriggerMode].SetValue(PLCamera.TriggerMode.On);
// Set the trigger source to Line 1
camera.Parameters[PLCamera.TriggerSource].SetValue(PLCamera.TriggerSource.Line1);
// Set the trigger activation mode to level high
camera.Parameters[PLCamera.TriggerActivation].SetValue(PLCamera.TriggerActivation.LevelHigh);
/* 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 triggered image acquisition for the Frame Start trigger */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerMode", "On");
CHECK(errRes);
/* Set the trigger source to Line 1 */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerSource", "Line1");
CHECK(errRes);
/* Set the trigger activation mode to level high */
errRes = PylonDeviceFeatureFromString(hdev, "TriggerActivation", "LevelHigh");
CHECK(errRes);
pylon Viewer를 사용하여 매개변수를 간편하게 설정할 수도 있습니다.