# Oxford Instrument Intelligent Temperature Controller 503

class pymeasure.instruments.oxfordinstruments.ITC503(resourceName, clear_buffer=True, max_temperature=301, min_temperature=0, **kwargs)

  Bases: `Instrument`

  Represents the Oxford Intelligent Temperature Controller 503.

      itc = ITC503("GPIB::24")        # Default channel for the ITC503

      itc.control_mode = "RU"         # Set the control mode to remote
      itc.heater_gas_mode = "AUTO"    # Turn on auto heater and flow
      itc.auto_pid = True             # Turn on auto-pid

      print(itc.temperature_setpoint) # Print the current set-point
      itc.temperature_setpoint = 300  # Change the set-point to 300 K
      itc.wait_for_temperature()      # Wait for the temperature to stabilize
      print(itc.temperature_1)        # Print the temperature at sensor 1

  property auto_pid

    A boolean property that sets the Auto-PID mode on (True) or off (False).

  property control_mode

    A string property that sets the ITC in LOCAL or REMOTE and LOCKES, or UNLOCKES, the LOC/REM button. Allowed values are: LL: LOCAL & LOCKED RL: REMOTE & LOCKED LU: LOCAL & UNLOCKED RU: REMOTE & UNLOCKED.

  property gasflow

    A floating point property that controls gas flow when in manual mode. The value is expressed as a percentage of the maximum gas flow. Valid values are in range 0 [off] to 99.9 [%].

  property heater

    A floating point property that sets the required heater output when in manual mode. The parameter is expressed as a percentage of the maximum voltage. Valid values are in range 0 [off] to 99.9 [%].

  property heater_gas_mode

    A string property that sets the heater and gas flow control to AUTO or MANUAL. Allowed values are: MANUAL: HEATER MANUAL, GAS MANUAL AM: HEATER AUTO, GAS MANUAL MA: HEATER MANUAL, GAS AUTO AUTO: HEATER AUTO, GAS AUTO.

  program_sweep(temperatures, sweep_time, hold_time, steps=None)

    Program a temperature sweep in the controller. Stops any running sweep. After programming the sweep, it can be started using OxfordITC503.sweep_status = 1.

    Parameters:

      - temperatures – An array containing the temperatures for the sweep

      - sweep_time – The time (or an array of times) to sweep to a set-point in minutes (between 0 and 1339.9).

      - hold_time – The time (or an array of times) to hold at a set-point in minutes (between 0 and 1339.9).

      - steps – The number of steps in the sweep, if given, the temperatures, sweep_time and hold_time will be interpolated into (approximately) equal segments

  property sweep_status

    An integer property that sets the sweep status. Values are: 0: Sweep not running 1: Start sweep / sweeping to first set-point 2P - 1: Sweeping to set-point P 2P: Holding at set-point P.

  property sweep_table

    A property that sets values in the sweep table. Relies on the xpointer and ypointer to point at the location in the table that is to be set.

  property temperature_1

    Reads the temperature of the sensor 1 in Kelvin.

  property temperature_2

    Reads the temperature of the sensor 2 in Kelvin.

  property temperature_3

    Reads the temperature of the sensor 3 in Kelvin.

  property temperature_error

    Reads the difference between the set-point and the measured temperature in Kelvin. Positive when set-point is larger than measured.

  property temperature_setpoint

    A floating point property that controls the temperature set-point of the ITC in kelvin.

  wait_for_temperature(error=0.01, timeout=3600, check_interval=0.5, stability_interval=10, thermalize_interval=300, should_stop=<function ITC503.<lambda>>, max_comm_errors=None)

    Wait for the ITC to reach the set-point temperature.

    Parameters:

      - error – The maximum error in Kelvin under which the temperature is considered at set-point

      - timeout – The maximum time the waiting is allowed to take. If timeout is exceeded, a TimeoutError is raised. If timeout is set to zero, no timeout will be used.

      - check_interval – The time between temperature queries to the ITC.

      - stability_interval – The time over which the temperature_error is to be below error to be considered stable.

      - thermalize_interval – The time to wait after stabilizing for the system to thermalize.

      - should_stop – Optional function (returning a bool) to allow the waiting to be stopped before its end.

      - max_comm_errors – The maximum number of communication errors that are allowed before the wait is stopped. if set to None (default), no maximum will be used.

  property xpointer

    An integer property to set pointers into tables for loading and examining values in the table. For programming the sweep table values from 1 to 16 are allowed, corresponding to the maximum number of steps.

  property ypointer

    An integer property to set pointers into tables for loading and examining values in the table. For programming the sweep table the allowed values are: 1: Setpoint temperature, 2: Sweep-time to set-point, 3: Hold-time at set-point.