Generates a series of pulses to the DUT and measures the forward current and voltage for each pulse.

Syntax

ni4133_Status NI4133_DECL ni4133_MeasurePulsedCurrentAndVoltage(ni4133_SessionHandle sessionHandle, double idleCurrentLevel, ni4133_PulseCurrentOutputRange pulseCurrentOutputRange, ni4133_MeasurementMode measurementMode, const PulseConfiguration pulseConfigurationList[], size_t numberOfPulseConfigurations, PulseMeasurementArray pulseMeasurementArray[], size_t pulseMeasurementArrayBufferSizeInBytes, size_t *requiredPulseMeasurementArrayBufferSizeInBytes)

Parameters

NameDirectionTypeDescription
sessionHandle[in]ni4133_SessionHandle

Specifies the session to measure.

idleCurrentLevel[in]double

Specifies the idle current level sourced between all pulses.

pulseCurrentOutputRange[in]ni4133_PulseCurrentOutputRange

Specifies the current output range of the pulse sequence.

Defined Values:

Name

Value

Description

ni4133_PulseCurrentOutputRange_FiveHundredMilliAmp

1 (0x1)

Configure the pulse current output range to be 500 milli Amp.

ni4133_PulseCurrentOutputRange_OneHundredMilliAmp

0 (0x0)

Configure the pulse current output range to be 100 milli Amp.

ni4133_PulseCurrentOutputRange_TenAmp

3 (0x3)

Configure the pulse current output range to be 10 Amp.

ni4133_PulseCurrentOutputRange_TwoPointFiveAmp

2 (0x2)

Configure the pulse current output range to be 2.5 Amp.

measurementMode[in]ni4133_MeasurementMode

Specifies how the measurement would be taken.

Defined Values:

Name

Value

Description

ni4133_MeasurementMode_Average

0 (0x0)

The acquired samples are averaged over the specified measurementTime and a single averaged measurement is returned.

ni4133_MeasurementMode_Waveform

1 (0x1)

The samples acquired over the specified measurementTime are returned.

pulseConfigurationList[in]const PulseConfiguration[]

An array that specifies the configuration of each pulse to generate.

PulseConfiguration:

Name

Type

Description

width

double

Specifies the pulse width in seconds.

currentLevel

double

Specifies the current level of the pulse in Amps.

measurementDelay

double

Specifies the delay, in seconds, between the start of the pulse and the measurement.

measurementTime

double

Specifies the time, in seconds, over which the current and voltage is measured. Increase this time to improve measurement resolution.

deadTime

double

Specifies the delay, in seconds, between the end of the pulse and the start of the next pulse.

numberOfPulseConfigurations[in]size_t

Specifies the number of pulse configurations to generate in for the pulseConfigurationList.

pulseMeasurementArray[out]PulseMeasurementArray[]

An array of PulseMeasurement structs where each struct contains an array of voltage and current measurements for each generated pulse.

PulseMeasurementArray:

Name

Type

Description

arraySize

size_t

Specifies the array size of the pulse measurement array.

PulseMeasurement

PulseMeasurement*

Specifies the pulse measurement array.

PulseMeasurement:

Name

Type

Description

numberOfMeasurements

uint32_t

Specifies the number of measurements in both voltage and current arrays of a single pulse.

current

double*

Specifies the current measurements of a single pulse.

voltage

double*

Specifies the voltage measurements of a single pulse.

pulseIndex

uint32_t

Specifies the index of the pulse in PulseConfiguration associated with the measurements.

deltaTime

double

Specifies the sampling period of the measurements.

pulseMeasurementArrayBufferSizeInBytes[in]size_t

Specifies the size of the pulse measurement array buffer in bytes.

Set this field to 0 to query the expected buffer size for a given set of parameters. The actual required buffer size is returned by requiredPulseMeasurementArrayBufferSizeInBytes.

requiredPulseMeasurementArrayBufferSizeInBytes[out]size_t *

Specified the required pulse measurement array buffer size in bytes.

Returns

Reports the status of this operation.

To obtain a text description of the status code, call ni4133_GetErrorDescription. The general meaning of the status code is as follows:

Value

Meaning

Positive Values

Warnings

Negative Values

Errors