Skip to main content
Loading...
Free Open Source Cross-Platform

ModbusMechanic - Modbus Master/Slave Simulator

Free open-source Modbus TCP/RTU master and slave simulator with advanced data interpretation for float32, int32, ASCII and more. Cross-platform Java application for Windows, Linux and macOS.

Version

2.2.1

File Size

2.3 MB (ZIP)

Platform

Windows / Linux / macOS

Requires

Java 8+ (JRE)

Overview

ModbusMechanic is a versatile free Modbus simulator that can act as both a Modbus master and slave simultaneously. Unlike simple polling tools, it provides advanced data interpretation capabilities that display register values as float32, int32, int16, uint16, and ASCII strings - essential for debugging industrial devices that use different data formats.

Built with Java, ModbusMechanic runs on any platform with a Java Runtime Environment. This makes it particularly valuable for teams using mixed operating systems in their engineering workflows.

Key Features

🔁 Master + Slave Simultaneous

Run both Modbus master and slave at the same time. Test your master by simulating a slave device with configurable register data.

📊 Data Interpretation

Display register values as float32, int32, int16, uint16, ASCII strings, and hex. Essential for interpreting sensor readings and device parameters.

🌐 TCP and RTU Support

Full support for both Modbus TCP/IP and Modbus RTU serial communication with configurable parameters.

💻 Cross-Platform

Runs on Windows, Linux and macOS. Any system with Java 8+ can run ModbusMechanic without platform-specific builds.

🔎 Register Scanner

Scan a range of register addresses to discover which registers are active on a Modbus slave device.

📩 Traffic Sniffer

Capture and display raw Modbus TCP traffic on the network for protocol-level debugging and analysis.

Quick Start Guide

Prerequisites

Before running ModbusMechanic, ensure Java 8 or later is installed on your system. You can download Java from Adoptium (free, open-source).

Simulating a Modbus Slave

  1. Extract the downloaded ZIP file and run the JAR file: java -jar ModbusMechanic.jar
  2. Select Slave mode from the main interface
  3. Choose protocol: Modbus TCP (enter port, default 502) or Modbus RTU (select COM port)
  4. Configure registers: Set values for holding registers, input registers, coils and discrete inputs
  5. Start the slave - it will now respond to Modbus master requests
  6. Connect your master device (PLC, gateway or another ModbusMechanic instance) to test communication

Using as a Modbus Master

  1. Launch ModbusMechanic and select Master mode
  2. Configure connection: Enter IP address (TCP) or COM port (RTU)
  3. Set slave address and function code (read holding registers, write coils, etc.)
  4. Read/Write registers and view interpreted data in float32, int32 or ASCII format

Data Interpretation Guide

Understanding Modbus Register Data Formats

Data TypeRegisters UsedExample ValueCommon Use
Float32 (IEEE 754)2 registers0x41 0x20 0x00 0x00 = 10.0Temperature, voltage, current
Int32 (signed)2 registers0x00 0x00 0x03 0xE8 = 1000Counter values, energy
UInt16 (unsigned)1 register0x03E8 = 1000Status, small counts
ASCII StringN registers"ML-MOD" = 6 bytesDevice name, firmware version

Compatible with ModulesLink Products

Use ModbusMechanic to simulate slave devices when testing ModulesLink Modbus gateways. Configure the slave simulator with the same register map as your target device to validate gateway configuration before field deployment.

Frequently Asked Questions

What is ModbusMechanic used for?
ModbusMechanic is used for simulating both Modbus master and slave devices, testing Modbus communication, and interpreting register data in various formats including float32, int32, and ASCII strings. It is ideal for commissioning and debugging industrial Modbus networks.
Does ModbusMechanic require Java?
Yes, ModbusMechanic is a Java application and requires Java Runtime Environment (JRE) 8 or later. We recommend using the free Adoptium (Eclipse Temurin) JRE distribution for best compatibility.
Can ModbusMechanic simulate a Modbus slave device?
Yes, ModbusMechanic can simulate both Modbus master and slave devices simultaneously. You can configure register values and have a master device read from or write to the simulated slave. This is extremely useful for testing gateways and PLCs without physical devices.