API for the Eurotherm3500 example driver

Driver for the Eurotherm3500 process controller, for communication via the Modbus RTU protocol.

class eurotherm3500.Eurotherm3500(portname, slaveaddress)[source]

Bases: minimalmodbus.Instrument

Instrument class for Eurotherm 3500 process controller.

Communicates via Modbus RTU protocol (via RS232 or RS485), using the MinimalModbus Python module.

Args:
  • portname (str): port name
  • slaveaddress (int): slave address in the range 1 to 247

Implemented with these function codes (in decimal):

Description Modbus function code
Read registers 3
Write registers 16
get_pv_loop1()[source]

Return the process value (PV) for loop1.

get_pv_loop2()[source]

Return the process value (PV) for loop2.

get_pv_module3()[source]

Return the process value (PV) for extension module 3 (A).

get_pv_module4()[source]

Return the process value (PV) for extension module 4 (A).

get_pv_module6()[source]

Return the process value (PV) for extension module 6 (A).

is_manual_loop1()[source]

Return True if loop1 is in manual mode.

get_sptarget_loop1()[source]

Return the setpoint (SP) target for loop1.

get_sp_loop1()[source]

Return the (working) setpoint (SP) for loop1.

set_sp_loop1(value)[source]

Set the SP1 for loop1.

Note that this is not necessarily the working setpoint.

Args:
value (float): Setpoint (most often in degrees)
get_sp_loop2()[source]

Return the (working) setpoint (SP) for loop2.

get_sprate_loop1()[source]

Return the setpoint (SP) change rate for loop1.

set_sprate_loop1(value)[source]

Set the setpoint (SP) change rate for loop1.

Args:
value (float): Setpoint change rate (most often in degrees/minute)
is_sprate_disabled_loop1()[source]

Return True if Loop1 setpoint (SP) rate is disabled.

disable_sprate_loop1()[source]

Disable the setpoint (SP) change rate for loop1.

enable_sprate_loop1()[source]

Set disable=false for the setpoint (SP) change rate for loop1.

Note that also the SP rate value must be properly set for the SP rate to work.

get_op_loop1()[source]

Return the output value (OP) for loop1 (in %).

is_inhibited_loop1()[source]

Return True if Loop1 is inhibited.

get_op_loop2()[source]

Return the output value (OP) for loop2 (in %).

get_threshold_alarm1()[source]

Return the threshold value for Alarm1.

is_set_alarmsummary()[source]

Return True if some alarm is triggered.