ModMaster - Modbus master simulator
ModMaster is a diagnostic program that operates as a Modbus master or client. It provides all the features of Modsak's master mode, but at a lower price.
ModMaster's main features are:
- The user can send individual requests to a Modbus slave, and ModMaster can also continually continually poll (send read and write requests to) the slave.
- Commands (and command sequences) may be defined and saved for re-use.
- Informative tracing of all Modbus messages sent and received providing interpreted data to aid understanding. The tracing may optionally include register values that have been read or written. All data that is sent or received may also be traced as raw data (in hex).
- Logging to a file, or a window, of tracing and diagnostic messages.
- All configuration settings may be saved to and restored from files, in XML format.
- Register definitions may be imported/exported in CSV format.
- Full support for coils, discrete inputs, input registers,
holding registers and file registers, using the following
- 1 Read Coils
- 2 Read Discrete Inputs
- 3 Read Holding Registers
- 4 Read Input Registers
- 5 Write Single Coil
- 6 Write Single Holding Register
- 7 Read Exception Status
- 8 Diagnostics
- 11 Get Comm Event Counter
- 12 Get Comm Event Log
- 15 Write Multiple Coils
- 16 Write Multiple Holding Registers
- 17 Report Slave ID
- 20 Read File Record
- 21 Write File Record
- 22 Mask Write Holding Register
- 23 Read/Write Multiple Holding Registers
- 24 Read FIFO Queue
- 43/14 Read Device Identification
- Custom commands
- Invalid commands - for testing the slave's error handling
- Supports network and serial (RS232/RS422/RS485) interfaces using the following protocol variants:
- Modbus TCP (also known as Modbus TCP/IP)
- Modbus RTU
- Modbus ASCII
- Modbus RTU encapsulated in TCP
- Modbus ASCII encapsulated in TCP
- Modbus UDP (also known as Modbus TCP encapsulated in UDP)
- Modbus RTU encapsulated in UDP
- Modbus ASCII encapsulated in UDP
- All known extensions of the Modbus protocol for handling 32-bit and 64-bit integers and floating-point numbers are supported (including Enron/Daniel Modbus).
- Can transfer a mixture of integers and floats, of different sizes, in a single message.
- Flexible address mapping allows separate or overlaid address spaces (for coils, discrete inputs, input registers, and holding registers) with arbitrary bases.
- Registers can be individually configured for type (integer, unsigned integer or float), size (1/8/16/32/64-bit), radix (binary, octal, decimal, hex, or char), and scale/offset.
- Configurable limits for register values, with highlighting of values out of range.
- Supports broadcast requests (slave ID 0).
- Full support for exception responses 10/0x0A ("Gateway Path Unavailable") and 11/0x0B ("Target Device Failed To Respond").
- Cross-platform: runs on any system that supports Java JRE 6 or later (serial communications is only supported on Windows, Linux x86 and Raspberry Pi ARM architectures).
- Manual and troubleshooting guide.
You can download the complete version of ModMaster for a free 3-day evaluation period.