Pulsweitenmodulation verwenden

uEye Kamera-Handbuch Version 4.92


Pulsweitenmodulation verwenden

Windows_Logo
Linux_Logo

USB 3.0

GigE

USB 3.0

GigE

Syntax

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

Beschreibung

Für die Pulsweitenmodulation können Sie entweder den Blitzausgang oder die zusätzlichen digitalen Ausgänge (GPIO) einiger uEye Modelle verwenden. Informationen zur Beschaltung der GPIO finden Sie im Kapitel D: Spezifikation.

Die Pulsweitenmodulation wird unterstützt von allen GigE uEye Kameras, USB 3 uEye Kameras und uEye SE USB 3.1 Gen 1 Kameras. Sie wird nicht unterstützt von UI-359xLE Rev. 1, UI-3013XC sowie uEye LE USB 3.1 Gen 1.

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

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

Inhalte der Struktur IO_PWM_PARAMS

double

dblFrequency_Hz

Frequenz der Pulsweitenmodulation (PWM)

1,0…10 000 Hz

double

dbl_DutyCycle

Tastverhältnis der Pulsweitenmodulation (PWM-Breite)

0,0…1,0 (1,0 entspricht 100 %)

Beispiel 1

INT nRet = IS_SUCCESS;

 

// Get all GPIOs that can be used as flash output

UINT nGPIOs_Flash = 0;

INT nRet = is_IO(m_hCam, IS_IO_CMD_FLASH_GET_SUPPORTED_GPIOS, (void*)&nGPIOs_Flash, sizeof(nGPIOs_Flash));

 

// Get all GPIOs that can be used for the PWM

UINT nGPIOs_PWM = 0;

INT nRet = is_IO(m_hCam, IS_IO_CMD_PWM_GET_SUPPORTED_GPIOS, (void*)&nGPIOs_PWM, sizeof(nGPIOs_PWM));

Beispiel 2

INT nRet = IS_SUCCESS;

 

// Set GPIO1 as PWM output

UINT nMode = IO_GPIO_1;

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_SET_MODE, (void*)&nMode, sizeof(nMode));

 

// Set GPIO1, GPIO2 and the flash pin as PWM output

nMode = IO_GPIO_1 | IO_GPIO_2 | IS_FLASH_MODE_PWM;

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_SET_MODE, (void*)&nMode, sizeof(nMode));

 

// Get the current PWM mode

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_GET_MODE, (void*)&nMode, sizeof(nMode));

Beispiel 3

INT nRet = IS_SUCCESS;

 

IO_PWM_PARAMS m_pwmParams;

 

// Get the minimum values of the PWM parameters

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_GET_PARAMS_MIN, (void*)&m_pwmParams, sizeof(m_pwmParams));

if (nRet == IS_SUCCESS)

{

  double dblFrequencyMin = m_pwmParams.dblFrequency_Hz;

  double dblDutyCycleMin = m_pwmParams.dblDutyCycle;

}

 

// Get the maximum values of the PWM parameters

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_GET_PARAMS_MAX, (void*)&m_pwmParams, sizeof(m_pwmParams));

if (nRet == IS_SUCCESS)

{

  double dblFrequencyMax = m_pwmParams.dblFrequency_Hz;

  double dblDutyCycleMax = m_pwmParams.dblDutyCycle;

}

 

// Get the increment of the PWM parameters

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_GET_PARAMS_INC, (void*)&m_pwmParams, sizeof(m_pwmParams));

if (nRet == IS_SUCCESS)

{

  double dblFrequencyInc = m_pwmParams.dblFrequency_Hz;

  double dblDutyCycleInc = m_pwmParams.dblDutyCycle;

}

 

// Get the current values of the PWM parameters

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_GET_PARAMS, (void*)&m_pwmParams, sizeof(m_pwmParams));

if (nRet == IS_SUCCESS)

{

  double dblFrequency = m_pwmParams.dblFrequency_Hz;

  double dblDutyCycle = m_pwmParams.dblDutyCycle;

}

 

// Set the current values of the PWM parameters (1 KHz, 50% duty cycle)

m_pwmParams.dblFrequency_Hz = 1000;

m_pwmParams.dblDutyCycle = 0.5;

nRet = is_IO(m_hCam, IS_IO_CMD_PWM_SET_PARAMS, (void*)&m_pwmParams, sizeof(m_pwmParams));

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