# Oxford Instrument Intelligent Temperature Controller 503

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

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