Recommended ModulesLink Products
ModbusMechanic is ideal for testing and commissioning these industrial communication modules
RS-485 Transceiver
- Up to 5000VDC isolation
- ESD protection ±8kV
- 256 nodes on bus
- -40°C to +105°C
CAN Transceiver
- Up to 5000VDC isolation
- CAN 2.0A/2.0B protocol
- ESD ±8kV, Surge ±4kV
- -40°C to +105°C
Digital Isolators
- Up to 5000VDC isolation
- CMTI >100kV/µs
- Data rate 150Mbps
- -40°C to +125°C
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
- Extract the downloaded ZIP file and run the JAR file:
java -jar ModbusMechanic.jar - Select Slave mode from the main interface
- Choose protocol: Modbus TCP (enter port, default 502) or Modbus RTU (select COM port)
- Configure registers: Set values for holding registers, input registers, coils and discrete inputs
- Start the slave - it will now respond to Modbus master requests
- Connect your master device (PLC, gateway or another ModbusMechanic instance) to test communication
Using as a Modbus Master
- Launch ModbusMechanic and select Master mode
- Configure connection: Enter IP address (TCP) or COM port (RTU)
- Set slave address and function code (read holding registers, write coils, etc.)
- Read/Write registers and view interpreted data in float32, int32 or ASCII format
Data Interpretation Guide
Understanding Modbus Register Data Formats
| Data Type | Registers Used | Example Value | Common Use |
|---|---|---|---|
| Float32 (IEEE 754) | 2 registers | 0x41 0x20 0x00 0x00 = 10.0 | Temperature, voltage, current |
| Int32 (signed) | 2 registers | 0x00 0x00 0x03 0xE8 = 1000 | Counter values, energy |
| UInt16 (unsigned) | 1 register | 0x03E8 = 1000 | Status, small counts |
| ASCII String | N registers | "ML-MOD" = 6 bytes | Device 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.