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.2.1
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', channels='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(' # Voltage Current In Compliance')
row_format = '{0:3d}: {1:8.6f} {2:8.6f} {3}'
with session.initiate():
while samples_acquired < 20:
measurements = session.fetch_multiple(count=session.fetch_backlog)
samples_acquired += len(measurements)
for i in range(len(measurements)):
print(row_format.format(i, measurements[i].voltage, measurements[i].current, measurements[i].in_compliance))
Additional examples for NI-DCPower are located in src/nidcpower/examples/ directory.
API Reference¶
- Session
- Methods
- abort
- close
- commit
- configure_aperture_time
- create_advanced_sequence
- create_advanced_sequence_step
- delete_advanced_sequence
- disable
- export_attribute_configuration_buffer
- export_attribute_configuration_file
- fetch_multiple
- get_channel_name
- get_ext_cal_last_date_and_time
- get_ext_cal_last_temp
- get_ext_cal_recommended_interval
- get_self_cal_last_date_and_time
- get_self_cal_last_temp
- import_attribute_configuration_buffer
- import_attribute_configuration_file
- initiate
- lock
- measure
- measure_multiple
- query_in_compliance
- query_max_current_limit
- query_max_voltage_level
- query_min_current_limit
- query_output_state
- read_current_temperature
- reset
- reset_device
- reset_with_defaults
- self_cal
- self_test
- send_software_edge_trigger
- set_sequence
- unlock
- wait_for_event
- Properties
- active_advanced_sequence
- active_advanced_sequence_step
- aperture_time
- aperture_time_units
- auto_zero
- auxiliary_power_source_available
- channel_count
- compliance_limit_symmetry
- current_compensation_frequency
- current_gain_bandwidth
- current_level
- current_level_autorange
- current_level_range
- current_limit
- current_limit_autorange
- current_limit_behavior
- current_limit_high
- current_limit_low
- current_limit_range
- current_pole_zero_ratio
- dc_noise_rejection
- digital_edge_measure_trigger_input_terminal
- digital_edge_pulse_trigger_input_terminal
- digital_edge_sequence_advance_trigger_input_terminal
- digital_edge_source_trigger_input_terminal
- digital_edge_start_trigger_input_terminal
- driver_setup
- exported_measure_trigger_output_terminal
- exported_pulse_trigger_output_terminal
- exported_sequence_advance_trigger_output_terminal
- exported_source_trigger_output_terminal
- exported_start_trigger_output_terminal
- fetch_backlog
- instrument_firmware_revision
- instrument_manufacturer
- instrument_model
- interlock_input_open
- io_resource_descriptor
- logical_name
- measure_buffer_size
- measure_complete_event_delay
- measure_complete_event_output_terminal
- measure_complete_event_pulse_polarity
- measure_complete_event_pulse_width
- measure_record_delta_time
- measure_record_length
- measure_record_length_is_finite
- measure_trigger_type
- measure_when
- output_capacitance
- output_connected
- output_enabled
- output_function
- output_resistance
- overranging_enabled
- ovp_enabled
- ovp_limit
- power_line_frequency
- power_source
- power_source_in_use
- pulse_bias_current_level
- pulse_bias_current_limit
- pulse_bias_current_limit_high
- pulse_bias_current_limit_low
- pulse_bias_delay
- pulse_bias_voltage_level
- pulse_bias_voltage_limit
- pulse_bias_voltage_limit_high
- pulse_bias_voltage_limit_low
- pulse_complete_event_output_terminal
- pulse_complete_event_pulse_polarity
- pulse_complete_event_pulse_width
- pulse_current_level
- pulse_current_level_range
- pulse_current_limit
- pulse_current_limit_high
- pulse_current_limit_low
- pulse_current_limit_range
- pulse_off_time
- pulse_on_time
- pulse_trigger_type
- pulse_voltage_level
- pulse_voltage_level_range
- pulse_voltage_limit
- pulse_voltage_limit_high
- pulse_voltage_limit_low
- pulse_voltage_limit_range
- query_instrument_status
- ready_for_pulse_trigger_event_output_terminal
- ready_for_pulse_trigger_event_pulse_polarity
- ready_for_pulse_trigger_event_pulse_width
- reset_average_before_measurement
- samples_to_average
- self_calibration_persistence
- sense
- sequence_advance_trigger_type
- sequence_engine_done_event_output_terminal
- sequence_engine_done_event_pulse_polarity
- sequence_engine_done_event_pulse_width
- sequence_iteration_complete_event_output_terminal
- sequence_iteration_complete_event_pulse_polarity
- sequence_iteration_complete_event_pulse_width
- sequence_loop_count
- sequence_loop_count_is_finite
- sequence_step_delta_time
- sequence_step_delta_time_enabled
- simulate
- source_complete_event_output_terminal
- source_complete_event_pulse_polarity
- source_complete_event_pulse_width
- source_delay
- source_mode
- source_trigger_type
- specific_driver_description
- specific_driver_prefix
- specific_driver_revision
- specific_driver_vendor
- start_trigger_type
- supported_instrument_models
- transient_response
- voltage_compensation_frequency
- voltage_gain_bandwidth
- voltage_level
- voltage_level_autorange
- voltage_level_range
- voltage_limit
- voltage_limit_autorange
- voltage_limit_high
- voltage_limit_low
- voltage_limit_range
- voltage_pole_zero_ratio
- Repeated Capabilities
- Enums
- Exceptions and Warnings
- Examples