# Yokogawa 7651 Programmable Supply

class pymeasure.instruments.yokogawa.Yokogawa7651(adapter, name='Yokogawa 7651 Programmable DC Source', **kwargs)

  Bases: `SCPIUnknownMixin`, `Instrument`

  Represents the Yokogawa 7651 Programmable DC Source and provides a high-level for interacting with the instrument.

      yoko = Yokogawa7651("GPIB::1")

      yoko.apply_current()                # Sets up to source current
      yoko.source_current_range = 10e-3   # Sets the current range to 10 mA
      yoko.compliance_voltage = 10        # Sets the compliance voltage to 10 V
      yoko.source_current = 0             # Sets the source current to 0 mA

      yoko.enable_source()                # Enables the current output
      yoko.ramp_to_current(5e-3)          # Ramps the current to 5 mA

      yoko.shutdown()                     # Ramps the current to 0 mA and disables output

  apply_current(max_current=0.001, compliance_voltage=1)

    Configures the instrument to apply a source current, which can take optional parameters that defer to the `source_current_range` and `compliance_voltage` properties.

  apply_voltage(max_voltage=1, compliance_current=0.01)

    Configures the instrument to apply a source voltage, which can take optional parameters that defer to the `source_voltage_range` and `compliance_current` properties.

  property compliance_current

    Control the compliance current in Amps,which can take values from 5 to 120 mA.

  property compliance_voltage

    Control the compliance voltage in Volts, which can take values between 1 and 30 V.

  disable_source()

    Disables the source of current or voltage depending on the configuration of the instrument.

  enable_source()

    Enables the source of current or voltage depending on the configuration of the instrument.

  property id

    Get the identification of the instrument

  ramp_to_current(current, steps=25, duration=0.5)

    Ramps the current to a value in Amps by traversing a linear spacing of current steps over a duration, defined in seconds.

    Parameters:

      - steps – A number of linear steps to traverse

      - duration – A time in seconds over which to ramp

  ramp_to_voltage(voltage, steps=25, duration=0.5)

    Ramps the voltage to a value in Volts by traversing a linear spacing of voltage steps over a duration, defined in seconds.

    Parameters:

      - steps – A number of linear steps to traverse

      - duration – A time in seconds over which to ramp

  shutdown()

    Shuts down the instrument, and ramps the current or voltage to zero before disabling the source.

  property source_current

    Control the source current in Amps, if that mode is active. (float)

  property source_current_range

    Control the current voltage range in Amps, which can take values: 1 mA, 10 mA, and 100 mA. Currents are truncated to an appropriate value if needed.

  property source_enabled

    Get a boolean value that is True if the source is enabled, determined by checking if the 5th bit of the OC flag is a binary 1.

  property source_mode

    Control the source mode, which can take the values ‘current’ or ‘voltage’. The convenience methods `apply_current()` and `apply_voltage()` can also be used.

  property source_voltage

    Control the source voltage in Volts, if that mode is active. (float)

  property source_voltage_range

    Control the source voltage range in Volts, which can take values: 10 mV, 100 mV, 1 V, 10 V, and 30 V. Voltages are truncated to an appropriate value if needed.