Ni

hardware_control.instruments.ni.Ni_9000 module

../_images/NI9000.jpeg
class hardware_control.instruments.ni.Ni_9000.Ni_9000(instrument_name: str = 'NI_9000', connection_addr: str = '', modules: list | None = None, analog_channels: dict | None = None, digital_channels: dict | None = None)

Bases: Instrument

Native Instruments (NI) 9000 series DAQ Module instrument class.

NI objects require a name for the instrument, a connection address for the physical instrument, and a list of modules in the instrument. Each module contains a given number of analog and/or digital channels. These channels can be specified in the analog_channels and digital_channels dictionaries, which have module numbers as keys and a list of channel numbers (either analog or digital) as values. As an example, one can initialize an NI_9000 object like so:

Ni_9000(“Power_Supplies”, connection_addr = “cDAQ1”, modules = [1, 6], analog_channels = {1: [0, 1]}, digital_channels = {6: [6, 7]})

Channel names consist of a module number, a signal type (‘a’ for analog and ‘d’ for digital), and a channel number. For example, channel number 1 on module number 2 with an analog signal would be ‘Mod2/a-1’.

PARAMETERS
  • CH<X>_V_MAX (float)
    • Maximum analog voltage for channel ‘X’.

  • CH<X>_V_MIN (float)
    • Minimum analog voltage for channel ‘X’.

  • CH<X>_TERMINAL_CONFIG (DIFF, NRSE, RSE)
    • Method of determining electrical potential differences for channel ‘X’.

  • CH<X>_ANALOG (float)
    • Analog input/output value for channel ‘X’.

  • CH<X>_DIGITAL (bool)
    • Digital input/output value for channel ‘X’

COMMANDS
  • DISPLAY_CONFIGURATION
    • Log terminal configurations, voltage maxima, and voltage minima for each channel.

try_connect()

Checks if the instrument is in communication with the driver and tries to re-establish communication if it not.

Certain instruments require that this function be overwritten.