✓ Modbus TCP Server Simulator — Port 502 — Windows

Modbus Server Simulator

Simulate a Modbus TCP server (slave) on your PC and test SCADA systems, HMIs, OPC-UA gateways, and PLCs without connecting real hardware. Runs on port 502. 32 concurrent clients. Free 30-day trial.

↓ 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
32
Concurrent Clients
65535
Max Registers
247
Unit IDs Supported

What is a Modbus Server Simulator?

In Modbus/TCP, a server is the device that holds register data and responds to client requests — what classic Modbus called a "slave." A Modbus server simulator is software that runs a fake Modbus TCP server on your Windows PC, letting your SCADA system, HMI, OPC-UA gateway, or PLC driver connect and talk to it over Ethernet as if it were a real field device.

You configure the register map (holding registers, coils, input registers), set the values you want the server to return, and your client application reads them over TCP port 502 — exactly as it would from a real Modbus-enabled PLC, meter, or sensor.

This is essential for developing and testing industrial software before hardware is available, verifying driver integration, or creating automated regression tests for SCADA and HMI applications.

Modbus Server Simulator Features

🌐

Modbus TCP Server on Port 502

Starts a Modbus TCP/IP server on the standard port 502 (configurable). Any Modbus TCP client — SCADA, HMI, OPC-UA gateway, pymodbus, Node-RED — can connect and read/write registers immediately. Works on localhost or LAN.

👥

32 Simultaneous Client Connections

Up to 32 Modbus TCP clients can connect to the same simulated server at once. Test real-world scenarios where multiple historian clients, HMI panels, and OPC servers all poll the same Modbus device simultaneously.

📊

Full Register Map — All Four Types

Configure Holding Registers (FC03/FC16), Coils (FC01/FC05/FC15), Input Registers (FC04), and Discrete Inputs (FC02). Set register values manually or import a CSV from your device datasheet. Supports INT16, UINT16, INT32, FLOAT32, and bit-level coil addressing.

🔢

Multiple Unit IDs (Multiple Devices)

Simulate multiple Modbus servers with different Unit IDs (1–247) on the same TCP port using Modbus/TCP Unit ID routing. Test how your SCADA system handles multiple devices behind a single gateway — without any physical hardware.

📈

Dynamic Register Value Simulation

Configure registers to automatically change over time — sine wave, sawtooth, random noise, or custom step patterns. Simulate live sensor readings so your HMI trending and historian logging can be tested with realistic, changing data.

🚨

Exception and Timeout Simulation

Return Modbus exception codes for specific function codes or register ranges to test your client error handling. Simulate network timeouts and delayed responses to verify your SCADA system's retry logic and alarm handling.

📋

Real-Time TCP Transaction Log

Every Modbus/TCP frame is logged with timestamp, client IP:port, function code, register address range, and response values. Export to CSV for debugging sessions. Filter by Unit ID or function code to find issues fast.

🔌

RTU-over-TCP (Encapsulation) Support

Some older SCADA drivers send Modbus RTU frames encapsulated in TCP instead of standard Modbus/TCP. ModbusSimulator handles both standard Modbus/TCP (with MBAP header) and RTU-over-TCP encapsulation with a single toggle.

Use Cases for Modbus Server Simulation

🏭 SCADA Driver Development

Develop and test Modbus TCP driver configurations in Ignition, Wonderware, WinCC, and other SCADA platforms. Validate tag addressing, data type mapping, and polling intervals before connecting to a real PLC.

💻 HMI Screen Testing

Build and test HMI screens with live Modbus data without a running PLC. Simulate process values, alarm conditions, and setpoint responses to verify screen logic and alarm handling in your HMI software.

🔗 OPC-UA Gateway Integration

Test OPC-UA to Modbus gateway devices and software. Configure the simulator as the backend Modbus server and verify the OPC-UA namespace, browse structure, and data mapping before live commissioning.

🐍 Python / Node.js Testing

Test Modbus TCP client code written in pymodbus, node-modbus, libmodbus, or any other library. Run the simulated server on localhost and write automated unit tests that verify register reads, writes, and exception handling.

⚡ Energy Meter Emulation

Simulate Modbus TCP energy meters (Eastron SDM, Carlo Gavazzi, ABB) for building energy management and power monitoring system development. Pre-configure register maps from manufacturer datasheets.

🧪 Regression Testing

Use the REST API or command-line interface to automate register value injection and compare SCADA historian output against expected values. Integrate Modbus simulation into your CI/CD pipeline.

Modbus Server vs Modbus Client — What's the Difference?

Modbus/TCP uses the terms server and client (instead of the classic RTU terms slave/master):

Role Classic Modbus RTU Modbus TCP Example Device
Holds register data Slave Server PLC, sensor, meter, drive
Sends requests Master Client SCADA, HMI, OPC-UA gateway
Protocol RS-485 / RS-232, binary CRC TCP/IP, port 502, MBAP header Both use same function codes

ModbusSimulator simulates both sides: run it as a server (slave) when testing your SCADA driver, or switch to client (master) mode to poll a real Modbus device on your network.

Frequently Asked Questions

What is a Modbus server simulator?

A Modbus server simulator is software that emulates a Modbus TCP device (server/slave) on your PC. Your SCADA, HMI, or OPC-UA client connects to it on TCP port 502 and reads/writes registers as if it were a real field device. Used to test and develop industrial software without physical hardware.

Is Modbus server the same as Modbus slave?

Yes. In Modbus/TCP, "server" = "slave" (holds data, responds to requests) and "client" = "master" (sends requests). The terminology changed with Modbus/TCP to align with standard network terms. ModbusSimulator supports both and handles both naming conventions.

What port does the Modbus server use?

Standard Modbus TCP uses port 502. ModbusSimulator defaults to port 502 but supports any port. If port 502 is restricted by firewall or you need multiple servers on the same PC, you can configure alternative ports like 1502 or 5020.

Can multiple SCADA clients connect to the simulated Modbus server?

Yes. ModbusSimulator supports up to 32 simultaneous TCP connections. Multiple SCADA clients, HMI panels, and historian software can all poll the same simulated server at the same time — exactly as in production environments.

Can I run multiple Modbus servers on the same PC?

Yes. Run multiple instances of ModbusSimulator, each on a different TCP port (e.g., one on 502, another on 1502). Each instance has its own independent register map and Unit IDs. Useful for testing multi-device SCADA configurations.

Does it work with Ignition, WinCC, or Wonderware SCADA?

Yes. ModbusSimulator is tested with Ignition (Inductive Automation), Siemens WinCC, Wonderware InTouch, Kepware KEPServerEX, Matrikon OPC, and all major SCADA platforms. Configure the SCADA Modbus TCP driver to connect to 127.0.0.1:502 and it works immediately.

Is there a free version of the Modbus server simulator?

Yes. ModbusSimulator offers a free 30-day trial with all features unlocked — no registration or credit card required. After the trial, the full license is $99 (one-time, no subscription). The trial is fully functional with no register count limitations.

Ready to Simulate Your Modbus Server?

Free 30-day trial. No registration. Windows 10/11. Download in 30 seconds.

↓ Download Free Trial

Also available: Modbus TCP Simulator · Modbus RTU Simulator · Modbus Slave Simulator