# Euro Test HPP120256 High Voltage Power Supply

class pymeasure.instruments.eurotest.EurotestHPP120256(adapter, name='Euro Test High Voltage DC Source model HPP-120-256', query_delay=0.1, write_delay=0.4, timeout=5000, **kwargs)

  Bases: `Instrument`

  Represents the Euro Test High Voltage DC Source model HPP-120-256 and provides a high-level interface for interacting with the instrument using the Euro Test command set (Not SCPI command set).

      hpp120256 = EurotestHPP120256("GPIB0::20::INSTR")

      print(hpp120256.id)
      print(hpp120256.lam_status)
      print(hpp120256.status)

      hpp120256.ramp_to_zero(100.0)

      hpp120256.voltage_ramp = 50.0  # V/s
      hpp120256.current_limit = 2.0  # mA
      inst.kill_enabled = True  # Enable over-current protection
      time.sleep(1.0)  # Give time to enable kill
      inst.output_enabled = True
      time.sleep(1.0)  # Give time to output on

      abs_output_voltage_error = 0.02 # kV

      hpp120256.wait_for_output_voltage_reached(abs_output_voltage_error, 1.0, 40.0)

      # Here voltage HV output should be at 0.0 kV

      print("Setting the output voltage to 1.0kV...")
      hpp120256.voltage_setpoint = 1.0  # kV

      # Now HV output should be rising to reach the 1.0kV at 50.0 V/s

      hpp120256.wait_for_output_voltage_reached(abs_output_voltage_error, 1.0, 40.0)

      # Here voltage HV output should be at 1.0 kV

      hpp120256.shutdown()

      hpp120256.wait_for_output_voltage_reached(abs_output_voltage_error, 1.0, 60.0)

      # Here voltage HV output should be at 0.0 kV

      inst.output_enabled = False

      # Now the HV voltage source is in safe state

  class EurotestHPP120256Status(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

    Bases: `IntFlag`

    Auxiliary class create for translating the instrument 16bits_status_string into an Enum_IntFlag that will help to the user to understand such status.

  ask(command)

    Overrides Instrument ask method for including query_delay time on parent call. :param command: Command string to be sent to the instrument. :returns: String returned by the device without read_termination.

  property current

    Measure the actual output current in mAmps (float).

  property current_limit

    Control the current limit in mAmps (float strictly from 0 to 25).

  property current_range

    Measure the actual output current range in mAmps (float).

  emergency_off()

    The output of the HV source will be switched OFF permanently and the values of the voltage and current settings set to zero

  property id

    Get the identification of the instrument (string)

  property kill_enabled

    Control the instrument kill enable (boolean).

  property lam_status

    Get the instrument lam status (string).

  property output_enabled

    Control the instrument output enable (boolean).

  ramp_to_zero(voltage_rate=200.0)

    Sets the voltage output setting to zero and the ramp setting to a value determined by the voltage_rate parameter. In summary, the method conducts (ramps) the voltage output to zero at a determinated voltage changing rate (ramp in V/s). :param voltage_rate: Is the changing rate (ramp in V/s) for the ramp setting

  shutdown(voltage_rate=200.0)

    Change the output voltage setting (V) to zero and the ramp speed - voltage_rate (V/s) of the output voltage. After calling shutdown, if the HV voltage output > 0 it should drop to zero at a certain rate given by the voltage_rate parameter. :param voltage_rate: indicates the changing rate (V/s) of the voltage output

  property status

    Get the instrument status (EurotestHPP120256Status).

  property voltage

    Measure the actual output voltage in kVolts (float).

  property voltage_ramp

    Control the voltage ramp in Volts/second (int strictly from 10 to 3000).

  property voltage_range

    Measure the actual output voltage range in kVolts (float).

  property voltage_setpoint

    Control the voltage set-point in kVolts (float strictly from 0 to 12).

  wait_for_output_voltage_reached(voltage_setpoint, abs_output_voltage_error=0.03, check_period=1.0, timeout=60.0)

    Wait until HV voltage output reaches the voltage setpoint.

    Checks the voltage output every check_period seconds and raises an exception if the voltage output doesn’t reach the voltage setting until the timeout time. :param voltage_setpoint: the voltage in kVolts setted in the HV power supply which should be present at the output after some time (depends on the ramp setting). :param abs_output_voltage_error: absolute error in kVolts for being considered an output voltage reached. :param check_period: voltage output will be measured every check_period (seconds) time. :param timeout: time (seconds) give to the voltage output to reach the voltage setting. :return: None :raises: Exception if the voltage output can’t reach the voltage setting before the timeout completes (seconds).

  write(command, **kwargs)

    Overrides Instrument write method for including write_delay time after the parent call.

    Parameters:

      command – command string to be sent to the instrument