Documentation Portal      

何をお探しですか?

グラバーの設定

設定はあらゆる画像取得プログラムの非常に重要な側面があります。

カメラとフレームグラバーはどちらもアプリケーションの要件に応じて設定する必要があります。
カメラの設定はフレームグラバーの設定と互換性がある必要があります。

設定は基本的にグラバーモジュールで実行される一連の set/get操作 のことです:遠隔装置(すなわち、カメラ)、 インターフェースデバイス、または データストリーム モジュール。

このプログラムはグラバーをいわゆる 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ブラウザとコマンドライン gentl ツールによってロードすることができます。 これにより、ユーザアプリケーションの外部で設定を検証できます。
設定スクリプトは、異なるプログラミング言語で書かれたいくつかのアプリケーション(C ++、C#、VB.NETなど)で簡単に共有できます。
Euresys GenApiスクリプト のフルパワーが利用可能です。

© 2019 EURESYS s.a.  -  このドキュメントについて  -  Coaxlink 11.0.3。2077