Best Modbus Simulator in 2026: Free and Paid Tools Compared
A Modbus simulator lets you test SCADA systems, IoT gateways, and custom Modbus clients without physical hardware. Whether you are commissioning a Schneider PM5560 power meter or developing a Modbus TCP driver for a PLC, a simulator saves hours of field time by letting you validate your code against predictable register values on your desk.
This guide compares the five most relevant Modbus simulators available in 2026 — covering features, platform support, pricing, and real-world usability. If you are new to the protocol, start with our What Is Modbus? primer, then come back for the tool comparison.
What Does a Modbus Simulator Do?
A Modbus simulator acts as a stand-in for one or more physical Modbus slave devices on a network. Instead of connecting your master software to a real power meter or PLC, you point it at the simulator. The simulator responds to read and write requests exactly as a physical device would — returning register values from holding registers, input registers, coils, and discrete inputs.
At a minimum, a Modbus slave simulator does three things:
- Listens for Modbus requests over TCP (port 502) or RTU (serial RS485) and responds according to the protocol specification
- Populates registers with values that you can configure manually or that the simulator generates automatically
- Handles all standard function codes — FC01 through FC06 for single reads and writes, FC15 and FC16 for multiple writes
The better simulators go further: they provide device templates with pre-built register maps for real industrial equipment, auto-drifting values that simulate realistic sensor behavior, and master mode so you can both poll devices and simulate them in the same tool. For a deeper look at how registers work and what each type stores, see our Modbus register types guide.
Why You Need a Modbus Simulator
If you work with Modbus in any capacity — system integration, IoT development, SCADA engineering, PLC programming — a simulator eliminates the dependency on physical hardware during development and testing. Here are the most common use cases:
- SCADA testing. Before deploying a SCADA system to a plant floor, test every register mapping, alarm threshold, and trending configuration against a simulator. Catch scaling errors and incorrect byte ordering before you are standing in a switchgear room at 2 AM.
- IoT gateway development. If you are building a Modbus-to-MQTT gateway or a cloud data pipeline, a simulator lets you iterate your driver code without needing a real device on your bench. Test edge cases like timeout handling, exception responses, and 32-bit register decoding.
- Training and onboarding. New engineers can learn Modbus polling, register mapping, and troubleshooting without risk of damaging physical equipment. A simulator provides a safe, repeatable environment for hands-on learning.
- Commissioning preparation. Pre-configure all your register maps, scaling factors, and unit IDs in the simulator. When you arrive on site, swap the simulator IP for the real device IP and everything should just work — or at least you will know the problem is physical wiring, not software configuration.
- Regression testing. Automated test suites can poll a simulator to verify that driver changes, firmware updates, and SCADA configuration modifications do not break existing register mappings.
Top Modbus Simulators Compared
1. MacTools Modbus Poll
MacTools Modbus Poll is a native macOS application that combines both Modbus master polling and slave simulation in a single tool. Built with Rust and Tauri, it runs directly on macOS without Windows, Parallels, Wine, or any virtualization layer. Both Apple Silicon (M1 through M4) and Intel Macs are supported natively.
What sets MacTools apart from every other simulator on this list is device templates. Instead of presenting blank registers that you must populate manually, MacTools includes pre-built register maps for real industrial devices:
- Schneider PM5560 power meter — voltage (L-N and L-L), current per phase, power factor, frequency, active and reactive power, kWh import and export totals at the correct register addresses documented in the PM5560 Modbus register manual
- SMA STP 60-US-10 solar inverter — DC string voltage and current, AC output power per phase, grid frequency, operating status, daily and cumulative energy yield
- ABB AZL402 water analyzer — pH, ORP (oxidation-reduction potential), turbidity, dissolved oxygen, temperature
- Endress+Hauser Promag 10W flowmeter — volumetric flow rate, totalized volume, conductivity, process temperature
- Daniel 1000 gas flow computer — differential pressure, static pressure, temperature, gas composition, corrected flow rate
- Raritan PX3-5902V rack PDU — per-outlet power consumption, inlet current, ambient temperature and humidity
Load a template and the simulator populates registers with correct addresses, data types (UINT16, INT32, FLOAT32), and auto-drifting values that behave like real sensor data. Voltage drifts under load. Power factor fluctuates. Energy counters increment over time. Your master software sees data that is indistinguishable from a physical device on the wire.
MacTools also supports Modbus RTU over USB-to-RS485 serial adapters (FTDI, CH340, CP2102, Prolific) with direct macOS serial port access — no VM passthrough issues. Custom register maps can be defined for any Modbus device not covered by the built-in templates.
Price: $19.99 one-time. . No subscription, no annual renewal.
2. Modbus Slave (Windows)
Modbus Slave is the companion tool to Modbus Poll, both published by ModbusTools. It is a Windows-only application that simulates up to 500 Modbus slave devices simultaneously. Each simulated device gets its own register space that you can configure manually.
The interface is a spreadsheet-style grid where you set register addresses and values. It supports Modbus TCP and RTU, all standard function codes, and can simulate multiple unit IDs on a single TCP connection. The communication logging is thorough, showing raw request and response frames with byte-level detail.
The limitations are significant. First, it is Windows-only. If you use macOS, you need Parallels Desktop ($99/year) or another VM, and USB-to-RS485 passthrough on Apple Silicon is unreliable. Second, Modbus Slave is slave-only. If you also need master polling capability, you must buy Modbus Poll separately for another $129. Third, there are no device templates. Every register must be configured manually — address, data type, scaling, and value. If you want to simulate a Schneider PM5560, you need the device's Modbus register manual open on your desk and 30 minutes of data entry.
Price: $129 for a single license. Master capability requires Modbus Poll ($129) as a separate purchase.
3. diagslave
diagslave is a free command-line Modbus simulator distributed by ModbusTools. It is available as a standalone binary for Windows and Linux (no macOS build). diagslave listens on a configurable TCP port or serial port and responds to Modbus master requests with values you specify.
Setup is minimal: run the binary with flags for port, baud rate, and slave ID. The tool handles FC01 through FC06. Register values are initialized to zero and can be set via command-line arguments or a simple text file. There is no GUI, no real-time editing of register values, and no way to simulate realistic sensor behavior.
diagslave is adequate for quick connectivity tests — verifying that your master can reach a TCP endpoint and parse a response. For anything beyond that (device-specific register maps, auto-drifting values, debugging complex register layouts), it falls short. There is also no active development; the tool has not seen a meaningful update in several years.
Price: Free.
4. PyModSlave
PyModSlave is an open-source Modbus simulator written in Python with a PyQt GUI. It runs on Windows, Linux, and macOS (via Python interpreter). The interface lets you configure register addresses, data types, and values through a basic table view.
Being cross-platform is PyModSlave's main advantage. If you need a quick simulator on Linux or macOS and do not want to spend money, PyModSlave works. It supports Modbus TCP and RTU, basic register configuration, and responds to standard function codes.
The problems are typical of unmaintained open-source projects. The last meaningful commit was in 2018. The UI is dated and does not scale well on high-DPI displays. There are no device templates, no auto-drifting values, and no custom register map support. Bug reports on GitHub go unanswered. Python dependency management (PyQt5, pyModbus) can be fragile across different OS versions. It works, but it feels like a prototype rather than a tool you would rely on during commissioning.
Price: Free (open source, MIT license).
5. ModRSsim2
ModRSsim2 is an open-source Modbus simulator for Windows built with C# and WinForms. It provides a GUI for editing register values in a table layout and supports Modbus TCP and RTU slave simulation.
The interface shows holding registers, input registers, coils, and discrete inputs in separate tabs. You can edit individual register values and see them update in real time when a master polls the simulator. It supports multiple simultaneous TCP connections and configurable unit IDs.
Limitations: Windows-only, WinForms UI that looks like a Windows XP application, no device templates, no auto-drifting values, and development has slowed considerably. The GitHub repository sees occasional community patches but no active feature development. For engineers who need to simulate specific devices with realistic register behavior, ModRSsim2 does not go far enough.
Price: Free (open source).
Comparison Table
Device Templates: Why They Matter
Most Modbus simulators give you a blank grid of registers initialized to zero. You manually set register 0 to 23000 (representing 230.0V), register 1 to 500 (5.00A), and hope your scaling is correct. This works for a basic connectivity test. It fails when you need to validate that your SCADA system correctly reads a Schneider PM5560's three-phase voltage with the right byte ordering, data type (FLOAT32 vs INT32), and scaling factor.
Device templates solve this by providing pre-built register maps that match real industrial devices. When you load the PM5560 template in MacTools Modbus Poll, the simulator knows that:
- Register address
0x0000(holding register) contains Phase A-N voltage as a FLOAT32 value across two registers - Register address
0x0008contains Phase A current - Register address
0x000Ccontains total active power - Register address
0x002Econtains cumulative kWh import as an INT64 across four registers
The values auto-drift realistically. Line voltage hovers around 230V with small fluctuations. Current varies with simulated load. Energy counters increment over time. Your SCADA trending charts look like real plant data, not flat lines at zero.
This matters because blank register simulators do not catch data type errors. If your driver reads a FLOAT32 value as two UINT16 registers and concatenates them wrong, a blank simulator will not reveal the bug — both registers are zero, so the concatenated value is also zero, which looks plausible. A device template with realistic FLOAT32 values will immediately show garbage readings in your SCADA, making the bug obvious.
The same principle applies to the SMA solar inverter template (string-level DC voltage, AC power output, energy yield), the ABB water analyzer template (pH, turbidity, dissolved oxygen), and every other template. Realistic register behavior catches bugs that blank registers cannot.
Frequently Asked Questions
What is the best Modbus simulator for macOS?
MacTools Modbus Poll is the best Modbus simulator for macOS. It is a native macOS application (no Windows VM, no Parallels, no Python) that provides both master polling and slave simulation in a single tool. It supports Modbus TCP and RTU, includes device templates for Schneider PM5560, SMA solar inverters, ABB analyzers, and more, with realistic auto-drifting register values. It costs $19.99 as a one-time purchase, compared to $129 for Modbus Slave plus $99/year for Parallels if you want to run Windows tools on macOS.
Can I simulate a Schneider PM5560 with a Modbus simulator?
Yes. MacTools Modbus Poll includes a built-in device template for the Schneider PM5560 power meter. The template populates the correct register addresses for voltage (L-N and L-L), current per phase, power factor, frequency, active and reactive power, and kWh totals. Values auto-drift realistically — voltage fluctuates around 230V, current varies with simulated load, and energy counters increment over time. Your SCADA system or master software will see data that is indistinguishable from a physical PM5560 on the network. No manual register configuration is required.
Is there a free Modbus simulator?
Yes. diagslave is a free command-line Modbus simulator available for Windows and Linux. It supports basic Modbus TCP and RTU slave simulation with configurable register values. However, it has no GUI, no device templates, no auto-drifting values, and no active development. PyModSlave is another free option built with Python and PyQt that provides a basic GUI, but it has not been actively maintained since 2018 and has compatibility issues with newer Python versions. For anything beyond basic connectivity testing, a commercial tool like MacTools Modbus Poll ($19.99 one-time) provides significantly more capability and reliability.
Try MacTools Modbus Poll
Native Modbus simulator for macOS. Master and slave modes in one app. Device templates for PM5560, SMA, ABB, and more with realistic auto-drifting values. $19.99 one-time, no subscription. .
Get MacTools Modbus Poll — $19.99Other macOS Modbus Tools You Might Need
Besides Modbus simulation, field engineers working on macOS often need complementary protocol tools. MacTools also includes:
- Serial Terminal for macOS — RS232/RS485 terminal with hex view and protocol analysis for debugging raw serial frames
- MQTT Explorer for macOS — native MQTT broker and client for testing IoT integrations alongside Modbus devices
- S7 Explorer for macOS — connect to Siemens S7-1200/1500 PLCs and read/write data blocks without Windows
- BLE Inspector for macOS — scan and debug Bluetooth Low Energy peripherals used in industrial sensor networks
Related: Full SCADA System
Need continuous monitoring with dashboards, alarms, and trending across all your Modbus devices? Voltrus SCADA supports Modbus TCP, Modbus RTU, OPC-UA, Siemens S7, Allen-Bradley, DNP3, BACnet, MQTT, and more. Lifetime license from $249.