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

Query Functions

niDCPower_QueryMaxCurrentLimit

ViStatus niDCPower_QueryMaxCurrentLimit(ViSession vi, ViConstString channelName, ViReal64 voltageLevel, ViReal64 *maxCurrentLimit);

Purpose

Queries the maximum current limit on an output channel if the output channel is set to the specified voltageLevel.

Parameters

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

Specifies the output channel to query. The maximum current limit may only be queried for one channel at a time.

Specify the channel using the form PXI1Slot3/0, where PXI1Slot3 is the instrument resource name and 0 is the channel.

voltageLevel ViReal64 Specifies the voltage level to use when calculating the maxCurrentLimit.
Output
Name Type Description
maxCurrentLimit ViReal64* Returns the maximum current limit that can be set with the specified voltageLevel.

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_QueryMaxVoltageLevel

ViStatus niDCPower_QueryMaxVoltageLevel(ViSession vi, ViConstString channelName, ViReal64 currentLimit, ViReal64 *maxVoltageLevel);

Purpose

Queries the maximum voltage level on an output channel if the output channel is set to the specified currentLimit.

Parameters

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

Specifies the output channel to query. The maximum voltage level may only be queried for one channel at a time.

Specify the channel using the form PXI1Slot3/0, where PXI1Slot3 is the instrument resource name and 0 is the channel.

currentLimit ViReal64 Specifies the current limit to use when calculating the maxVoltageLevel.
Output
Name Type Description
maxVoltageLevel ViReal64* Returns the maximum voltage level that can be set on an output channel with the specified currentLimit.

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_QueryMinCurrentLimit

ViStatus niDCPower_QueryMinCurrentLimit(ViSession vi, ViConstString channelName, ViReal64 voltageLevel, ViReal64 *minCurrentLimit);

Purpose

Queries the minimum current limit on an output channel if the output channel is set to the specified voltageLevel.

Parameters

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

Specifies the output channel to query. The minimum current limit may only be queried for one channel at a time.

Specify the channel using the form PXI1Slot3/0, where PXI1Slot3 is the instrument resource name and 0 is the channel.

voltageLevel ViReal64 Specifies the voltage level to use when calculating the minCurrentLimit.
Output
Name Type Description
minCurrentLimit ViReal64* Returns the minimum current limit that can be set on an output channel with the specified voltageLevel.

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_QueryLatchedOutputCutoffState

ViStatus niDCPower_QueryLatchedOutputCutoffState(ViSession vi, ViConstString channelName, ViInt32 outputCutoffReason ViBoolean* outputCutoffState);

Purpose

Discovers if an output cutoff limit was exceeded for the specified reason. When an output cutoff is engaged, the output of the channel(s) is disconnected. If a limit was exceeded, the state is latched until you clear it with niDCPower_ClearLatchedOutputCutoffState or niDCPower_ResetWithChannels.

outputCutoffReason specifies the conditions for which an output is disconnected.

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.

outputCutoffReason ViInt32 Specifies which output cutoff conditions to query.

Defined Values:
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_ALL (-1) Any output cutoff condition was met.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_VOLTAGE_OUTPUT_HIGH (1) The output exceeded the high cutoff limit for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_VOLTAGE_OUTPUT_LOW (2) The output fell below the low cutoff limit for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_CURRENT_MEASURE_HIGH (4) The measured current exceeded the high cutoff limit for current output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_CURRENT_MEASURE_LOW (8) The measured current fell below the low cutoff limit for current output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_POSITIVE_VOLTAGE_CHANGE (16) The voltage slew rate increased beyond the positive change cutoff for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_NEGATIVE_VOLTAGE_CHANGE (32) The voltage slew rate decreased beyond the negative change cutoff for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_POSITIVE_CURRENT_CHANGE (64) The current slew rate increased beyond the positive change cutoff for current output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_NEGATIVE_CURRENT_CHANGE (128) The current slew rate decreased beyond the negative change cutoff for current output.
Output
Name Type Description
outputCutoffState ViBoolean* Specifies whether an output cutoff has engaged.

Defined Values:
VI_TRUE An output cutoff has engaged for the conditions in outputCutoffReason.
VI_FALSE No output cutoff has engaged.

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_ClearLatchedOutputCutoffState

ViStatus niDCPower_ClearLatchedOutputCutoffState(ViSession vi, ViConstString channelName, ViInt32 outputCutoffReason);

Purpose

Clears the state of an output cutoff that was engaged.

To clear the state for all output cutoff reasons, use NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_ALL.

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.

outputCutoffReason ViInt32 Specifies the reasons for which to clear the output cutoff state.

Defined Values:
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_ALL (-1) Clears all output cutoff conditions.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_VOLTAGE_OUTPUT_HIGH (1) Clears cutoffs caused when the output exceeded the high cutoff limit for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_VOLTAGE_OUTPUT_LOW (2) Clears cutoffs caused when the output fell below the low cutoff limit for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_CURRENT_MEASURE_HIGH (4) Clears cutoffs caused when the measured current exceeded the high cutoff limit for current output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_CURRENT_MEASURE_LOW (8) Clears cutoffs caused when the measured current fell below the low cutoff limit for current output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_POSITIVE_VOLTAGE_CHANGE (16) Clears cutoffs caused when the voltage slew rate increased beyond the positive change cutoff for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_NEGATIVE_VOLTAGE_CHANGE (32) Clears cutoffs caused when the voltage slew rate decreased beyond the negative change cutoff for voltage output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_POSITIVE_CURRENT_CHANGE (64) Clears cutoffs caused when the current slew rate increased beyond the positive change cutoff for current output.
NIDCPOWER_VAL_OUTPUT_CUTOFF_REASON_NEGATIVE_CURRENT_CHANGE (128) Clears cutoffs caused when the voltage slew rate decreased beyond the negative change cutoff for current output.

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** ⚠️