nidcpower module

Installation

As a prerequisite to using the nidcpower module, you must install the NI-DCPower runtime on your system. Visit ni.com/downloads to download the driver runtime for your devices.

The nimi-python modules (i.e. for NI-DCPower) can be installed with pip:

$ python -m pip install nidcpower~=1.4.2

Or easy_install from setuptools:

$ python -m easy_install nidcpower

Usage

The following is a basic example of using the nidcpower module to open a session to a Source Meter Unit and measure voltage and current.

import nidcpower
# Configure the session.

with nidcpower.Session(resource_name='PXI1Slot2/0') as session:
    session.measure_record_length = 20
    session.measure_record_length_is_finite = True
    session.measure_when = nidcpower.MeasureWhen.AUTOMATICALLY_AFTER_SOURCE_COMPLETE
    session.voltage_level = 5.0

    session.commit()
    print('Effective measurement rate: {0} S/s'.format(session.measure_record_delta_time / 1))

    samples_acquired = 0
    print('Channel           Num  Voltage    Current    In Compliance')
    row_format = '{0:15} {1:3d}    {2:8.6f}   {3:8.6f}   {4}'
    with session.initiate():
        channel_indices = '0-{0}'.format(session.channel_count - 1)
        channels = session.get_channel_names(channel_indices)
        for i, channel_name in enumerate(channels):
            samples_acquired = 0
            while samples_acquired < 20:
                measurements = session.channels[channel_name].fetch_multiple(count=session.fetch_backlog)
                samples_acquired += len(measurements)
                for i in range(len(measurements)):
                    print(row_format.format(channel_name, i, measurements[i].voltage, measurements[i].current, measurements[i].in_compliance))

Other usage examples can be found on GitHub.

API Reference