NI DCPOWER Configure Functions - ni/grpc-device GitHub Wiki

Configure Functions

niDCPower_ConfigureVoltageLevel

ViStatus niDCPower_ConfigureVoltageLevel(ViSession vi, ViConstString channelName, ViReal64 level);

Purpose

Configures the voltage level that the specified channel(s) attempt to generate. A channel must be enabled for the specified voltage level to take effect. Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling an output channel.

The voltage level setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_VOLTAGE. Use niDCPower_ConfigureOutputFunction to set the output function.

Channels actively regulate the voltage at the specified level unless doing so causes a current output greater than the current limit across the channels' output terminals.

Related Topics:

Constant Voltage Mode

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

level ViReal64 Specifies the voltage level, in volts, for the output channel(s) generation.

Valid Values:
The valid values for this parameter are defined by the voltage level range that is selected using the niDCPower_ConfigureVoltageLevelRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureVoltageLevelRange

ViStatus niDCPower_ConfigureVoltageLevelRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the voltage level range for the specified channel(s). The configured range defines the valid values the voltage level can be set to using the niDCPower_ConfigureVoltageLevel function. The voltage level range setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_VOLTAGE. Use niDCPower_ConfigureOutputFunction to set the output function.

Use the NIDCPOWER_ATTR_VOLTAGE_LEVEL_AUTORANGE attribute to enable automatic selection of the voltage level range.

Related Topics:

Ranges

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the voltage level range, in volts, on the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureCurrentLimit

ViStatus niDCPower_ConfigureCurrentLimit(ViSession vi, ViConstString channelName, ViInt32 behavior, ViReal64 limit);

Purpose

Configures the current limit for the specified channel(s). The channel must be enabled for the specified current limit to take effect. Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel.

The current limit is the current that the output should not exceed when generating the desired voltage level. The current limit setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_VOLTAGE. Use niDCPower_ConfigureOutputFunction to set the output function.

Related Topics:

Compliance

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

behavior ViInt32 Specifies how the output should behave when the current limit is reached.

Defined Values:
NIDCPOWER_VAL_CURRENT_REGULATE Controls output current so that it does not exceed the current limit. Power continues to generate even if the current limit is reached.

|limit|ViReal64|Specifies the current limit, in amps, on the specified channel(s). The limit is specified as a positive value, but symmetric positive and negative limits are enforced simultaneously.

Valid Values:
The valid values for this parameter are defined by the current limit range that is configured using the niDCPower_ConfigureCurrentLimitRange function.|

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureCurrentLimitRange

ViStatus niDCPower_ConfigureCurrentLimitRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the current limit range for the specified channel(s).The configured range defines the valid values the current limit can be set to using the niDCPower_ConfigureCurrentLimit function. The current limit range setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_VOLTAGE. Use niDCPower_ConfigureOutputFunction to set the output function.

Use the NIDCPOWER_ATTR_CURRENT_LIMIT_AUTORANGE attribute to enable automatic selection of the current limit range.

Related Topics:

Ranges

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the current limit range, in amps, for the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureOutputResistance

ViStatus niDCPower_ConfigureOutputResistance(ViSession vi, ViConstString channelName, ViReal64 resistance);

Purpose

Configures the output resistance that the specified channel(s) attempt to generate. A channel must be enabled for the specified output resistance to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel.

Channels actively regulate the current and voltage to reach the specified output resistance, although in DC Voltage output mode, the voltage at the output experiences a "virtual drop" that is proportional to its current. In DC Current output mode, the output experiences a "virtual leakage current" that is proportional to the output voltage.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Depending on the instrument, output resistance is configurable only if you set the output function of the channel using the niDCPower_ConfigureOutputFunction function as follows:

  • PXIe-4141, PXIe-4143, PXIe-4145: NIDCPOWER_VAL_DC_VOLTAGE
  • PXIe-4135, PXIe-4137, PXIe-4139, PXIe-4147: NIDCPOWER_VAL_DC_CURRENT or NIDCPOWER_VAL_DC_VOLTAGE

Details: Programmable Resistance Range and Merged Channels

Using the NIDCPOWER_ATTR_MERGED_CHANNELS attribute to merge SMU outputs affects the valid output resistance range you can program. Refer to Effect of Merging Channels on Other Functions and Properties for details.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

resistance ViReal64 Specifies the output resistance, in ohms, for the specified channel(s). For more information about configuring output resistance, refer to the topic on output resistance for your instrument.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureCurrentLevel

ViStatus niDCPower_ConfigureCurrentLevel(ViSession vi, ViConstString channelName, ViReal64 level);

Purpose

Configures the current level that the specified channel(s) attempt to generate. A channel must be enabled for the specified current level to take effect. Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel.

The current level setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_CURRENT. Use niDCPower_ConfigureOutputFunction to set the output function. Channels actively regulate the current at the specified level unless doing so causes a voltage greater than the voltage limit across the channels' output terminals.

Related Topics:

Constant Current Mode

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

level ViReal64 Specifies the current level, in amps, to generate for the specified channel(s).

Valid Values:
The valid values for this parameter are defined by the current level range that is configured using the niDCPower_ConfigureCurrentLevelRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureCurrentLevelRange

ViStatus niDCPower_ConfigureCurrentLevelRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the current level range for the specified channel(s). The configured range defines the valid values the current level can be set to using the niDCPower_ConfigureCurrentLevel function. The current level range setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_CURRENT. Use niDCPower_ConfigureOutputFunction to set the output function.

Use the NIDCPOWER_ATTR_CURRENT_LEVEL_AUTORANGE attribute to enable automatic selection of the current level range.

Related Topics:

Ranges

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the current level range, in amps, for the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureVoltageLimit

ViStatus niDCPower_ConfigureVoltageLimit(ViSession vi, ViConstString channelName, ViReal64 limit);

Purpose

Configures the voltage limit for the specified channel(s). The channel must be enabled for the specified voltage limit to take effect. Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel.

The voltage limit is the voltage that the output should not exceed when generating the desired current level. The voltage limit setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_CURRENT. Use niDCPower_ConfigureOutputFunction to set the output function.

Related Topics:

Compliance

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

limit ViReal64 Specifies the voltage limit, in volts, on the specified output channel(s). The limit is specified as a positive value, but symmetric positive and negative limits are enforced simultaneously.

Valid Values:
The valid values for this parameter are defined by the voltage limit range that is configured using the niDCPower_ConfigureVoltageLimitRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureVoltageLimitRange

ViStatus niDCPower_ConfigureVoltageLimitRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the voltage limit range for the specified channel(s). The configured range defines the valid values the voltage limit can be set to using the niDCPower_ConfigureVoltageLimit function. The voltage limit range setting is applicable only if the output function of the channel is set to NIDCPOWER_VAL_DC_CURRENT. Use niDCPower_ConfigureOutputFunction to set the output function.

Use the NIDCPOWER_ATTR_VOLTAGE_LIMIT_AUTORANGE attribute to enable automatic selection of the voltage limit range.

Related Topics:

Ranges

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the voltage limit range, in volts, on the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseVoltageLevel

ViStatus niDCPower_ConfigurePulseVoltageLevel(ViSession vi, ViConstString channelName, ViReal64 level);

Purpose

Configures the pulse voltage level that specified channel(s) attempt to generate during the on phase of a pulse. A channel must be enabled for the specified voltage level to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse voltage level setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_VOLTAGE output function using the niDCPower_ConfigureOutputFunction function.

Channels actively regulate the voltage at the specified level unless doing so causes a current greater than the pulse current limit through the channels' output terminals.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

level ViReal64 Specifies the pulse voltage level, in volts, for the output channel(s) generation.

Valid Values:
The valid values for this parameter are defined by the voltage level range that is selected using the niDCPower_ConfigurePulseVoltageLevelRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseVoltageLevelRange

ViStatus niDCPower_ConfigurePulseVoltageLevelRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the pulse voltage level range for the specified channel(s).

The configured range defines the valid values to which you can set the pulse voltage level and pulse bias voltage level using the niDCPower_ConfigurePulseVoltageLevel and niDCPower_ConfigurePulseBiasVoltageLevel functions. The pulse voltage level range setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_VOLTAGE output function using the niDCPower_ConfigureOutputFunction function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the pulse voltage level range, in volts, on the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseBiasVoltageLevel

ViStatus niDCPower_ConfigurePulseBiasVoltageLevel(ViSession vi, ViConstString channelName, ViReal64 level);

Purpose

Configures the pulse bias voltage level that the specified channel(s) attempt to generate during the off phase of a pulse. The channel must be enabled for the specified voltage level to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse bias voltage level setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_VOLTAGE output function using the niDCPower_ConfigureOutputFunction function.

Channels actively regulate the voltage at the specified level unless doing so causes a current greater than the pulse bias current limit through the channels' output terminals.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

level ViReal64 Specifies the pulse bias voltage level, in volts, for the output channel(s) generation.

Valid Values:
The valid values for this parameter are defined by the pulse voltage level range that is selected using the niDCPower_ConfigurePulseVoltageLevelRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseCurrentLimit

ViStatus niDCPower_ConfigurePulseCurrentLimit(ViSession vi, ViConstString channelName, ViReal64 limit);

Purpose

Configures the pulse current limit for the specified channel(s). A channel must be enabled for the specified current limit to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse current limit is the current that the output must not exceed when generating the desired pulse voltage level. The pulse current limit setting is only applicable if the channel is set to the NIDCPOWER_VAL_PULSE_VOLTAGE output function using the niDCPower_ConfigureOutputFunction function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

limit ViReal64 Specifies the pulse current limit, in amps, on the specified channel(s). The limit is specified as a positive value, but symmetric positive and negative limits are enforced simultaneously.

Valid Values:
The valid values for this parameter are defined by the pulse current limit range that is configured using the niDCPower_ConfigurePulseCurrentLimitRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseCurrentLimitRange

ViStatus niDCPower_ConfigurePulseCurrentLimitRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the pulse current limit range for the specified channel(s).

The configured range defines the valid values to which you can set the pulse current limit and pulse bias current limit using the niDCPower_ConfigurePulseCurrentLimit and niDCPower_ConfigurePulseBiasCurrentLimit functions. The pulse current limit range setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_VOLTAGE output function using the niDCPower_ConfigureOutputFunction function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the pulse current limit range, in amps, on the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseBiasCurrentLimit

ViStatus niDCPower_ConfigurePulseBiasCurrentLimit(ViSession vi, ViConstString channelName, ViReal64 limit);

Purpose

Configures the pulse bias current limit for the specified channel(s). A channel must be enabled for the specified current limit to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse bias current limit is the current that the output must not exceed when generating the desired pulse bias voltage level. The pulse bias current limit setting is only applicable if the channel is set to the NIDCPOWER_VAL_PULSE_VOLTAGE output function using the niDCPower_ConfigureOutputFunction function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

limit ViReal64 Specifies the pulse bias current limit, in amps, on the specified channel(s). The limit is specified as a positive value, but symmetric positive and negative limits are enforced simultaneously.

Valid Values:
The valid values for this parameter are defined by the pulse current limit range that is configured using the niDCPower_ConfigurePulseCurrentLimitRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseCurrentLevel

ViStatus niDCPower_ConfigurePulseCurrentLevel(ViSession vi, ViConstString channelName, ViReal64 level);

Purpose

Configures the pulse current level that the specified channel(s) attempt to generate during the on phase of a pulse. A channel must be enabled for the specified current level to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse current level setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_CURRENT output function using the niDCPower_ConfigureOutputEnabled function.

Channels actively regulate the current at the specified level unless doing so causes a voltage drop greater than the pulse voltage limit across the channels' output terminals.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

level ViReal64 Specifies the pulse current level, in amps, on the specified channel(s).

Valid Values:
The valid values for this parameter are defined by the pulse current level range that is configured using the niDCPower_ConfigureCurrentPulseLevelRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseCurrentLevelRange

ViStatus niDCPower_ConfigurePulseCurrentLevelRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the pulse current level range for the specified channel(s).

The configured range defines the valid values to which you can set the pulse current level and pulse bias current level using the niDCPower_ConfigurePulseCurrentLevel and niDCPower_ConfigurePulseBiasCurrentLevel functions. The pulse current level range setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_CURRENT output function using the niDCPower_ConfigureOutputFunction function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the pulse current level range, in amps, on the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseBiasCurrentLevel

ViStatus niDCPower_ConfigurePulseBiasCurrentLevel(ViSession vi, ViConstString channelName, ViReal64 level);

Purpose

Configures the pulse bias current level that the specified channel(s) attempt to generate during the off phase of a pulse. A channel must be enabled for the specified current level to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse current level setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_CURRENT output function using the niDCPower_ConfigureOutputFunction function.

Channels actively regulate the current at the specified level unless doing so causes a voltage drop greater than the pulse bias voltage limit across the channels' output terminals.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

level ViReal64 Specifies the pulse bias current level, in amps, on the specified channel(s).

Valid Values:
The valid values for this parameter are defined by the pulse current level range that is configured using the niDCPower_ConfigurePulseCurrentLevelRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseVoltageLimit

ViStatus niDCPower_ConfigurePulseVoltageLimit(ViSession vi, ViConstString channelName, ViReal64 limit);

Purpose

Configures the pulse voltage limit for the specified channel(s). A channel must be enabled for the specified voltage limit to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse voltage limit is the voltage that the output must not exceed when generating the desired pulse current level. The pulse voltage limit setting is only applicable if the channel is set to the NIDCPOWER_VAL_PULSE_CURRENT output function using the niDCPower_ConfigureOutputFunction function.

Note This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

limit ViReal64 Specifies the pulse voltage limit, in volts, on the specified output channel(s). The limit is specified as a positive value, but symmetric positive and negative limits are enforced simultaneously.

Valid Values:
The valid values for this parameter are defined by the pulse voltage limit range that is configured using the niDCPower_ConfigurePulseVoltageLimitRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseVoltageLimitRange

ViStatus niDCPower_ConfigurePulseVoltageLimitRange(ViSession vi, ViConstString channelName, ViReal64 range);

Purpose

Configures the pulse voltage limit range for the specified channel(s).

The configured range defines the valid values to which you can set the pulse voltage limit and pulse bias voltage limit using the niDCPower_ConfigurePulseVoltageLimit and niDCPower_ConfigurePulseBiasVoltageLimit functions. The pulse voltage limit range setting is applicable only if the channel is set to the NIDCPOWER_VAL_PULSE_CURRENT output function using the niDCPower_ConfigureOutputFunction function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices .

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

range ViReal64 Specifies the pulse voltage limit range, in volts, on the specified channel(s).

For valid ranges, refer to the Ranges topic for your device in the NI DC Power Supplies and SMUs Help.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigurePulseBiasVoltageLimit

ViStatus niDCPower_ConfigurePulseBiasVoltageLimit(ViSession vi, ViConstString channelName, ViReal64 limit);

Purpose

Configures the pulse bias voltage limit for the specified channel(s). A channel must be enabled for the specified voltage limit to take effect.

Refer to the niDCPower_ConfigureOutputEnabled function for more information about enabling the output channel. The pulse bias voltage limit is the voltage that the output must not exceed when generating the desired pulse bias current level. The pulse bias voltage limit setting is only applicable if the channel is set to the NIDCPOWER_VAL_PULSE_CURRENT output function using the niDCPower_ConfigureOutputFunction function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

limit ViReal64 Specifies the pulse bias voltage limit, in volts, on the specified channel(s). The limit is specified as a positive value, but symmetric positive and negative limits are enforced simultaneously.

Valid Values:
The valid values for this parameter are defined by the pulse voltage limit range that is configured using the niDCPower_ConfigurePulseVoltageLimitRange function.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_CreateAdvancedSequenceWithChannels

ViStatus niDCPower_CreateAdvancedSequenceWithChannels(ViSession vi, ViConstString sequenceName, ViInt32 attributeIDCount,ViInt32 attributeIDs[], viBoolean setAsActiveSequence);

Purpose

Creates an empty advanced sequence. Call the niDCPower_CreateAdvancedSequenceStepWithChannels function to add steps to the active advanced sequence or, optionally, the niDCPower_CreateAdvancedSequenceCommitStepWithChannels function to add a Commit step to the active advanced sequence.

You can create multiple advanced sequences for a channel. Advanced sequences for a particular channel are independent from any advanced sequences of other channels. You can configure advanced sequences for one channel at a time or you can confiugre identical advanced sequences for multiple channels in unison.

Note  Each channel can have only one active advanced sequence at a time Support for this function

You must set the source mode to Sequence to use this function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices Using the niDCPower_SetSequence function with Advanced Sequence functions for the same channel in the same session is unsupported.

Use this function in the Uncommitted or Committed programming states.

Related Topics:

Advanced Sequence Mode

Programming States

niDCPower_CreateAdvancedSequenceStep

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

sequenceName ViConstString Specifies the name of the sequence to create.
attributeIDCount ViInt32 Specifies the number of attributes in the attributeIDs array.
attributeIDs ViInt32[] Specifies the attributes you reconfigure per step in the advanced sequence. The following table lists which attributes can be configured in an advanced sequence for each NI-DCPower device that supports advanced sequencing. A ✓ indicates that the attribute can be configured in advanced sequencing. An ✕ indicates that the attribute cannot be configured in advanced sequencing.
Attribute PXIe-4135 PXIe-4136 PXIe-4137 PXIe-4138 PXIe-4139 PXIe-4140/4142/4144 PXIe-4141/4143/4145 PXIe-4147 PXIe-4162/4163
NIDCPOWER_ATTR_DC_NOISE_REJECTION
NIDCPOWER_ATTR_APERTURE_TIME
NIDCPOWER_ATTR_MEASURE_RECORD_LENGTH
NIDCPOWER_ATTR_SENSE
NIDCPOWER_ATTR_OVP_ENABLED
NIDCPOWER_ATTR_OVP_LIMIT
NIDCPOWER_ATTR_PULSE_BIAS_DELAY
NIDCPOWER_ATTR_PULSE_OFF_TIME
NIDCPOWER_ATTR_PULSE_ON_TIME
NIDCPOWER_ATTR_SOURCE_DELAY
NIDCPOWER_ATTR_CURRENT_COMPENSATION_FREQUENCY
NIDCPOWER_ATTR_CURRENT_GAIN_BANDWIDTH
NIDCPOWER_ATTR_CURRENT_POLE_ZERO_RATIO
NIDCPOWER_ATTR_VOLTAGE_COMPENSATION_FREQUENCY
NIDCPOWER_ATTR_VOLTAGE_GAIN_BANDWIDTH
NIDCPOWER_ATTR_VOLTAGE_POLE_ZERO_RATIO
NIDCPOWER_ATTR_CURRENT_LEVEL
NIDCPOWER_ATTR_CURRENT_LEVEL_RANGE
NIDCPOWER_ATTR_VOLTAGE_LIMIT
NIDCPOWER_ATTR_VOLTAGE_LIMIT_HIGH
NIDCPOWER_ATTR_VOLTAGE_LIMIT_LOW
NIDCPOWER_ATTR_VOLTAGE_LIMIT_RANGE
NIDCPOWER_ATTR_CURRENT_LIMIT
NIDCPOWER_ATTR_CURRENT_LIMIT_HIGH
NIDCPOWER_ATTR_CURRENT_LIMIT_LOW
NIDCPOWER_ATTR_CURRENT_LIMIT_RANGE
NIDCPOWER_ATTR_VOLTAGE_LEVEL
NIDCPOWER_ATTR_VOLTAGE_LEVEL_RANGE
NIDCPOWER_ATTR_OUTPUT_ENABLED
NIDCPOWER_ATTR_OUTPUT_FUNCTION
NIDCPOWER_ATTR_OUTPUT_RESISTANCE
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LEVEL
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LIMIT
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_CURRENT_LEVEL
NIDCPOWER_ATTR_PULSE_CURRENT_LEVEL_RANGE
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT_RANGE
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LIMIT
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LEVEL
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT_RANGE
NIDCPOWER_ATTR_PULSE_VOLTAGE_LEVEL
NIDCPOWER_ATTR_PULSE_VOLTAGE_LEVEL_RANGE
NIDCPOWER_ATTR_TRANSIENT_RESPONSE

setAsActiveSequence ViBoolean Specifies that this current sequence is active.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_CreateAdvancedSequence

ViStatus niDCPower_CreateAdvancedSequence(ViSession vi, ViConstString sequenceName, ViInt32 attributeIDCount,ViInt32 attributeIDs[], viBoolean setAsActiveSequence);

Purpose

This function is deprecated. Use niDCPower_CreateAdvancedSequenceWithChannels instead.

Creates an empty advanced sequence. Call the niDCPower_CreateAdvancedSequenceStep function to add steps to the active advanced sequence.

You can create multiple advanced sequences in a session.

Support for this function

You must set the source mode to Sequence to use this function.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Using the niDCPower_SetSequence function with Advanced Sequence functions is unsupported.

Use this function in the Uncommitted or Committed programming states. Refer to the Programming States topic in the NI DC Power Supplies and SMUs Help for more information about NI-DCPower programming states.

Related Topics:

Advanced Sequence Mode

Programming States

niDCPower_CreateAdvancedSequenceStep

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
sequenceName ViConstString Specifies the name of the sequence to create.
attributeIDCount ViInt32 Specifies the number of attributes in the attributeIDs array.
attributeIDs ViInt32[] Specifies the attributes you reconfigure per step in the advanced sequence. The following table lists which attributes can be configured in an advanced sequence for each NI-DCPower device that supports advanced sequencing. A ✓ indicates that the attribute can be configured in advanced sequencing. An ✕ indicates that the attribute cannot be configured in advanced sequencing.
Attribute PXIe-4135 PXIe-4136 PXIe-4137 PXIe-4138 PXIe-4139 PXIe-4140/4142/4144 PXIe-4141/4143/4145 PXIe-4147 PXIe-4162/4163
NIDCPOWER_ATTR_DC_NOISE_REJECTION
NIDCPOWER_ATTR_APERTURE_TIME
NIDCPOWER_ATTR_MEASURE_RECORD_LENGTH
NIDCPOWER_ATTR_SENSE
NIDCPOWER_ATTR_COMPLIANCE_LIMIT_SYMMETRY
NIDCPOWER_ATTR_OVP_ENABLED
NIDCPOWER_ATTR_OVP_LIMIT
NIDCPOWER_ATTR_PULSE_BIAS_DELAY
NIDCPOWER_ATTR_PULSE_OFF_TIME
NIDCPOWER_ATTR_PULSE_ON_TIME
NIDCPOWER_ATTR_SOURCE_DELAY
NIDCPOWER_ATTR_CURRENT_COMPENSATION_FREQUENCY
NIDCPOWER_ATTR_CURRENT_GAIN_BANDWIDTH
NIDCPOWER_ATTR_CURRENT_POLE_ZERO_RATIO
NIDCPOWER_ATTR_VOLTAGE_COMPENSATION_FREQUENCY
NIDCPOWER_ATTR_VOLTAGE_GAIN_BANDWIDTH
NIDCPOWER_ATTR_VOLTAGE_POLE_ZERO_RATIO
NIDCPOWER_ATTR_CURRENT_LEVEL
NIDCPOWER_ATTR_CURRENT_LEVEL_RANGE
NIDCPOWER_ATTR_VOLTAGE_LIMIT
NIDCPOWER_ATTR_VOLTAGE_LIMIT_HIGH
NIDCPOWER_ATTR_VOLTAGE_LIMIT_LOW
NIDCPOWER_ATTR_VOLTAGE_LIMIT_RANGE
NIDCPOWER_ATTR_CURRENT_LIMIT
NIDCPOWER_ATTR_CURRENT_LIMIT_HIGH
NIDCPOWER_ATTR_CURRENT_LIMIT_LOW
NIDCPOWER_ATTR_CURRENT_LIMIT_RANGE
NIDCPOWER_ATTR_VOLTAGE_LEVEL
NIDCPOWER_ATTR_VOLTAGE_LEVEL_RANGE
NIDCPOWER_ATTR_OUTPUT_ENABLED
NIDCPOWER_ATTR_OUTPUT_FUNCTION
NIDCPOWER_ATTR_OUTPUT_RESISTANCE
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LEVEL
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LIMIT
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_CURRENT_LEVEL
NIDCPOWER_ATTR_PULSE_CURRENT_LEVEL_RANGE
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_VOLTAGE_LIMIT_RANGE
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LIMIT
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_BIAS_CURRENT_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_BIAS_VOLTAGE_LEVEL
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT_HIGH
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT_LOW
NIDCPOWER_ATTR_PULSE_CURRENT_LIMIT_RANGE
NIDCPOWER_ATTR_PULSE_VOLTAGE_LEVEL
NIDCPOWER_ATTR_PULSE_VOLTAGE_LEVEL_RANGE
NIDCPOWER_ATTR_TRANSIENT_RESPONSE

setAsActiveSequence ViBoolean Specifies that this current sequence is active.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_CreateAdvancedSequenceCommitStepWithChannels

ViStatus niDCPower_CreateAdvancedSequenceCommitStepWithChannels(ViSession vi, ViConstString channelName, viBoolean setAsActiveSequenceStep);

Purpose

Creates a Commit step in the Active advanced sequence. A Commit step configures channels to a user-defined known state before starting the advanced sequence.

Note  You can specify the Active advanced sequence using the NIDCPOWER_ATTR_ACTIVE_ADVANCED_SEQUENCE attribute.

When you create an advanced sequence step, each attribute you passed to the niDCPower_CreateAdvancedSequenceWithChannels function is reset to its default value for the new step. To configure the step, you must first designate the new step as the Active step using the NIDCPOWER_ATTR_ACTIVE_ADVANCED_SEQUENCE attribute or the setAsActiveStep parameter of this function. Once the step is Active, use set functions to configure new values for the step.

Support for this Function

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

You must set the source mode to NIDCPOWER_VAL_SEQUENCE to use this function.

Using the niDCPower_SetSequence function with Advanced Sequence functions for the same channel in the same session is unsupported.

When a Commit step exists in the Active advanced sequence, you cannot set the niDCPower_OutputFunction function to NIDCPOWER_VAL_PULSE_VOLTAGE or NIDCPOWER_VAL_PULSE_CURRENT in either the Commit step (-1) or step 0.

Details

When Does the Commit Step Run in a Sequence?

The driver applies the Commit step to a channel when it transitions to the Committed state. After the driver applies the Commit step to channels, the driver waits until the source delay has elapsed before waiting for the Start trigger.

**Note**

- You can provide a specific source delay for the Commit step if you set NIDCPOWER\_ATTR\_SOURCE\_DELAY as one of the attributes to be configured with the niDCPower\_CreateAdvancedSequenceWithChannels function.

- If you call niDCPower\_InitiateWithChannels while a channel is in the Uncommitted state, the channel implicitly moves through the Committed state before moving to the Running state.

Differences Between the Commit Step and Other Steps

  • The source unit does not wait on any triggers before running the Commit step.
  • The source unit does not emit a Source Complete Event when the Commit step is complete.
  • No measurements are taken in the Commit step, therefore you cannot set the NIDCPOWER_ATTR_APERTURE_TIME, NIDCPOWER_ATTR_MEASURE_RECORD_LENGTH, and NIDCPOWER_ATTR_DC_NOISE_REJECTION attributes in the Commit step.
  • The NIDCPOWER_ATTR_SEQUENCE_STEP_DELTA_TIME attribute does not apply to the Commit step, and you cannot configure the NIDCPOWER_ATTR_SEQUENCE_STEP_DELTA_TIME attribute in the Commit step.

Related Topics:

Advanced Sequence Mode

Programming States

niDCPower_CreateAdvancedSequence

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

setAsActiveStep ViBoolean Specifies that this current step in the active sequence is active.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function.

niDCPower_CreateAdvancedSequenceStepWithChannels

ViStatus niDCPower_CreateAdvancedSequenceStepWithChannels(ViSession vi, viBoolean setAsActiveSequenceStep);

Purpose

Creates a new advanced sequence step in the advanced sequence specified by the Active advanced sequence. When you create an advanced sequence step, each attribute you passed to the niDCPower_CreateAdvancedSequenceWithChannels function is reset to its default value for that step unless otherwise specified.

Support for this Function

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

You must set the source mode to NIDCPOWER_VAL_SEQUENCE to use this function.

Using the niDCPower_SetSequence function with Advanced Sequence functions for the same channel in the same session is unsupported.

Related Topics:

Advanced Sequence Mode

Programming States

niDCPower_CreateAdvancedSequenceWithChannels

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

setAsActiveStep ViBoolean Specifies that this current step in the active sequence is active.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_CreateAdvancedSequenceStep

ViStatus niDCPower_CreateAdvancedSequenceStep(ViSession vi, viBoolean setAsActiveSequenceStep);

Purpose

This function is deprecated. Use niDCPower_CreateAdvancedSequenceStepWithChannels instead.

Creates a new advanced sequence step in the advanced sequence specified by the Active advanced sequence. When you create an advanced sequence step, each attribute you passed to the niDCPower_CreateAdvancedSequence function is reset to its default value for that step unless otherwise specified.

Support for this Function

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

You must set the source mode to NIDCPOWER_VAL_SEQUENCE to use this function.

Using the niDCPower_SetSequence function with Advanced Sequence functions is unsupported.

Related Topics:

Advanced Sequence Mode

Programming States

niDCPower_CreateAdvancedSequence

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
setAsActiveStep ViBoolean Specifies that this current step in the active sequence is active.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_DeleteAdvancedSequenceWithChannels

ViStatus niDCPower_DeleteAdvancedSequenceWithChannels(ViSession vi, viConstString sequenceName);

Purpose

Deletes a previously created advanced sequence and all the advanced sequence steps in the advanced sequence.

Support for this Function

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

You must set the source mode to Sequence to use this function.

Using the niDCPower_SetSequence function with Advanced Sequence functions for the same channel in the same session is unsupported.

Related Topics:

Advanced Sequence Mode

Programming States

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

sequenceName ViConstString specifies the name of the sequence to delete.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_DeleteAdvancedSequence

ViStatus niDCPower_DeleteAdvancedSequence(ViSession vi, viConstString sequenceName);

Purpose

This function is deprecated. Use niDCPower_DeleteAdvancedSequenceWithChannels instead.

Deletes a previously created advanced sequence and all the advanced sequence steps in the advanced sequence.

Support for this Function

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

You must set the source mode to Sequence to use this function.

Using the niDCPower_SetSequence function with Advanced Sequence functions is unsupported.

Related Topics:

Advanced Sequence Mode

Programming States

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
sequenceName ViConstString specifies the name of the sequence to delete.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureSourceModeWithChannels

ViStatus niDCPower_ConfigureSourceModeWithChannels(ViSession vi, ViInt32 sourceMode);

Purpose

Configures the NIDCPOWER_ATTR_SOURCE_MODE attribute. Specifies whether to run a single output point or a sequence.

Related topics:

Single Point Source Mode

Sequence Source Mode

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

sourceMode ViInt32 Specifies the source mode for the specified channel(s).

Defined Values:
NIDCPOWER_VAL_SINGLE_POINT (1020) Applies a single source configuration.
NIDCPOWER_VAL_SEQUENCE (1021) Applies a list of voltage or current configurations sequentially.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureSourceMode

ViStatus niDCPower_ConfigureSourceMode(ViSession vi, ViInt32 sourceMode);

Purpose

This function is deprecated. Use niDCPower_ConfigureSourceModeWithChannels instead.

Configures the NIDCPOWER_ATTR_SOURCE_MODE attribute. Specifies whether to run a single output point or a sequence. Refer to the Single Point Source Mode topics in the NI DC Power Supplies and SMUs Help for more information about using this function.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
sourceMode ViInt32 Specifies the source mode for the NI-DCPower session.

Defined Values:
NIDCPOWER_VAL_SINGLE_POINT (1020) Applies a single source configuration.
NIDCPOWER_VAL_SEQUENCE (1021) Applies a list of voltage or current configurations sequentially.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureOutputFunction

ViStatus niDCPower_ConfigureOutputFunction(ViSession vi, ViConstString channelName, ViInt32 function);

Purpose

Configures the function the specified channel(s) attempt to generate.

When NIDCPOWER_VAL_DC_VOLTAGE is selected, a channel generates the desired voltage level on the output as long as the output current is below the current limit. The following functions can be used to configure the channel when NIDCPOWER_VAL_DC_VOLTAGE is selected:

  • niDCPower_ConfigureVoltageLevel
  • niDCPower_ConfigureCurrentLimit
  • niDCPower_ConfigureVoltageLevelRange
  • niDCPower_ConfigureCurrentLimitRange

When NIDCPOWER_VAL_DC_CURRENT is selected, a channel generates the desired current level on the output as long as the output voltage is below the voltage limit. The following functions can be used to configure the channel when NIDCPOWER_VAL_DC_CURRENT is selected:

  • niDCPower_ConfigureCurrentLevel
  • niDCPower_ConfigureVoltageLimit
  • niDCPower_ConfigureCurrentLevelRange
  • niDCPower_ConfigureVoltageLimitRange

When NIDCPOWER_VAL_PULSE_VOLTAGE is selected, a channel generates pulses at the desired voltage levels on the output as long as the output current is below the current limit. The following VIs can be used to configure the channel when NIDCPOWER_VAL_PULSE_VOLTAGE is selected:

  • niDCPower_ConfigurePulseVoltageLevel
  • niDCPower_ConfigurePulseBiasVoltageLevel
  • niDCPower_ConfigurePulseCurrentLimit
  • niDCPower_ConfigurePulseBiasCurrentLimit
  • niDCPower_ConfigurePulseVoltageLevelRange
  • niDCPower_ConfigurePulseCurrentLimitRange

When NIDCPOWER_VAL_PULSE_CURRENT is selected, a channel generates pulses at the desired current levels on the output as long as the output voltage is below the voltage limit. The following VIs can be used to configure the channel when NIDCPOWER_VAL_PULSE_CURRENT is selected:

  • niDCPower_ConfigurePulseCurrentLevel
  • niDCPower_ConfigurePulseBiasCurrentLevel
  • niDCPower_ConfigurePulseVoltageLimit
  • niDCPower_ConfigurePulseBiasVoltageLimit
  • niDCPower_ConfigurePulseCurrentLevelRange
  • niDCPower_ConfigurePulseVoltageLimitRange

Related Topics:

Constant Voltage Mode

Constant Current Mode

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

function ViInt32 Configures the function to generate for the specified channel(s).

Defined Values:
NIDCPOWER_VAL_DC_VOLTAGE (1006) Sets the output function to DC voltage.
NIDCPOWER_VAL_DC_CURRENT (1007) Sets the output function to DC current.
NIDCPOWER_VAL_PULSE_VOLTAGE (1049) Sets the output function to pulse voltage.
NIDCPOWER_VAL_PULSE_CURRENT (1050) Sets the output function to pulse current.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_SetSequence

ViStatus niDCPower_SetSequence(ViSession vi, ViConstString channelName, ViReal64 values[], ViReal64 sourceDelays[], ViUInt32 size);

Purpose

Configures a series of voltage or current outputs and corresponding source delays. The source mode must be set to Sequence for this function to take effect.

Use this function in the Uncommitted or Committed programming states.

Support for this Function

Using this function and advanced sequence functions for the same channel in the same session is not supported.

Note  This function is not supported on all devices. Refer to Supported Functions by Device for more information about supported devices.

Related topics:

Configuring the Source Unit

Programming States

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you do not pass this control, all channels in the session are used.

values ViReal64[] Specifies the series of voltage levels or current levels, depending on the configured [output function].

Valid Values:
The valid values for this parameter are defined by the voltage level range or current level range.
sourceDelays ViReal64[] Specifies the source delay that follows the configuration of each value in the sequence.

Valid Values:
The valid values are between 0 and 167 seconds.
size ViUInt32 The number of elements in the Values and the Source Delays arrays. The Values and Source Delays arrays should have the same size.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.

niDCPower_ConfigureOutputEnabled

ViStatus niDCPower_ConfigureOutputEnabled(ViSession vi, ViConstString channelName, ViBoolean enabled);

Purpose

Enables or disables generation on the specified channel(s). Depending on the selected output function, the voltage level, current level,or output resistance must be set in addition to enabling the output to generate the desired level. For more information about configuring the output level, refer to niDCPower_ConfigureOutputFunction.

Note  If a channel is in the Uncommitted state, enabling the output does not take effect until you call the niDCPower_InitiateWithChannels function.

Parameters

Input
Name Type Description
vi ViSession Identifies a particular instrument session. vi is obtained from the niDCPower_InitializeWithIndependentChannels function.
channelName ViConstString

Specifies the channel(s) to use. Specify the channel(s) using the form PXI1Slot3/0,PXI1Slot3/2-3,PXI1Slot4/2-3 or PXI1Slot3/0,PXI1Slot3/2:3,PXI1Slot4/2:3, where PXI1Slot3 and PXI1Slot4 are instrument resource names and 0, 2, and 3 are channels.

If you pass "" for this control, all channels in the session are used.

enabled ViBoolean Specifies whether the output channels are enabled or disabled.

Defined Values:
VI_TRUE Enables generation on the specified output channel(s).
VI_FALSE Disables generation on the specified output channel(s). This parameter has no effect on the output disconnect relay. To toggle the relay, use the NIDCPOWER_ATTR_OUTPUT_CONNECTED attribute.

The default value is VI_TRUE if you use the niDCPower_InitializeWithIndependentChannels function to open the session. Otherwise the default value is VI_FALSE, including when you use a calibration session.

Return Value

Name Type Description
Status ViStatus Reports the status of this operation. To obtain a text description of the status code, call the niDCPower_error_message function. To obtain additional information concerning the error condition, call the niDCPower_GetError function.
⚠️ **GitHub.com Fallback** ⚠️