firmware-base/docs-c/components/OmronE5_Ex.md
2025-06-04 13:45:12 +02:00

4.0 KiB

title description keywords
OMRONE5_EX Component Documentation Documentation for the OMRONE5_EX component used for communication with Omron E5 temperature controllers OMRONE5_EX, Omron, E5, temperature controller, Modbus, RTU, industrial control

OMRONE5_EX

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.

REQUIREMENTS

  • ESP-32 with RS-485 interface for Modbus RTU communication
  • Omron E5 series temperature controller
  • RS-485 wiring between ESP-32 and the controller

FEATURES

  • 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

DEPENDENCIES

graph TD
  OMRONE5_EX --> ModbusClient
  OMRONE5_EX --> Logger

BEHAVIOUR

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

stateDiagram-v2
  [*] --> Initialize
  Initialize --> Ready
  Ready --> ReadRegisters: Read temperature
  Ready --> WriteRegisters: Change settings
  ReadRegisters --> Ready: Return data
  WriteRegisters --> Ready: Settings updated

TODOS

PERFORMANCE

  • 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

SECURITY

  • Add validation of values before writing to controller registers
  • Implement authentication for critical setting changes
  • Consider encryption for sensitive parameter transmission

COMPLIANCE

  • Ensure compliance with industrial control standards (IEC 61131)
  • Validate operation against Omron E5 series specifications

RECOMMENDATIONS

  • 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

EXAMPLE

// 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

References

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.