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.
No registration · No credit card · Windows 10/11 · Download in 30 seconds
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
| Feature | Modbus TCP | Modbus RTU |
|---|---|---|
| Physical Layer | Ethernet / TCP/IP | RS-485 / RS-232 serial |
| Default Port | TCP port 502 | COM port (serial) |
| Multiple Masters | Yes (multiple TCP clients) | No (single master per bus) |
| Max Distance | 100m per segment (unlimited with switches) | 1,200m (RS-485) |
| Error Checking | TCP checksum (MBAP header) | CRC-16 |
| Speed | 10/100/1000 Mbps Ethernet | 1,200–115,200 baud |
| Typical Use | SCADA, IIoT, modern PLCs | Legacy PLCs, drives, meters |
| ModbusSimulator Support | ✅ Full TCP/IP slave + master | ✅ RTU over COM / virtual COM |
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.
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.
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.
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.
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.
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).
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.
Slave + Master · TCP + RTU + ASCII · Windows 10/11 · One-time $99
Questions? Email [email protected]