Skip to content

OMRONE5_EX Component Documentation

Path: src/omrone5_ex.h

Revision History:

  • Initial documentation

OMRONE5_EX is a component that provides a comprehensive interface for communication with Omron E5 series temperature controllers via Modbus RTU protocol. It includes an extensive mapping of the E5 controller’s Modbus register addresses for temperature monitoring, control settings, alarm management, and device configuration.

  • ESP-32 with RS-485 interface for Modbus RTU communication
  • Omron E5 series temperature controller
  • RS-485 wiring between ESP-32 and the controller
  • Complete mapping of Omron E5 temperature controller Modbus registers
  • Support for PV (Process Value) temperature monitoring
  • Access to controller status and settings
  • Management of control parameters (PID settings, set points)
  • Alarm configuration and monitoring
  • Support for various temperature input types and scaling
  • Communication and display settings control

OMRONE5_EX

ModbusClient

Logger

The component primarily serves as a register map for Modbus communication with Omron E5 controllers:

Read temperature

Change settings

Return data

Settings updated

Initialize

Ready

ReadRegisters

WriteRegisters

  • Consider implementing register caching to reduce communication overhead
  • Optimize reading of frequently used registers with multi-register read operations
  • Implement error recovery mechanisms for communication failures
  • Add validation of values before writing to controller registers
  • Implement authentication for critical setting changes
  • Consider encryption for sensitive parameter transmission
  • Ensure compliance with industrial control standards (IEC 61131)
  • Validate operation against Omron E5 series specifications
  • Create specialized methods for common operations (e.g., reading temperature, changing set points)
  • Implement a health monitoring system to detect controller disconnections
  • Add automatic reconnection capabilities after communication failures
  • Document temperature scaling factors for different sensor types
// Create an instance of the OMRONE5_EX component with Modbus connection
#ifdef USE_OMRON_E5_CONTROLLER
omronE5Controller = new OMRONE5_EX(
this, // owner
&modbusClient, // modbus client
OMRON_E5_UNIT_ID, // Modbus unit ID for the controller
OMRON_E5_UPDATE_RATE // Update rate in milliseconds
);
if (omronE5Controller) {
components.push_back(omronE5Controller);
Log.infoln(F("OMRONE5_EX initialized. Unit ID: %d, Update rate: %d ms"),
OMRON_E5_UNIT_ID, OMRON_E5_UPDATE_RATE);
// Configure controller with initial settings
omronE5Controller->writeRegister(
static_cast<uint16_t>(ModbusAddresses::OR_E5_SWR_SET_POINT),
initialSetPoint
);
} else {
Log.errorln(F("OMRONE5_EX initialization failed."));
}
#endif

The OMRONE5_EX component provides an extensive Modbus address map for the Omron E5 series temperature controllers, including addresses for:

  • Temperature monitoring (PV)
  • Controller status
  • Set points and control parameters
  • PID tuning parameters
  • Alarm configuration
  • Input and output settings
  • Display configuration
  • Communication parameters

For detailed information on each register’s purpose and valid values, refer to the Omron E5 Series User Manual.