ModbusSimulator
✅ Windows 10/11 · No Hardware Needed

Modbus Slave Simulator — Test Your Master Before Connecting Real Hardware

Simulate any Modbus slave device — PLC, energy meter, VFD, sensor — on your Windows PC. Full RTU, TCP, ASCII and UDP support. Configure registers, trigger exceptions, log every request.

⬇ Download Free Trial — 30 Days See All Features ↓

No credit card · No registration · Windows 10/11 (64-bit)

What Does a Modbus Slave Simulator Do?

In a Modbus network, the slave (also called server) is the device that holds data — PLCs, energy meters, drives, remote I/O modules. The master reads and writes that data.

A Modbus slave simulator runs on your PC and behaves exactly like a real slave device. Your SCADA, HMI, or master application connects to it and reads/writes registers — without needing the physical device at all.

Engineers use it to: test SCADA/HMI screens before hardware delivery, develop Modbus drivers in software, validate edge cases like exception responses and timeouts, and train teams on Modbus without real equipment.

Common Use Cases

Engineers rely on ModbusSimulator's slave mode for these scenarios

🏭 SCADA / HMI Development

Build and test your SCADA screens or HMI tags before the PLC or field device is on-site. Simulate live register values including ramps, random data, and alarm thresholds.

⚡ Energy Meter Testing

Simulate Modbus energy meters (kWh, V, A, PF, Hz registers). Test your energy monitoring software against a device that matches your meter's register map — no meter required.

🔌 VFD / Drive Integration

Replicate the Modbus register map of ABB, Siemens, Danfoss, or Schneider drives. Develop and validate your drive control logic without tying up expensive hardware.

🌞 Solar / Renewable Energy

Simulate inverter Modbus registers (SunSpec profile or custom) for solar monitoring systems. Test data collection and alarming without a live inverter.

🧪 Master App Testing

Test your Modbus master application — custom software, Python script, PLC program — against a slave that behaves exactly as specified. Verify timeout handling, exception handling, and retry logic.

🎓 Modbus Training

Train engineers on Modbus protocol without real hardware. Students can read/write registers, observe exceptions, and understand request/response packets in a safe environment.

All Modbus Variants Supported

Slave mode works across every Modbus protocol variant

Modbus TCP

Slave server on port 502 (default) or any custom port. Multiple masters can connect simultaneously. Runs on localhost or any network interface.

Modbus RTU

Serial slave over COM ports (RS-232, RS-485). Supports virtual COM port pairs (com0com) for PC-to-PC RTU testing without physical hardware.

Modbus ASCII

ASCII framing mode for legacy serial systems. Full compliance with Modbus ASCII spec including LRC checksum and start/end characters.

Modbus UDP

UDP-based Modbus for low-latency broadcast applications. Included in the standard license — no extra cost.

Slave Mode — Key Features

📋

All Four Register Types

Configure Coils (0x), Discrete Inputs (1x), Input Registers (3x), and Holding Registers (4x) independently. Set any value in any register — integers, floats, hex, binary, BCD.

🔢

Up to 65,535 Registers Per Type

Full address space support. Define any register map that matches your real device specification — from simple 10-register sensors to complex 1000-register drive parameter sets.

🆔

Multiple Device IDs (Unit IDs)

Run up to 8 slave instances simultaneously on different Unit IDs (1–247). Simulate an entire Modbus network — multiple devices on the same TCP port or serial bus.

📝

Request Log — See Every Master Poll

A scrollable request log shows every read/write request from your master: function code, register address, value, timestamp. Essential for debugging PLC programs and SCADA drivers.

⚠️

Exception Response Simulation

Configure the slave to return any Modbus exception code (01–11) for specific register ranges or function codes. Test how your master handles Illegal Address, Device Failure, and other errors.

⏱️

Response Delay Simulation

Add configurable response delays (milliseconds) to simulate slow devices or network latency. Test your master application's timeout handling and retry logic under real-world conditions.

📊

Register Import / Export

Import register maps from CSV files to quickly load a device's full register configuration. Export current register values for documentation or to share test setups with colleagues.

🔄

Automatic Register Updates

Set registers to auto-increment, random, or sinusoidal patterns to simulate live sensor data. Your SCADA screens show changing values without manual input.

Modbus Register Types — Quick Reference

Configure all four types in the slave simulator

Register Type Address Range Read FC Write FC Typical Use
Coils (0x) 00001–09999 FC01 FC05, FC15 Digital outputs — relay on/off, valve open/close
Discrete Inputs (1x) 10001–19999 FC02 Read-only Digital inputs — switches, sensors, status bits
Input Registers (3x) 30001–39999 FC04 Read-only Analog inputs — temperature, pressure, current readings
Holding Registers (4x) 40001–49999 FC03 FC06, FC16 Analog outputs, setpoints, configuration parameters

Set Up the Slave Simulator in 3 Steps

1

Choose Protocol and Port

Select Modbus TCP (default port 502), Modbus RTU (select COM port and baud rate), or ASCII. For TCP testing on a single PC, use 127.0.0.1:502.

2

Configure Registers

Set values in the Holding Registers, Coils, Input Registers, and Discrete Inputs tables. Import a CSV register map if you have one, or enter values manually.

3

Start Slave and Connect Your Master

Click Start. Your SCADA, HMI, Python script, or PLC connects to the simulator. Watch the request log to see every poll — function code, register address, value written, timestamp.

Also need a Modbus Master?

ModbusSimulator includes both Master and Slave in a single license at $99 one-time. Run the master to poll your real device, and the slave to test your master application — all in one tool.

Try Free — 30 Days Compare vs Modbus Poll →

Frequently Asked Questions

What is the difference between Modbus master and Modbus slave?

The Modbus master (client) initiates all communication — it sends read/write requests. The Modbus slave (server) waits for requests and responds with data or acknowledgements. Real-world slaves are PLCs, energy meters, drives, and sensors. A slave simulator replaces those devices in testing so you can develop and validate the master application without physical hardware.

How do I test Modbus RTU slave without RS-485 hardware?

Install com0com (free, open source) to create a virtual COM port pair on Windows — e.g., COM10 and COM11. Connect ModbusSimulator's slave on COM10 and your master application on COM11. This gives you a complete RTU loop on a single PC with no physical adapter needed. Set both sides to the same baud rate, parity, and stop bits (e.g., 9600, N, 1).

Can multiple Modbus masters connect to the slave simulator simultaneously?

Yes, over Modbus TCP. Multiple SCADA clients, HMI displays, and monitoring tools can all connect to the simulator's TCP port at the same time — just as a real Modbus TCP device allows multiple client connections. For RTU mode, only one master at a time connects (as with real RS-485 networks).

How do I simulate a 32-bit float value in a Modbus holding register?

Modbus holds 16-bit values per register. A 32-bit float occupies two consecutive registers (e.g., 40001–40002). In ModbusSimulator, enter the float value and select "32-bit float" as the data type — the simulator automatically handles the register-pair encoding, byte order (big-endian or little-endian), and word-swap options to match your device's specification.

Does ModbusSimulator work with Ignition, Wonderware, WinCC, or other SCADA systems?

Yes. ModbusSimulator exposes a standard Modbus TCP interface (port 502 by default) that any Modbus-capable SCADA system can connect to — Ignition, Wonderware/AVEVA, WinCC, iFIX, Citect, InTouch, and custom applications. Configure the SCADA's Modbus driver to point to 127.0.0.1:502 (or the PC's IP) and it will communicate with the simulator just like a real device.

Is ModbusSimulator free?

ModbusSimulator offers a full-featured 30-day free trial — no credit card, no registration required. After the trial, a one-time license costs $99, which includes Master mode, Slave mode, all protocol variants (TCP, RTU, ASCII, UDP), and free updates. There is no subscription.

Simulate Your Modbus Slave — Free for 30 Days

No hardware needed · Windows 10/11 · Download in 30 seconds

⬇ Download Free Trial — v1.1.2 (Windows) View Pricing →

Questions? Email [email protected]