# Yokogawa 7651 Programmable Supply

class `pymeasure.instruments.yokogawa.``Yokogawa7651`(adapter, **kwargs)

  Bases: `pymeasure.instruments.instrument.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`

    A floating point property that sets the compliance current in Amps, which can take values from 5 to 120 mA.

  property `compliance_voltage`

    A floating point property that sets 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`

    Returns 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`

    A floating point property that controls the source current in Amps, if that mode is active.

  property `source_current_range`

    A floating point property that sets the current voltage range in Amps, which can take values: 1 mA, 10 mA, and 100 mA. Currents are truncted to an appropriate value if needed.

  property `source_enabled`

    Reads 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`

    A string property that controls 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`

    A floating point property that controls the source voltage in Volts, if that mode is active.

  property `source_voltage_range`

    A floating point property that sets the source voltage range in Volts, which can take values: 10 mV, 100 mV, 1 V, 10 V, and 30 V. Voltages are truncted to an appropriate value if needed.