Server Overview
Server mode turns Modbux into a virtual Modbus device. You simulate a server (slave) that a client can connect to, without needing any physical hardware. Choose between TCP (network) and RTU (serial) mode.
TCP servers start automatically as soon as you create them. RTU servers activate when a valid COM port is configured. A status indicator shows whether the RTU server is active — click it to reconnect if needed.
When do you use Server mode?
- You're developing software that needs to communicate with a Modbus device, but the device isn't available yet
- You want to test your client configuration before working with a real device
- You want to set up a demo environment
- You want to develop both sides of a communication simultaneously with Split mode
- You need to simulate an RTU device on a serial bus for hardware testing
Features
TCP and RTU
Switch between TCP (network) and RTU (serial) server mode with a toggle. TCP supports multiple simultaneous servers, RTU runs a single server on a serial port.
Multiple Unit IDs
A single server can simulate up to 248 virtual devices (Unit ID 0-247), each with their own registers. For example, simulate a temperature sensor on ID 1 and a pressure sensor on ID 2.
Multiple servers (TCP)
In TCP mode, run up to 10 independent servers simultaneously, each on its own port. Useful when you need to test multiple network segments or protocol variants.
Value generators
Let register values randomize automatically between a min and max at a set interval. Time-based generators for Unix timestamps and datetime registers output the current system time.
Bitmap data type
Define 16-bit bitmaps with per-bit toggle circles. Useful for simulating status registers where each bit represents an independent flag.
UTF-8 strings
Store text values across multiple registers (1-124 registers) with a real-time byte counter. Ideal for simulating device names, serial numbers or status messages.
Timestamps
Unix timestamps (2 registers) and datetime in IEC 870-5 format (4 registers). Industry-standard time representations used in SCADA and automation systems.
Interface at a glance
At the top you'll find the server toolbar. From left to right: the connection settings (port for TCP, or COM port and serial settings for RTU), the TCP/RTU toggle to switch server mode, the BE/LE toggle for endianness, and the Unit ID selector. In TCP mode you also get the server selector buttons to manage multiple servers and a name field.
Below that are four collapsible panels, one per register type (Coils, Discrete Inputs, Input Registers, Holding Registers). This is where you add registers and set values.
For booleans (Coils and Discrete Inputs), each address gets its own row with a toggle circle, an inline editable comment and a hover-to-reveal delete button. Use the inline add bar to quickly add new addresses.