Oxford Instruments Intelligent Temperature Controller 503

class pymeasure.instruments.oxfordinstruments.ITC503(adapter, name='Oxford ITC503', clear_buffer=True, min_temperature=0, max_temperature=1677.7, **kwargs)

Bases: OxfordInstrumentsBase

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
class FLOW_CONTROL_STATUS(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntFlag

IntFlag class for decoding the flow control status. Contains the following flags:

bit

flag

meaning

4

HEATER_ERROR_SIGN

Sign of heater-error; True means negative

3

TEMPERATURE_ERROR_SIGN

Sign of temperature-error; True means negative

2

SLOW_VALVE_ACTION

Slow valve action occurring

1

COOLDOWN_TERMINATION

Cooldown-termination occurring

0

FAST_COOLDOWN

Fast-cooldown occurring

property auto_pid

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

property auto_pid_table

A property that controls values in the auto-pid table. Relies on ITC503.x_pointer and ITC503.y_pointer (or ITC503.pointer) to point at the location in the table that is to be set or read.

The x-pointer selects the table entry (1 to 16); the y-pointer selects the parameter:

y-pointer

parameter

1

upper temperature limit

2

proportional band

3

integral action time

4

derivative action time

property control_mode

A string property that sets the ITC in local or remote and locked or unlocked, locking the LOC/REM button. Allowed values are:

value

state

LL

local & locked

RL

remote & locked

LU

local & unlocked

RU

remote & unlocked

property derivative_action_time

A floating point property that controls the derivative action time for the PID controller in minutes. Can be set if the PID controller is in manual mode. Valid values are 0 [min.] to 273 [min.].

property front_panel_display

A string property that controls what value is displayed on the front panel of the ITC. Valid values are: ‘temperature setpoint’, ‘temperature 1’, ‘temperature 2’, ‘temperature 3’, ‘temperature error’, ‘heater’, ‘heater voltage’, ‘gasflow’, ‘proportional band’, ‘integral action time’, ‘derivative action time’, ‘channel 1 freq/4’, ‘channel 2 freq/4’, ‘channel 3 freq/4’.

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 gasflow_configuration_parameter

A property that controls the gas flow configuration parameters. Relies on the ITC503.x_pointer to select which parameter is set or read:

x-pointer

parameter

1

valve gearing

2

target table & features configuration

3

gas flow scaling

4

temperature error sensitivity

5

heater voltage error sensitivity

6

minimum gas valve in auto

property gasflow_control_status

A property that reads the gas-flow control status. Returns the status in the form of a ITC503.FLOW_CONTROL_STATUS IntFlag.

property heater

A floating point property that represents the heater output power as a percentage of the maximum voltage. Can be set if the heater is in manual mode. 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:

value

state

MANUAL

heater & gas manual

AM

heater auto, gas manual

MA

heater manual, gas auto

AUTO

heater & gas auto

property heater_voltage

A floating point property that represents the heater output power in volts. For controlling the heater, use the ITC503.heater property.

property integral_action_time

A floating point property that controls the integral action time for the PID controller in minutes. Can be set if the PID controller is in manual mode. Valid values are 0 [min.] to 140 [min.].

property pointer

A tuple property to set pointers into tables for loading and examining values in the table, of format (x, y). The significance and valid values for the pointer depends on what property is to be read or set. The value for x and y can be in the range 0 to 128.

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 proportional_band

A floating point property that controls the proportional band for the PID controller in Kelvin. Can be set if the PID controller is in manual mode. Valid values are 0 [K] to 1677.7 [K].

property sweep_status

An integer property that sets the sweep status. Values are:

value

meaning

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 controls values in the sweep table. Relies on ITC503.x_pointer and ITC503.y_pointer (or ITC503.pointer) to point at the location in the table that is to be set or read.

The x-pointer selects the step of the sweep (1 to 16); the y-pointer selects the parameter:

y-pointer

parameter

1

set-point temperature

2

sweep-time to set-point

3

hold-time at set-point

property target_voltage

A float property that reads the current heater target voltage with which the actual heater voltage is being compared. Only valid if gas-flow in auto mode.

property target_voltage_table

A property that controls values in the target heater voltage table. Relies on the ITC503.x_pointer to select the entry in the table that is to be set or read (1 to 64).

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. (dynamic)

property valve_scaling

A float property that reads the valve scaling parameter. Only valid if gas-flow in auto mode.

property version

A string property that returns the version of the IPS.

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

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 None, 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.

wipe_sweep_table()

Wipe the currently programmed sweep table.

property x_pointer

An integer property to set pointers into tables for loading and examining values in the table. The significance and valid values for the pointer depends on what property is to be read or set.

property y_pointer

An integer property to set pointers into tables for loading and examining values in the table. The significance and valid values for the pointer depends on what property is to be read or set.