Eurotherm 3216 Furnace Controller
- class nupylab.drivers.eurotherm3216.Eurotherm3216(port: str, clientaddress: int, baudrate: int = 9600, timeout: float = 1, **kwargs)
Bases:
InstrumentInstrument class for Eurotherm 3216 process controller.
The 3216 has a program with 8 segments, all of which are executed upon program run, and each consisting of a target setpoint, ramp rate, and dwell time. Segment parameters are accessible by referencing the list of segment subclasses they are attached to, e.g. segments[0].ramp_rate for the ramp rate of the first segment.
- serial
pySerial serial port object, for setting data transfer parameters.
- segments
program segments, accessible as segments[0], segments[1], etc.
Connect to Eurotherm.
- 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 Segment(segment_num: int, eurotherm: Eurotherm3216)
Bases:
objectA class for each (target, ramp rate, dwell time) segment.
Create segment list and read current values.
- Parameters:
segment_num – segment number, from 1 to 8.
eurotherm – Eurotherm3200 instance. Provides read/write access.
- clear()
Set target setpoint, ramp rate, and dwell time to 0.
- property dwell: float
Segment dwell duration in seconds.
- property ramp_rate: float
Segment ramp rate.
- property target_setpoint: float
Segment target setpoint.
- property active_setpoint: int
SP1, 2: SP2.
- Type:
1
- property calculated_error: float
Error = PV - SP.
- property current_program_cycle: int
Current program cycle number.
- property end_type: str
Programmer end type.
- property output_level: float
Power output in percent.
- property process_value: float
Process variable.
- property program_cycles: int
Number of program cycles to run.
- property program_status: str
Program status.
- property ramp_units: str
Degrees per mins, hours, or secs.
- 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 remote_setpoint: float
Local/remote setpoint is selected with address 276.
- property remote_setpoint_enabled: bool
Select whether local or remote (comms) setpoint is selected.
Remote setpoint is stored in address 26.
- property setpoint1: float
Do not write continuously changing values to this variable.
- property setpoint2: float
Do not write continuously changing values to this variable.
- property setpoint_rate_limit: float
0 = no rate limit.
- property target_setpoint: float
Target setpoint (if in manual mode).
- property working_output: float
Read-only if in auto mode.
- property working_setpoint: float
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.