Multi-Integration-Modus verwenden

uEye Kamera-Handbuch Version 4.92


Multi-Integration-Modus verwenden

Windows_Logo
Linux_Logo

USB 3.0

USB 3.0

Syntax

INT is_DeviceFeature (HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)

Beschreibung

Mit is_DeviceFeature() können kameraspezifische Funktionen einiger uEye-Modelle konfiguriert werden:

•Beim Modell UI-325x: Steuern des Multi-Integration-Modus, siehe uEye Cockpit: Shutter. Der Multi-Integration-Modus kann nur im getriggerten Betrieb verwendet werden.

hint_info

Hinweis: Wechseln Sie mit is_SetExternalTrigger() in den Trigger-Modus, bevor Sie den Multi-Integration-Modus aktivieren.

Ü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 cbSizeOfParam angegeben.

hint_info

Hinweis: Wenn Sie is_ResetToDefault() verwenden, um die Kamera auf die Standardwerte zurückzusetzen, wird der Multi-Integration-Modus deaktiviert. Auch wird dieser Modus nicht in der uEye Parameterdatei (ini-Datei) für die Kamera gespeichert.

Übergabeparameter

hCam

Handle auf Kamera

pParam

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

cbSizeOfParam

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

Statusflags aus DEVICE_FEATURE_MODE_CAPS

IS_DEVICE_FEATURE_CAP_MULTI_INTEGRATION

Der Multi-Integration-Modus wird unterstützt.

Inhalte der Struktur IS_MULTI_INTEGRATION_CYCLES

double

dblIntegration_ms

Pulsdauer in Millisekunden

double

dblPause_ms

Pausenzeit in Millisekunden

Inhalte der Struktur IS_MULTI_INTEGRATION_SCOPE

double

dblMinIntegration_ms

Minimale Pulsdauer (Belichtungszeit) in Millisekunden

double

dblMaxIntegration_ms

Maximale Pulsdauer (Belichtungszeit) in Millisekunden

double

dblIntegrationGranularity_ms

Schrittweite für die Pulsdauer (Belichtungszeit) in Millisekunden

double

dblMinPause_ms

Minimalen Pausenzeit in Millisekunden

double

dblMaxPause_ms

Maximale Pausenzeit in Millisekunden

double

dblPauseGranularity_ms

Schrittweite für die Pausenzeit in Millisekunden

double

dblMinCycle_ms

Minimale Zyklusdauer (Pulsdauer und Pausenzeit) in Millisekunden

double

dblMaxCycle_ms

Maximale Zyklusdauer (Pulsdauer und Pausenzeit) in Millisekunden

double

dblCycleGranularity_ms

Schrittweite für den Zyklus in Millisekunden

double

dblMinTriggerCycle_ms

Minimale Dauer des Triggerzyklus (erster Zyklus = Triggerpuls + Triggerpause) in Millisekunden

double

dblMinTriggerDuration_ms

Minimale Dauer des ersten Pulses (Triggerpuls) in Millisekunden

UINT

nMinNumberOfCycles

Minimale Anzahl an Wiederholungen

UINT

nMaxNumberOfCycles

Maximale Anzahl an Wiederholungen

BYTE

m_bReserved[32]

reserviert

Beispiel

/* Switch into trigger mode before activating multi integration mode */
INT nRet = is_SetExternalTrigger(m_hCam, IS_SET_TRIGGER_SOFTWARE);

 
/* Get the scope for the multi integration params */
IS_MULTI_INTEGRATION_SCOPE scopeMIM;
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_SCOPE, (void*)&scopeMIM, sizeof(scopeMIM));
if (nRet == IS_SUCCESS)
{
double dblMinIntegration_ms = scopeMIM.dblMinIntegration_ms;
...
}
 
/* Init the multi integration params */
IS_MULTI_INTEGRATION_CYCLES * mimCycles =
new IS_MULTI_INTEGRATION_CYCLES[scopeMIM.nMaxNumberOfCycles](); /* Always use maximum available number */
 
mimCycles[0].dblIntegration_ms = 0.0010; /* 1 us high */
mimCycles[0].dblPause_ms = 0.0150; /* 15 us pause */
mimCycles[1] ...
...
 
/* Set the multi integration params */
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_SET_PARAMS, (void*)mimCycles, m_sScope.nMaxNumberOfCycles * sizeof(IS_MULTI_INTEGRATION_CYCLES));
 
/* Read back the multi integration params */
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_PARAMS, (void*)mimCycles, m_sScope.nMaxNumberOfCycles * sizeof(IS_MULTI_INTEGRATION_CYCLES));
 
/* Get the default value for the multi integration mode */
UINT u32Mode;

nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_MODE_DEFAULT, (void*)&u32Mode, sizeof(u32Mode));
 
/* Get the current multi integration mode */
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_GET_MODE, (void*)&u32Mode, sizeof(u32Mode));
 
/* Set a new mode */
u32Mode = MULTI_INTEGRATION_MODE_SOFTWARE;
nRet = is_DeviceFeature(m_hCam, IS_DEVICE_FEATURE_CMD_MULTI_INTEGRATION_SET_MODE, (void*)&u32Mode, sizeof(u32Mode));

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