An NI-DCPower channel has three main states:

  • Uncommitted
  • Committed
  • Running

Each channel in a session can move through these states independent of one another.

Figure 1. NI-DCPower Programming States
Note Sessions created using the Initialize With Independent Channels function have different capabilities from those created using prior NI-DCPower initialize functions.

Uncommitted

Channels enter the Uncommitted state when you call NI-DCPower Initialize With Independent Channels, or if you abort the session using NI-DCPower Abort With Channels.

NI-DCPower Reset With Channels and NI-DCPower Reset Device also place channels in the Uncommitted state.

Although you can configure properties in the Uncommitted state, NI-DCPower does not apply the properties until the Committed or Running states. For example, NI-DCPower Export Attribute Configuration verifies that the properties that you configure for a session are valid, but do not cause a transition to the Committed state. Thus, in the Uncommitted state, a channel remains in the same configuration as the last time that you commit a session.

Committed

Call NI-DCPower Commit With Channels to verify all properties, apply a select group of settings to channels, and transition to the Committed state.

NI-DCPower applies the following properties upon entering the Committed state.

  • Aperture Time
  • Aperture Time Units
  • Auto Zero
  • Current Compensation Frequency
  • Current Gain Bandwidth
  • Current Pole Zero Ratio
  • Measure When
  • Measure Record Length
  • Measure Record Length Is Finite
  • Merged Channels
  • Output Capacitance
  • Output Connected
  • Output Resistance
  • Power Line Frequency
  • Power Source
  • Pulse Bias Current Level
  • Pulse Bias Current Limit
  • Pulse Bias Current Limit High
  • Pulse Bias Current Limit Low
  • Pulse Bias Voltage Level
  • Pulse Bias Voltage Limit
  • Pulse Bias Voltage Limit High
  • Pulse Bias Voltage Limit Low
  • Reset Average Before Measurement
  • Samples to Average
  • Sense
  • Sequence Loop Count Is Finite
  • Sequence Loop Count
  • Source Delay
  • Source Mode
  • Transient Response
  • Voltage Compensation Frequency
  • Voltage Gain Bandwidth
  • Voltage Pole Zero Ratio
  • All trigger-, event-, and routing-related properties
Note NI-DCPower applies any properties not listed in the table above to channels in the Running state.

If you configure a property on a channel multiple times, NI-DCPower applies only the most recent configuration upon entering the Committed state. If you modify any properties in the Committed state, the channel implicitly transitions back to the Uncommitted state, and the channel configuration continues to reflect the previously committed properties.

Call NI-DCPower Initiate With Channels from the Committed state to transition to the Running state.

Running

To place channels in the Running state, call NI-DCPower Initiate With Channels. In the Running state, a channel begins output signal generation and can acquire measurements.

Note If you open a session with the NI-DCPower Initialize with Independent Channels, the outputs for the channels you specify with NI-DCPower Initiate With Channels to transition to the Running state are enabled, unless you explicitly disable the outputs of any channel(s) before initiating.

In the Running state, the channel configuration determines the behavior of the channel. For example, a channel can either configure a single output point or step through a sequence of points. Additionally, a channel can be configured to wait for triggers before performing an operation.

While running in Single Point source mode some properties and attributes can be dynamically reconfigured. Properties and attributes reconfigured dynamically (in the Running state) are immediately applied.

Note While running in sequence source mode, you can disable channel output after the Sequence Engine Done Event. No other properties are dynamically configurable while running a sequence.

In the Running state, there are several functions that you can use to take measurements, fetch buffered measurements, query the output state, or query the device state. You can call the only the following functions in the Running state.

  • NI-DCPower Measure
  • NI-DCPower Measure Multiple
  • NI-DCPower Fetch Multiple
  • NI-DCPower Send Software Edge Trigger With Channels
  • NI-DCPower Query In Compliance
  • NI-DCPower Query Output State
  • NI-DCPower Wait For Event With Channels
Tip Call the NI-DCPower Abort With Channels function to transition from the Running state to the Uncommitted state. If Running in Sequence source mode, aborting cancels a sequence even if it has not yet run to completion.

Differences Between Sessions Created With Independent Channels and Deprecated Initialize Functions

The NI-DCPower Initialize With Independent Channels function replaces all prior NI-DCPower Initialize functions. NI recommends using Initialize With Independent Channels for new programs. Initializing with independent channels allows you to configure multiple channels of the same instrument, or of multiple instruments, independently of one another.

Sessions initialized with independent channels have fewer limitations than sessions initialized with other initialize functions.

Table 1. Behavior Changes for Initialize (Deprecated) and Initialize with Independent Channels
Feature Behavior in Session Initialized With
Initialize With Independent Channels Any Other NI-DCPower Initialize Function
Triggers and events Configurable per channel Not available in sessions that include multiple channels
Measure When property Configurable per channel Must be set to On Demand if a session includes multiple channels
Measure records Available in sessions that include multiple channels Not available in sessions that include multiple channels
Sequence source mode Configurable per channel Not available in sessions that include multiple channels
Note You cannot mix both simple and advanced sequences in the same Initialize With Independent Channels session.

Fully Qualified Channel Names and Initialize With Independent Channels

NI-DCPower Initialize With Independent Channels allows you to include channels from multiple physical instruments and configure them independently of one another. If the session spans multiple physical instruments, you must use a fully qualified channel name or a fully qualified channel range to unambiguously identify and configure the channels.

  • Fully qualified channel name—An instrument name plus a channel. Example: PXI1Slot3/0
  • Fully qualified channel range—An instrument name plus a channel range. Example: PXI1Slot3/0-23 or PXI1Slot3/0:23
  • Note If the session includes channels from a single physical instrument, you can use unqualified channel names (for example, 0-23 or 0:23).