Omron E5 Furnace Controller
- class nupylab.drivers.omron_e5.OmronE5(port: str, clientaddress: int, channels: int = 2, baudrate: int = 9600, parity: str = 'even', bytesize: int = 7, stopbits: int = 2, timeout: float = 0.05, write_timeout: float = 2.0)
Bases:
objectInstrument class for Omron E5A(E)R-T based on CompoWay/F communication.
- serial
pySerial serial port object, for setting data transfer parameters.
- default_channel
channel to write and read from if not explicitly specified
Initialize communication settings and connect to Omron.
Serial connection settings including baudrate, parity, bytesize, stopbits, timeout, and write_timeout can be changed after initialization.
- Parameters:
port – port name to connect to, e.g. COM1.
clientaddress – integer address of Omron in the range of 1 to 99.
channels – number of input channels. E5ER-T comes with 2 inputs, E5AR-T comes with 2 or 4 inputs.
baudrate – baud rate, one of 9600 (default), 19200, or 38400.
parity – even, odd, or none.
bytesize – number of data bits.
stopbits – number of stopbits.
timeout – read timeout in seconds.
write_timeout – write timeout in seconds.
- Raises:
ValueError – if Omron or serial parameters are out of range.
SerialException – if device cannot be found or configured.
- configure() None
Move to Setting Area 1 and stops operation.
Allows writing to Omron configurational settings. To return to Setting Area 0, use
reset_software(), or turn power OFF and ON.
- echoback(data: str) str
Perform an echoback test.
- Parameters:
data – string to send to Omron, maximum length 200.
- Returns:
string of echoed data.
- read(command: str) bytes
Execute read command.
- Parameters:
command – string command to send to Omron.
- Returns:
Reponse from Omron as bytes object.
- read_decimal(command: str, decimals: int = 1) float
Write command and convert response to signed decimal.
- Parameters:
command – string command to send to Omron.
decimals – number of decimal places in response.
- Returns:
Response from Omron converted to a float.
- read_int(command: str, signed: bool = False) int
Read command and convert to signed integer.
- Parameters:
command – string command to send to Omron.
signed – whether integer response should be interpreted as signed.
- Returns:
Omron response converted to integer.
- reset_software() None
Reset software, equivalent to turning power OFF and ON.
- save_ram() None
Write set values to EEPROM.
- Written set values include:
Operation Level
Program Setting Level
Adjustment Level
Adjustment 2 Level
Alarm Set Setting Level
PID Setting Level
Time Signal Setting Level
Approximation Setting Level.
- property version: str
Get Omron software version string.
- write(command: str) None
Execute write command.
- Parameters:
command – string command to send to Omron.
- write_decimal(command: str, val: float, decimals: int = 1) None
Write command with decimal value.
Convert value to two’s complement int, then 8-wide hex and write command.
- Parameters:
command – string command to send to Omron.
val – float value to send to Omron.
decimals – number of decimal places in response.
- write_int(command: str, val: int) None
Convert val to two’s complement int, then 8-wide hex, and write command.
- Parameters:
command – string command to send to Omron.
val – integer value to write.
- property writing_enabled: bool
Control whether communications writing is enabled. True or False.
- class nupylab.drivers.omron_e5.OmronE5Channel(parent: OmronE5, channel_num: int)
Bases:
objectIndividual input channel for Omron E5AR and E5ER.
- omron
Omron parent class.
Create Omron input channel.
- Parameters:
parent – Omron class instance channel belongs to.
channel_num – channel number, 1 to 4.
- property alarm_1_limits_1: Tuple[float, float]
Control alarm set 1, lower and upper limits 1.
Returns and sets as a tuple of (lower_limit, upper_limit).
- property alarm_1_limits_2: Tuple[float, float]
Control alarm set 1, lower and upper limits 2.
Returns and sets as a tuple of (lower_limit, upper_limit).
- property alarm_1_setpoint_1: float
Control alarm set 1, value 1.
- property alarm_1_setpoint_2: float
Control alarm set 1, value 2.
- property analog_decimals: int
Control number of decimal places displayed, if input type is analog.
Valid range is 0 to 4.
- property autotune_status: str
Control PID autotune status.
Valid options are run or stop. Applies to current PID number only.
- property input_type: Tuple[int, str]
Control input type. Can only set from Setting Area 1.
Getting this property returns tuple with integer value and string input type. Temperature input type can be set with either integer or string. Analog imput type must be set with integer. Input type (temperature or analog) must agree with input type switch.
- property internal_setpoint: float
Read internal setpoint.
- property operating_mode: str
Control auto/manual mode. Must be auto or manual.
- property output_power: float
Control power output in percent. Negative values indicate cooling.
- Valid range is
-5.0 to 105.0 for standard ouput -105.0 to 105.0 for heat/cool output -10.0 to 110.0 for position proportional output
Settable only if
operating_modeis set to manual.
- property pid_number: int
Control PID set number. Valid range is 1 to 8, or 0 (automatic).
- property present_setpoint: float
Read present setpoint.
- property present_value: float
Read present value.
- property setpoint_mode: str
Control setpoint mode. Must be local or remote.
- property status: List[str]
Read Omron status.
- class nupylab.drivers.omron_e5.OmronE5T(port: str, clientaddress: int, channels: int = 2, baudrate: int = 9600, parity: str = 'even', bytesize: int = 7, stopbits: int = 2, timeout: float = 0.05, write_timeout: float = 2.0)
Bases:
OmronE5Instrument class for Omron E5A(E)R-T based on CompoWay/F communication.
- serial
pySerial serial port object, for setting data transfer parameters.
- default_channel
channel to write and read from if not explicitly specified
Initialize communication settings and connect to Omron.
Serial connection settings including baudrate, parity, bytesize, stopbits, timeout, and write_timeout can be changed after initialization.
- Parameters:
port – port name to connect to, e.g. COM1.
clientaddress – integer address of Omron in the range of 1 to 99.
channels – number of input channels. E5ER-T comes with 2 inputs, E5AR-T comes with 2 or 4 inputs.
baudrate – baud rate, one of 9600 (default), 19200, or 38400.
parity – even, odd, or none.
bytesize – number of data bits.
stopbits – number of stopbits.
timeout – read timeout in seconds.
write_timeout – write timeout in seconds.
- Raises:
ValueError – if Omron or serial parameters are out of range.
SerialException – if device cannot be found or configured.
- property ramp_mode: str
Control program ramp mode. Can only set from Setting Area 1.
Valid options are time or rate. Default is time. If set to time,
time_unitsapplies to both soak time and ramp time. If set to rate,time_unitsapplies only to soak time, andramp_unitsapplies to ramp rate.
- property ramp_units: str
Control ramp rate units. Only applies if
ramp_modeis set to rate.Valid options are 10h (10 hours), hours, mins, and secs. Default is mins. Can only be set from Setting Area 1.
- property time_units: str
Control progammer time units. Can only set from Setting Area 1.
Applies to soak time and ramp time for step time programming, applies only to soak time for ramp rate programming.
Valid options are hhmm (hour, minute), mmss (minute, second), or mmssd (minute, second, desisecond). Default is hhmm.
- class nupylab.drivers.omron_e5.OmronE5TChannel(parent: OmronE5T, channel_num: int)
Bases:
OmronE5ChannelIndividual input channel for Omron E5AR-T and E5ER-T.
- omron
Omron parent class.
- program
class for active program containing a list of segments.
Create Omron input channel.
- Parameters:
parent – Omron class instance channel belongs to.
channel_num – channel number, 1 to 4.
- class Program(channel: OmronE5TChannel, channel_num: int)
Bases:
objectProgram class for each Omron input channel.
Only supports 8 segments regardless of channel setting.
- channel
Omron channel program belongs to.
- segments
list of segment classes
Create program class.
- Parameters:
channel – Omron Program Channel class instance.
channel_num – Omron channel number.
- class Segment(program: Program, address: str)
Bases:
objectSegment class for program.
Create program segment.
- Parameters:
program – OmronE5TChannel program instance.
address – first two characters of segment address.
- property ramp_rate: float
Control segment ramp rate.
- property setpoint: float
Control segment setpoint.
- property time: float
Control segment time. Formatted as decimal, e.g. 99.59.
- property segments_used: int
Control number of segments used. Valid range is 1 to 8.
- property var: str
Get variable area for current program number. Read only.
- property fixed_setpoint: float
Control fixed setpoint.
- property num_segments: int
Control number of segments in programs.
Valid options are 8, 12, 16, 20, and 32. Default is 16. The maximum number of programs than can be set depends on the number of segments. 8 segments: 32 programs 12 segments: 20 programs 16 segments: 16 programs 20 segments: 12 programs 32 segments: 8 programs
- property pid_number: int
Control PID set number. Valid range is 1 to 8, or 0 (automatic).
- property program_num: int
Control active program number. Valid range is 1 to 32.
- property program_status: List[str]
Control program status.
Getting this property returns list of program status conditions. Valid set values are run or reset.
- property setpoint_mode: str
Control setpoint mode. Must be program, remote, or fixed.