Documentation Portal      

무엇을 찾아 드릴까요?

그래버 구성하기

구성은 모든 이미지 수집 프로그램에서 매우 중요한 부분입니다.

카메라와 프레임 그래버는 모두 응용 프로그램 요구 사항에 따라 구성해야 합니다.
카메라 구성은 프레임 그래버 구성과 호환되어야 하며 반대의 경우도 마찬가지입니다.

구성은 기본적으로 원격 장치 (즉, 카메라), 인터페이스, 장치 또는 데이터 스트림 모듈과 같은 그래버 모듈에서 수행되는 일련의 설정/가져 오기 작업으로 이어집니다.

이 프로그램은 소위 RG 제어 모드 (비동기식 리셋 카메라 제어, 프레임 그래버 제어 노출)를 위해 그래버를 구성합니다.

#include <iostream>
#include <EGrabber.h>

const double FPS = 150;

void configure() {
    Euresys::EGenTL gentl;
    Euresys::EGrabber<> grabber(gentl);
    // camera configuration
    grabber.setString<Euresys::RemoteModule>("TriggerMode", "On");                      // 1
    grabber.setString<Euresys::RemoteModule>("TriggerSource", "CXPin");                 // 2
    grabber.setString<Euresys::RemoteModule>("ExposureMode", "TriggerWidth");           // 3
    // frame grabber configuration
    grabber.setString<Euresys::DeviceModule>("CameraControlMethod", "RG");              // 4
    grabber.setString<Euresys::DeviceModule>("CycleTriggerSource", "Immediate");        // 5
    grabber.setFloat<Euresys::DeviceModule>("CycleMinimumPeriod", 1e6 / FPS);           // 6
}

int main() {
    try {
        configure();
    } catch (const std::exception &e) {
        std::cout << "error: " << e.what() << std::endl;
    }
}
1. 카메라에서 트리거를 사용합니다.
2. CoaXPress 링크에서 트리거를 찾도록 카메라에 지시합니다.
3. TriggerWidth 노출 모드를 사용하도록 카메라를 구성하십시오.
4. 프레임 그래버의 카메라 제어 방법을 RG로 설정하십시오. 이 모드에서 카메라 사이클은 프레임 그래버에 의해 시작되고 노출 지속 시간은 프레임 그래버에 의해 제어됩니다.
5. 하드웨어 또는 소프트웨어 트리거를 기다리지 않고 프레임 그래버에게 (CycleMinimumPeriod에 의해 정의된 속도로) 카메라 사이클을 시작하도록 알려줍니다.
6. 프레임 속도를 구성하십시오.

그러나 그래버를 구성하는 더 좋은 방법이 있습니다. 스크립트 파일을 사용하면 프로그램이 다음과 같이 됩니다.

#include <iostream>
#include <EGrabber.h>

void configure() {
    Euresys::EGenTL gentl;
    Euresys::EGrabber<> grabber(gentl);
    grabber.runScript("config.js");
}

int main() {
    try {
        configure();
    } catch (const std::exception &e) {
        std::cout << "error: " << e.what() << std::endl;
    }
}

구성 스크립트는 다음과 같습니다:


var grabber = grabbers[0];
var FPS = 150;
// camera configuration
grabber.RemotePort.set("TriggerMode", "On");
grabber.RemotePort.set("TriggerSource", "CXPin");
grabber.RemotePort.set("ExposureMode", "TriggerWidth");
// frame grabber configuration
grabber.DevicePort.set("CameraControlMethod", "RG");
grabber.DevicePort.set("CycleTriggerSource", "Immediate");
grabber.DevicePort.set("CycleMinimumPeriod", 1e6 / FPS);

스크립트 파일을 사용하면 몇 가지 이점이 있습니다:

구성은 응용 프로그램을 다시 컴파일하지 않고 변경할 수 있습니다. 이를 통해 개발주기가 단축되고 랩 또는 현장에서 구성을 업데이트할 수 있습니다.
구성 스크립트는 GenICam Browser 및 커맨드 라인 gentl 도구로 로드할 수 있습니다. 이렇게 하면 사용자 응용 프로그램 외부의 구성을 확인할 수 있습니다.
구성 스크립트는 다른 프로그래밍 언어로 작성된 여러 응용 프로그램에서 쉽게 공유할 수 있습니다: C++, C#, VB.NET...
Euresys GenApi스크립트의 모든 기능을 사용할 수 있습니다.

© 0000 EURESYS s.a.  -  문서 관련 안내  -  Coaxlink 11.0.3.2077