nidigital module¶
Installation¶
As a prerequisite to using the nidigital module, you must install the NI-Digital Pattern Driver runtime on your system. Visit ni.com/downloads to download the driver runtime for your devices.
The nimi-python modules (i.e. for NI-Digital Pattern Driver) can be installed with pip:
$ python -m pip install nidigital
Or easy_install from setuptools:
$ python -m easy_install nidigital
Usage¶
The following is a basic example of using the nidigital module to open a session to a digital pattern instrument, source current, and measure both voltage and current using the PPMU on selected channels.
import nidigital
import time
with nidigital.Session(resource_name='PXI1Slot2') as session:
channels = 'PXI1Slot2/0,PXI1Slot2/1'
# Configure PPMU measurements
session.channels[channels].ppmu_aperture_time = 0.000004
session.channels[channels].ppmu_aperture_time_units = nidigital.PPMUApertureTimeUnits.SECONDS
session.channels[channels].ppmu_output_function = nidigital.PPMUOutputFunction.CURRENT
session.channels[channels].ppmu_current_level_range = 0.000002
session.channels[channels].ppmu_current_level = 0.000002
session.channels[channels].ppmu_voltage_limit_high = 3.3
session.channels[channels].ppmu_voltage_limit_low = 0
# Sourcing
session.channels[channels].ppmu_source()
# Settling time between sourcing and measuring
time.sleep(0.01)
# Measuring
current_measurements = session.channels[channels].ppmu_measure(nidigital.PPMUMeasurementType.CURRENT)
voltage_measurements = session.channels[channels].ppmu_measure(nidigital.PPMUMeasurementType.VOLTAGE)
print('{:<20} {:<10} {:<10}'.format('Channel Name', 'Current', 'Voltage'))
for channel, current, voltage in zip(channels.split(','), current_measurements, voltage_measurements):
print('{:<20} {:<10f} {:<10f}'.format(channel, current, voltage))
# Disconnect all channels using programmable onboard switching
session.channels[channels].selected_function = nidigital.SelectedFunction.DISCONNECT
API Reference¶
- Session
- Methods
- abort
- abort_keep_alive
- apply_levels_and_timing
- apply_tdr_offsets
- burst_pattern
- clock_generator_abort
- clock_generator_generate_clock
- close
- commit
- configure_active_load_levels
- configure_pattern_burst_sites
- configure_time_set_compare_edges_strobe
- configure_time_set_compare_edges_strobe2x
- configure_time_set_drive_edges
- configure_time_set_drive_edges2x
- configure_time_set_drive_format
- configure_time_set_edge
- configure_time_set_edge_multiplier
- configure_time_set_period
- configure_voltage_levels
- create_capture_waveform_from_file_digicapture
- create_capture_waveform_parallel
- create_capture_waveform_serial
- create_source_waveform_from_file_tdms
- create_source_waveform_parallel
- create_source_waveform_serial
- create_time_set
- delete_all_time_sets
- disable_sites
- enable_sites
- fetch_capture_waveform
- fetch_history_ram_cycle_information
- frequency_counter_measure_frequency
- get_channel_names
- get_fail_count
- get_history_ram_sample_count
- get_pattern_pin_names
- get_pin_results_pin_information
- get_site_pass_fail
- get_time_set_drive_format
- get_time_set_edge
- get_time_set_edge_multiplier
- get_time_set_period
- initiate
- is_done
- is_site_enabled
- load_pattern
- load_pin_map
- load_specifications_levels_and_timing
- lock
- ppmu_measure
- ppmu_source
- read_sequencer_flag
- read_sequencer_register
- read_static
- reset
- reset_device
- self_calibrate
- self_test
- send_software_edge_trigger
- tdr
- unload_all_patterns
- unload_specifications
- unlock
- wait_until_done
- write_sequencer_flag
- write_sequencer_register
- write_source_waveform_broadcast
- write_source_waveform_data_from_file_tdms
- write_source_waveform_site_unique
- write_static
- Properties
- active_load_ioh
- active_load_iol
- active_load_vcom
- cache
- channel_count
- clock_generator_frequency
- clock_generator_is_running
- conditional_jump_trigger_terminal_name
- conditional_jump_trigger_type
- cycle_number_history_ram_trigger_cycle_number
- digital_edge_conditional_jump_trigger_edge
- digital_edge_conditional_jump_trigger_source
- digital_edge_rio_trigger_edge
- digital_edge_rio_trigger_source
- digital_edge_start_trigger_edge
- digital_edge_start_trigger_source
- driver_setup
- exported_conditional_jump_trigger_output_terminal
- exported_pattern_opcode_event_output_terminal
- exported_rio_event_output_terminal
- exported_start_trigger_output_terminal
- frequency_counter_hysteresis_enabled
- frequency_counter_measurement_mode
- frequency_counter_measurement_time
- group_capabilities
- halt_on_keep_alive_opcode
- history_ram_buffer_size_per_site
- history_ram_cycles_to_acquire
- history_ram_max_samples_to_acquire_per_site
- history_ram_number_of_samples_is_finite
- history_ram_pretrigger_samples
- history_ram_trigger_type
- instrument_firmware_revision
- instrument_manufacturer
- instrument_model
- interchange_check
- io_resource_descriptor
- is_keep_alive_active
- logical_name
- mask_compare
- pattern_label_history_ram_trigger_cycle_offset
- pattern_label_history_ram_trigger_label
- pattern_label_history_ram_trigger_vector_offset
- pattern_opcode_event_terminal_name
- ppmu_allow_extended_voltage_range
- ppmu_aperture_time
- ppmu_aperture_time_units
- ppmu_current_level
- ppmu_current_level_range
- ppmu_current_limit
- ppmu_current_limit_behavior
- ppmu_current_limit_range
- ppmu_current_limit_supported
- ppmu_output_function
- ppmu_voltage_level
- ppmu_voltage_limit_high
- ppmu_voltage_limit_low
- query_instrument_status
- range_check
- record_coercions
- rio_event_terminal_name
- rio_trigger_terminal_name
- rio_trigger_type
- selected_function
- sequencer_flag_terminal_name
- serial_number
- simulate
- specific_driver_class_spec_major_version
- specific_driver_class_spec_minor_version
- specific_driver_description
- specific_driver_prefix
- specific_driver_revision
- specific_driver_vendor
- start_label
- start_trigger_terminal_name
- start_trigger_type
- supported_instrument_models
- tdr_endpoint_termination
- tdr_offset
- termination_mode
- timing_absolute_delay
- timing_absolute_delay_enabled
- vih
- vil
- voh
- vol
- vterm
- NI-TClk Support
- Repeated Capabilities
- Enums
- BitOrder
- DigitalEdge
- DriveFormat
- FrequencyMeasurementMode
- HistoryRAMCyclesToAcquire
- HistoryRAMTriggerType
- PPMUApertureTimeUnits
- PPMUCurrentLimitBehavior
- PPMUMeasurementType
- PPMUOutputFunction
- PinState
- SelectedFunction
- SequencerFlag
- SequencerRegister
- SoftwareTrigger
- SourceDataMapping
- TDREndpointTermination
- TerminationMode
- TimeSetEdgeType
- TriggerType
- WriteStaticPinState
- Exceptions and Warnings
- Examples
- gRPC Support