Sequenz-AOI-Modus verwenden

uEye Kamera-Handbuch Version 4.92


Sequenz-AOI-Modus verwenden

Windows_Logo
Linux_Logo

USB 2.0

USB 3.0

GigE

USB 2.0

USB 3.0

GigE

Syntax

INT is_AOI (HIDS hCam, UINT nCommand, void* pParam, UINT nSizeOfParam)

Beschreibung

hint_info

Der Sequenz-AOI-Modus wird derzeit von den folgenden Sensormodellen unterstützt:

•UI-124x/UI-324x/UI-524x

•UI-125x/UI-325x/UI-525x

Beachten Sie, dass der Sequenz-AOI-Modus nicht in Verbindung mit Bildskalierung (Scaler), Bildspiegelung, Subsampling oder Binning verwendet werden kann.

Die Kameramodelle UI-124x/UI-324x/UI-524x und UI-125x/UI-325x/UI-525x verfügen über einen speziellen AOI-Modus. In diesem Modus lassen sich zusätzlich zur normalen AOI (AOI 1) bis zu 3 weitere AOIs auf dem Sensor definieren (siehe uEye Cockpit: Sequenz-AOI). Beim Einschalten des Sequenzmodus muss beachtet werden, dass nur folgende Kombinationen möglich sind:

1.Alle zusätzlichen AOIs sind aus. AOI 1 ist immer aktiv.

2.AOI 2 (+ AOI 1)

3.AOI 2 und 3 (+ AOI 1)

4.AOI 2, 3 und 4 (+ AOI 1)

Nicht möglich ist z.B. die Kombination von AOI 2 und AOI 4. Die Parameter von AOI 2, 3 und 4 werden über die Struktur AOI_SEQUENCE_PARAMS defininiert.

Im getriggerten Modus löst ein Triggersignal eine komplette Sequenz aus, d. h. mit einem Triggersignal werden die definierten AOI 1 bis zu AOI 4 einer Sequenz aufgenommen.

Über den Übergabeparameter nCommand wird dabei der Funktionsmodus gewählt. Der Übergabeparameter pParam ist abhängig vom Funktionsmodus unterschiedlich belegt; bei Funktionen zum Setzen oder Rücklesen eines Wertes enthält pParam einen Zeiger auf eine Variable vom Typ UINT. Die Größe des Speicherbereichs, auf den pParam verweist, wird im Übergabeparameter nSizeOfParam angegeben.

Übergabeparameter

hCam

Handle auf Kamera

pParam

Zeiger auf Funktionsparameter, der abhängig von nCommand unterschiedlich belegt ist.

nSizeOfParam

Größe des Speicherbereichs in Byte, auf den pParam verweist.

Inhalt der Struktur AOI_SEQUENCE_PARAMS

INT

s32AOIIndex

Index der AOI

INT

s32NumberOfCycleRepetitions

Anzahl der Auslesezyklen

INT

s32X

X-Position der AOI

INT

x32Y

Y-Position der AOI

DOUBLE

dblExposure

Belichtung

INT

s32Gain

Verstärkung

INT

s32BinningMode

Binning-Modus (In Version 4.92.0 noch nicht unterstützt.)

INT

s32SubsamplingMode

Subsampling-Modus (In Version 4.92.0 noch nicht unterstützt.)

INT

s32DetachImageParameters

•0 = jede Änderung der Belichtungszeit und der Verstärkung (Master-Gain) wird von AOI 1 auf die zusätzlichen AOIs übertragen (Standardeinstellung).
Da eine Änderung der AOI-Position von AOI 1 ebenfalls die Belichtungszeit neu setzt, wird diese auch für AOI 2, 3 und 4 übernommen.

•1 = eine Änderung der Belichtungszeit, der Verstärkung (Gain) und der Position von AOI 1 wirkt sich nicht auf die Parameter von AOI 2, 3 und 4 aus.

DOUBLE

dblScalerFactor

Faktor für Bildskalierung (In Version 4.92.0 noch nicht unterstützt.)

INT

s32InUse

Gibt zurück, ob die AOI gerade verwendet wird.

BYTE

byReserved[60]

Reserviert

Beispiel 1 für Sequenz-AOI-Modus

INT nSequenceAOI = 0;

if (is_AOI(m_hCam, IS_AOI_SEQUENCE_GET_SUPPORTED,

          (void*)&nSequenceAOI, sizeof(nSequenceAOI)) == IS_SUCCESS)

{

// Sequence AOI 2 is supported

if ((nSequenceAOI & IS_AOI_SEQUENCE_INDEX_AOI_2) != 0);

}

Beispiel 2 für Sequenz-AOI-Modus

AOI_SEQUENCE_PARAMS Param;

 

// Set parameters of AOI 2

Param.s32AOIIndex = IS_AOI_SEQUENCE_INDEX_AOI_2;

Param.s32NumberOfCycleRepetitions = 1;

Param.s32X = 100;

Param.s32Y = 200;

...

 

INT nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_PARAMS, (void*)&Param, sizeof(Param));

 

// Get parameters of AOI 2

Param.s32AOIIndex = IS_AOI_SEQUENCE_INDEX_AOI_2;

 

nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_GET_PARAMS, (void*)&Param, sizeof(Param));

Beispiel 3 für Sequenz-AOI-Modus

INT nMask = 0;

 

// Enable AOI 1, Disable AOI 2, 3 and 4

nMask = IS_AOI_SEQUENCE_INDEX_AOI_1;

 

INT nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));

 

// Enable AOI 1 and 2

nMask = IS_AOI_SEQUENCE_INDEX_AOI_1 |

      IS_AOI_SEQUENCE_INDEX_AOI_2;

 

nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));

 

// Enable AOI 1, 2 and 3

nMask = IS_AOI_SEQUENCE_INDEX_AOI_1 |

      IS_AOI_SEQUENCE_INDEX_AOI_2 |

      IS_AOI_SEQUENCE_INDEX_AOI_3;

 

nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));

 

// Enable AOI 1, 2, 3 and 4

nMask = IS_AOI_SEQUENCE_INDEX_AOI_1 |

      IS_AOI_SEQUENCE_INDEX_AOI_2 |

      IS_AOI_SEQUENCE_INDEX_AOI_3 |

      IS_AOI_SEQUENCE_INDEX_AOI_4;

 

nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_SET_ENABLE, (void*)&nMask, sizeof(nMask));

 

// Get current AOI mask

INT nRet = is_AOI(m_hCam, IS_AOI_SEQUENCE_GET_ENABLE, (void*)&nMask, sizeof(nMask));

Haben Sie Verbesserungshinweise? Senden Sie ein kurzes Feedback zu diesem Kapitel. Vielen Dank!
Bei technischen Fragen wenden Sie sich bitte an Ihren lokalen Händler oder nutzen Sie das Support-Formular auf unserer Internetseite.


© 2019 IDS Imaging Development Systems GmbH
https://de.ids-imaging.com