Programming States
- Updated2025-03-28
- 4 minute(s) read
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.

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
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.
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.
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
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.
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 |
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.
Related Information
- Single Point Source Mode
- Dynamic Reconfiguration
- Sequence Source Mode
A sequence is composed of steps that specify a series of outputs for an NI-DCPower channel. In a simple sequence, you can specify either a series of voltage outputs or a series of current outputs. Advanced sequencing allows you to configure multiple properties per sequence step.
- Advanced Sequencing
Use advanced sequencing instead of the NI-DCPower Set Sequence function when you want more options for configuring a channel differently between sequence steps.