aem-modbus-simulator
FreeOpen-source Python Modbus RTU/TCP slave simulator emulating an industrial DC voltage monitor (147 holding registers, 6 baudrates). Lets SCADA/PLC firmware engineers test Modbus integration in CI pipelines without physical hardware on the bench.
About aem-modbus-simulator
Open-source Python Modbus RTU/TCP slave simulator that emulates the full 147-holding-register map of the LRI AEM-60DC8 industrial DC voltage monitor. It simulates 8 independent DC voltage channels (0-60V, ±1% accuracy), an NTC temperature sensor with realistic drift, and supports function codes 03 (Read Holding) and 16 (Write Multiple). Configurable presets for telecom 48V, solar strings, and automotive 24V scenarios are included. Designed for SCADA/HMI/PLC integration testing, CI/CD pipelines, engineering training, and pre-deployment validation without requiring physical hardware.
Key Features
Pros & Cons
- Open-source and free to use
- Realistic emulation of a specific industrial device
- Supports both TCP and RTU Modbus modes
- Configurable presets for common deployment scenarios
- Useful for CI pipelines and automated testing without hardware
- Only models the LRI AEM-60DC8 register map, not generic Modbus devices
- Requires Python and pymodbus/pyserial dependencies
- Command-line only, no graphical interface