Eurotherm 2400 Furnace Controller
- class nupylab.drivers.eurotherm2400.Eurotherm2400(port: str, clientaddress: int, baudrate: int = 9600, timeout: float = 1)
Bases:
InstrumentInstrument class for Eurotherm 2400 series process controller.
- serial
pySerial serial port object, for setting data transfer parameters.
- setpoints
dict of available setpoints.
- programs
list of available programs, each program containing a list of segment dictionaries.
Connect to Eurotherm and initialize program and setpoint list.
- Parameters:
port – port name to connect to, e.g. COM1.
clientaddress – integer address of Eurotherm in the range of 1 to 254.
baudrate – baud rate, one of 9600 (default), 19200, 4800, 2400, or 1200.
timeout – timeout for communication in seconds.
- class Program(program_num: int, num_segments: int, eurotherm: Eurotherm2400)
Bases:
objectProgram class contains a list of Segment classes for each segment.
Program 0 is the working program and is read-only. Segment 0 for each program is Program General Data. Program must have its refresh method called before segments can be accessed.
- segments
list of segment dicts in program.
Create segment list and read current values.
- Parameters:
program_num – program number, from 0 to maximum number of programs supported by instrument.
num_segments – number of maximum program segments supported by instrument.
eurotherm – Eurotherm2400 instance. Provides read/write access.
- class Segment(offset: int, eurotherm: Eurotherm2400)
Bases:
dictA dictionary-like class for individual segments within a program.
Segment values in key-value pairs are modified to behave similarly to other Eurotherm Python properties. Segment must have its refresh method called once before values can be read and written.
Read initial segment type and values.
- Parameters:
offset (int) – segment register offset
eurotherm – Eurotherm2400 instance
- refresh(val: int | None = None) None
Create new dict from segment type.
- refresh() None
Create new dicts for all segments in program.
- class Setpoints(eurotherm: Eurotherm2400)
Bases:
dictSetpoints dictionary containing entries for valid setpoints in Eurotherm.
- eurotherm
Eurotherm2400 instance, for reading and writing registers
Create empty dictionary with access to eurotherm methods.
- Parameters:
eurotherm – Eurotherm2400 instance
- property active_setpoint
SP1, 2: SP2, 3: SP3, etc.
- Type:
1
- property current_program
Current program running (active program number).
- property current_segment_number
Read only.
- property current_segment_type
Read only.
- property operating_mode
Auto/manual mode select.
- property output_level
Power output in percent.
- property process_value
Process variable.
- property program_status
Program status.
- property program_time_remaining
Read only. Program time remaining in seconds.
- property programmer_cycles
Programmer cycles remaining. Read only.
- property programmer_setpoint
Read only.
- property ramp_rate
Read only.
- read_float(registeraddress: int, functioncode: int = 3, number_of_registers: int = 2, byteorder: int = 0) float
Convert to higher register to properly read floats.
- read_time(register: int) float
Read time parameters in seconds.
- property segment_setpoint
Read only.
- property segment_time_remaining
Read only. Segment time remaining in seconds.
- property target_setpoint
Target setpoint (if in manual mode).
- property working_setpoint
Working set point. Read only.
- write_float(registeraddress: int, val: float, number_of_registers: int = 2, byteorder: int = 0) None
Convert to higher register to properly write floats.
- write_time(register: int, val: float)
Write time parameters in seconds.