✓ Modbus RTU Simulator — RS-485, RS-232, Virtual COM

Modbus RTU Simulator

Simulate Modbus RTU slave and master devices on Windows over RS-485, RS-232, or virtual COM port pairs. Test PLCs, VFD drives, energy meters, and sensors without hardware.

⬇ Download Free Trial — 30 Days $99 One-Time License →

No registration · No credit card · Windows 10/11 · Download in 30 seconds

9600
Default Baud Rate
247
Max Unit IDs
8
Simultaneous Slaves
CRC-16
Error Checking

What is Modbus RTU?

Modbus RTU (Remote Terminal Unit) is the most widely deployed variant of the Modbus protocol. It communicates over serial RS-485 or RS-232 buses, uses compact binary encoding with CRC-16 error checking, and follows a single-master/multiple-slave architecture. One Modbus master controls up to 247 slave devices on a single RS-485 bus.

Modbus RTU remains the dominant protocol for legacy PLCs, VFD drives, energy meters, temperature controllers, flow meters, and building automation devices. Despite being over 40 years old, billions of industrial devices still speak Modbus RTU.

A Modbus RTU simulator lets you develop and test Modbus RTU master applications — SCADA drivers, PLC communication blocks, Python scripts — without connecting real hardware. Set register values in the simulator, run your master, and validate the communication logic before commissioning.

Modbus RTU Simulator Features

🔌

Physical COM Port Support (RS-485 / RS-232)

Connect a USB-to-RS-485 adapter or RS-232 cable and run the simulator on a real serial port. Configurable baud rate (1200–115200), parity (None/Even/Odd), data bits (7/8), stop bits (1/2). Matches any legacy device specification exactly.

💻

Virtual COM Port (No Hardware Needed)

Use com0com or similar to create a virtual COM port pair (e.g., COM10/COM11). Run the RTU slave on COM10, your master on COM11. Fully functional Modbus RTU loop on a single PC with no serial adapter. Ideal for software development and CI/CD testing.

📡

Multiple Slave Unit IDs on One Bus

Simulate up to 8 slaves (Unit IDs 1–247) on a single COM port — exactly as a real RS-485 network operates. Each slave has its own independent register map. Test your master's ability to poll multiple devices, handle Unit ID addressing, and manage bus timing.

📊

Full Register Map — Holding, Coils, Inputs

Configure all four Modbus register types: Holding Registers (FC03/FC16), Coils (FC01/FC05/FC15), Input Registers (FC04), Discrete Inputs (FC02). Import CSV register maps from your device datasheet. Supports INT16, UINT16, INT32, UINT32, FLOAT32 data types with configurable byte order.

RTU Master Mode — Poll Any Slave

Switch to Master mode to poll a real Modbus RTU device on the same COM port. Configure polling interval, register range, and function codes. View live values and log all transactions with timestamps and CRC status.

🚨

Exception and Error Simulation

Configure the simulator to return Modbus exception responses for specific register ranges or function codes — Illegal Function (01), Illegal Address (02), Illegal Data Value (03), Device Failure (04). Test your master's error handling logic without breaking real hardware.

📋

Real-Time Serial Transaction Log

See every RTU frame — raw bytes, function code, Unit ID, register address, CRC check result, and response time. Export the log to CSV for debugging sessions or client documentation.

🔤

Modbus ASCII Mode Included

Switch to Modbus ASCII (same serial port, hex-encoded framing, LRC checksum) with one click. Full support for legacy ASCII-mode devices. Same register configuration, same UI — just a different framing layer.

Test Modbus RTU Without RS-485 Hardware

Use a virtual COM port pair to get a complete Modbus RTU test loop on one PC. Here's how:

1

Install com0com

Download com0com (free, open-source) and install. In the com0com Setup, create a port pair — e.g., COM10 ↔ COM11. This creates a virtual null-modem connection between two COM ports on the same PC.

2

Configure ModbusSimulator on COM10

Open ModbusSimulator, select Modbus RTU Slave, choose COM10, set baud rate to 9600, parity None, stop bits 1. Set Unit ID to 1. Enter register values. Click Start.

3

Connect Your Master to COM11

Configure your SCADA system, PLC programming software, or test script to use COM11 at the same baud rate and settings. It communicates with the simulator as if it were a real RS-485 device on the other end of a cable.

Tip: For RS-485 testing with real hardware, connect a USB-to-RS-485 adapter (FTDI-based adapters work well). The adapter creates a COM port that ModbusSimulator uses directly. Use proper RS-485 termination (120Ω) on long bus runs.

Who Uses the Modbus RTU Simulator

⚙️ PLC Programmers

Test FC03 read and FC16 write blocks in ladder logic or ST programs before the field device arrives. Run the simulator as the slave on a virtual COM port and the PLC software (Siemens TIA Portal, Codesys, RSLogix) as the master.

🏗️ SCADA / HMI Developers

Configure your SCADA Modbus RTU driver and test tag bindings against a known register map. Verify that engineering unit scaling, alarm limits, and data types are correct before connecting the real PLC or meter.

⚡ VFD / Drive Integration

Simulate the Modbus register map of a VFD drive (ABB, Siemens Sinamics, Danfoss, Schneider ATV) during control system development. Test speed setpoint writes (FC16) and status reads (FC03) without the drive powered up.

🔋 Energy Meter Testing

Simulate energy meter registers (voltage, current, power, energy kWh) for power monitoring system development. Set 32-bit float values in the correct byte order to match meters like Eastron SDM630 or Schneider iEM.

🐍 Python / Script Developers

Test pymodbus, minimalmodbus, or umodbus client scripts against the simulator running on a virtual COM port. Reproduce timeout errors, CRC errors, and exception responses on demand to harden your error handling code.

📚 Training & Education

Teach Modbus RTU protocol — addressing, function codes, CRC, byte order — using the simulator as a hands-on training device. No RS-485 hardware required; everything runs on a single Windows laptop.

Common Modbus RTU Serial Settings

Device TypeBaud RateParityData BitsStop Bits
Siemens S7-1200/1500 (Modbus RTU)9600 or 19200Even81
Schneider ATV Drives19200None81
ABB VFD Drives9600None81
Eastron SDM Energy Meters9600None81
Delta PLC (DVP/AS)9600Even71
Mitsubishi FX/Q Series19200Even71
Generic Modbus RTU9600None81

Always match baud rate, parity, data bits, and stop bits exactly between master and slave. A mismatch causes CRC errors or no response.

Also need Modbus TCP?

ModbusSimulator supports both Modbus RTU and Modbus TCP in a single $99 license. Switch between serial and Ethernet with one click — same register map, same UI. No need to buy separate tools for RTU and TCP.

Modbus TCP Simulator → RTU vs TCP Guide →

Frequently Asked Questions

How do I set up Modbus RTU without RS-485 hardware?

Install com0com (free, open-source) to create a virtual COM port pair — e.g., COM10 and COM11. Run ModbusSimulator's RTU slave on COM10. Connect your SCADA, PLC software, or test script to COM11. Both ends use the same baud rate and serial settings. The virtual pair passes data between them exactly like a real RS-485 cable would — no physical adapter needed.

What baud rate should I use for Modbus RTU?

9600 baud is the most common default for Modbus RTU devices. Many modern PLCs and drives also support 19200 or 38400 baud for faster polling. The baud rate must be identical on both master and slave — a mismatch causes framing errors and no response. Check your device manual for the factory default; most allow configuration via the device keypad or parameter software.

Can I simulate multiple Modbus RTU slave devices on one RS-485 bus?

Yes. A single RS-485 bus supports up to 247 slaves (Unit IDs 1–247) with one master. ModbusSimulator can emulate up to 8 slaves simultaneously on a single COM port, each with its own Unit ID and register map. This lets you test a master application that polls multiple devices — without needing multiple physical hardware units.

Does the simulator support 32-bit float registers?

Yes. Modbus RTU registers are 16-bit (holding registers, input registers). 32-bit values — float, INT32, UINT32 — span two consecutive registers. ModbusSimulator lets you set a 32-bit float value and choose the byte order (ABCD big-endian, CDAB little-endian, BADC/DCBA mid-swapped) to match your device's register documentation. This is critical for energy meters and VFD drives that use IEEE 754 float encoding.

Can I test Modbus RTU CRC error handling with the simulator?

ModbusSimulator generates valid CRC-16 frames on all responses. To test your master's CRC error handling, you can use a serial terminal or packet injection tool to inject corrupted frames. Alternatively, configure the simulator to return exception responses — which triggers error paths in your master code — for specific register addresses or function codes.

Is ModbusSimulator compatible with Siemens, ABB, or Schneider PLC Modbus drivers?

Yes. ModbusSimulator implements the standard Modbus RTU specification. Any compliant Modbus RTU master — Siemens TIA Portal Modbus RTU blocks, Codesys Modbus SL library, ABB AC500 Modbus driver, Schneider Modicon Modbus — can communicate with the simulator. Configure the PLC's COM port settings to match the simulator's baud rate, parity, and stop bits.

Simulate Modbus RTU — Free for 30 Days

RS-485 · RS-232 · Virtual COM · Master + Slave · Windows 10/11

⬇ Download Free Trial — v1.2.0 View Pricing →

Questions? Email [email protected]