✓ Modbus TCP/IP Simulator — Windows 10/11

Modbus TCP Simulator

Simulate Modbus TCP/IP slave and master devices on Windows — port 502, localhost or network. Test your SCADA, HMI, and PLC Modbus TCP drivers without hardware.

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

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

502
Default TCP Port
8
Simultaneous Slaves
65,535
Registers per Slave
$99
One-Time License

What is Modbus TCP?

Modbus TCP (also called Modbus TCP/IP or Modbus over TCP) is the Ethernet version of the Modbus protocol. It wraps the Modbus PDU (Protocol Data Unit) in a MBAP header and transmits it over a standard TCP/IP network on port 502. Unlike Modbus RTU (serial), Modbus TCP supports multiple simultaneous client connections and works over any IP network — LAN, VPN, or even the internet.

Modbus TCP is the dominant protocol in modern SCADA systems, energy management, building automation, and IIoT gateway integrations. Most modern PLCs, energy meters, VFD drives, and sensors support Modbus TCP out of the box.

A Modbus TCP simulator replaces the physical device during development and testing. Instead of waiting for hardware to arrive, you run the simulator on your PC, configure register values to match your device specification, and test your SCADA or HMI application immediately.

Modbus TCP Simulator Features

🌐

TCP Slave Server (Port 502)

Run a fully compliant Modbus TCP slave on port 502 (or any custom port). Accepts multiple simultaneous client connections from SCADA, HMI, PLCs, and Modbus master tools. Responds to FC01, FC02, FC03, FC04, FC05, FC06, FC15, FC16 requests.

🖥️

Modbus TCP Master Client

Connect to any Modbus TCP slave device or another simulator instance. Poll holding registers, coils, input registers with configurable polling intervals. View live values and log all responses with timestamps.

📊

Full Register Map — 65,535 Registers

Configure any value in all four register types: Holding Registers (FC03/FC16), Coils (FC01/FC05), Input Registers (FC04), Discrete Inputs (FC02). Import a CSV register map to pre-populate values from your device specification sheet.

🔢

32-bit Float, INT32, and DWORD Support

Set 32-bit values spanning two consecutive registers. Choose byte order: Big Endian (ABCD), Little Endian (DCBA), Mid-Big (BADC), Mid-Little (CDAB). Essential for energy meters and industrial sensors that use IEEE 754 float encoding.

Exception Response Simulation

Configure the simulator to return Modbus exception codes (01 Illegal Function, 02 Illegal Address, 03 Illegal Data Value, 04 Device Failure) for specific register ranges. Test how your master application handles error conditions before production deployment.

📋

Real-Time Transaction Log

See every Modbus TCP transaction — function code, unit ID, register address, value read/written, timestamp, response time. Export the log to CSV for debugging sessions or client reports.

🔄

8 Simultaneous Slave Instances

Run up to 8 Modbus TCP slaves at once — each with its own Unit ID, register map, and port. Simulate a full device network: energy meter (ID 1), VFD drive (ID 2), I/O module (ID 3), temperature controller (ID 4), all from a single Windows PC.

💾

Save and Reload Configurations

Save your slave configuration — register values, port settings, Unit ID, byte order — to a file. Reload instantly for the next test session. Share configuration files with your team so everyone tests against the same simulated device.

Who Uses the Modbus TCP Simulator

From PLC programmers to SCADA developers — engineers at every stage of the project use a TCP simulator to save time and avoid costly hardware mistakes.

🏗️ SCADA Developers

Test your Modbus TCP driver configuration in Ignition, WinCC, Wonderware, or iFIX before connecting the real PLC. Verify tag bindings, scaling, and alarm thresholds against a known register map.

⚙️ PLC Programmers

Develop and test Modbus TCP communication blocks in PLC ladder logic or function block code using the simulator as the remote device. Debug FC03 reads and FC16 writes without the actual hardware on the bench.

🏭 System Integrators

During FAT (Factory Acceptance Testing), simulate field devices that aren't yet installed. Validate the full communication stack — SCADA to PLC to field device — using the simulator in place of missing hardware.

🔌 IIoT / Gateway Developers

Test your Modbus-to-MQTT bridge, Modbus-to-REST API gateway, or cloud connector against a predictable TCP slave. Set known register values and verify the gateway reads and transforms them correctly.

🐍 Python / Node.js Developers

Building a Modbus client with pymodbus, minimalmodbus, or jsmodbus? Test your code against the simulator on localhost before connecting real hardware. Reproduce edge cases — timeouts, exception responses — on demand.

📚 Training & Education

Teach Modbus TCP protocol to technicians and engineers without needing physical hardware. Set up realistic register maps matching real equipment like Schneider or Siemens PLCs for hands-on learning exercises.

Set Up Modbus TCP in 3 Steps

1

Select Protocol and Port

Choose Modbus TCP from the protocol dropdown. Enter the IP address to bind to (0.0.0.0 for all interfaces, or a specific NIC IP) and the port (default: 502). For localhost testing, any client on the same PC connects to 127.0.0.1:502.

2

Configure Register Values

Enter values in the Holding Registers, Coils, Input Registers, and Discrete Inputs grids. Use the CSV import to load a complete register map from your device datasheet. Set data types (INT16, UINT16, FLOAT32) and byte order per register block.

3

Start the Slave and Connect

Click Start Slave. Point your SCADA system, PLC, or test script to 127.0.0.1:502. The transaction log shows every request received — function code, register address, value, and response time in real time.

Need Modbus RTU as well?

ModbusSimulator supports both Modbus TCP and Modbus RTU in a single $99 license — no extra purchase needed. Switch between TCP and RTU with one click. For RTU testing on a PC without RS-485 hardware, use a virtual COM port pair (com0com).

Modbus RTU Simulator → TCP vs RTU Comparison →

Modbus TCP vs RTU — Quick Reference

FeatureModbus TCPModbus RTU
Physical LayerEthernet / TCP/IPRS-485 / RS-232 serial
Default PortTCP port 502COM port (serial)
Multiple MastersYes (multiple TCP clients)No (single master per bus)
Max Distance100m per segment (unlimited with switches)1,200m (RS-485)
Error CheckingTCP checksum (MBAP header)CRC-16
Speed10/100/1000 Mbps Ethernet1,200–115,200 baud
Typical UseSCADA, IIoT, modern PLCsLegacy PLCs, drives, meters
ModbusSimulator Support✅ Full TCP/IP slave + master✅ RTU over COM / virtual COM

Switching from Modbus Poll or ModScan?

ModbusSimulator combines Modbus TCP master + slave in a single $99 license — compared to Modbus Poll which sells Master and Slave separately at ~$130+ combined. No subscription, lifetime updates included.

Compare vs Modbus Poll → Compare vs ModScan →

Frequently Asked Questions

What is Modbus TCP and how is it different from Modbus RTU?

Modbus TCP transmits Modbus frames over an Ethernet TCP/IP network using port 502. Each frame is wrapped in a 6-byte MBAP (Modbus Application Protocol) header. Modbus RTU uses a serial bus (RS-485 or RS-232) with CRC error checking and a single-master topology. Modbus TCP supports multiple simultaneous client connections; RTU supports one master per bus segment. ModbusSimulator handles both in the same application.

How do I test Modbus TCP on a single PC without a network?

Run ModbusSimulator as a TCP slave on 127.0.0.1:502 (the loopback interface). Any Modbus TCP master running on the same PC — SCADA software, pymodbus script, Modbus Poll — connects to 127.0.0.1:502 and communicates with the simulator as if it were a real network device. No Ethernet switch or cable needed.

Can I simulate Modbus TCP with multiple Unit IDs?

Yes. Modbus TCP supports Unit IDs (also called slave IDs or device IDs) 1–247 within the same TCP connection. ModbusSimulator can route requests to different register maps based on the Unit ID in the MBAP header. This lets you simulate a Modbus TCP gateway that aggregates multiple serial devices — each with its own Unit ID and register set.

Does the simulator work behind a firewall or NAT?

Yes. Bind the simulator to your PC's LAN IP address (e.g., 192.168.1.100:502). Open TCP port 502 on your Windows Firewall. Any device on the same network — or across a VPN — can connect to the simulator. For internet-facing testing, set up port forwarding on your router.

Which SCADA systems can I test against the simulator?

Any SCADA system with a Modbus TCP driver works: Ignition (Cirrus Link Modbus module), WinCC (Siemens), Wonderware / AVEVA, iFIX (GE), Citect SCADA, InTouch, EPICS, and any custom application using pymodbus, jsmodbus, or j2mod. Configure the driver to connect to 127.0.0.1:502 (local) or your PC's IP (network).

Is ModbusSimulator free?

A full-featured 30-day trial is free — no registration, no credit card required. After the trial, a one-time license is $99, which includes Modbus TCP, RTU, ASCII, UDP, Master mode, Slave mode, and all future version updates. There is no annual subscription.

Test Modbus TCP Without Hardware

Slave + Master · TCP + RTU + ASCII · Windows 10/11 · One-time $99

⬇ Download Free Trial — v1.2.0 View Pricing →

Questions? Email [email protected]