Skip to content

Modbus TCP

A Phantom gateway can act as a Modbus TCP/IP server, storing sensor data in holding registers that your Modbus client reads.

The gateway listens on the well-known port 502, at the IP address shown on its own LED display. It never initiates contact — it only responds to requests, sending its register contents to the client.

In a repeater network, only the Main gateway is configured as a Modbus server. All Modbus data from subordinate gateways is stored in the Main gateway.

Data is exported through holding registers. You map each sensor to a register block in the Modbus tab of the Gateway Admin Console.

Each sensor’s block starts at a multiple of 50. The first mapped sensor starts at register 0, the second at 50, the third at 100, and so on.

Within a block:

Offset Size Contents
0 32-bit, little endian PHANTOM® node ID (e.g. 189245456)
2 16-bit Phantom type — see below
3+ varies Determined by the Phantom type

Gateway firmware version 56 and later lets a Modbus client trigger a collection on a V10/V11 vibration sensor — the same thing as pressing Collect Waveform Now in the Live State screen.

Write Into register Effect
1 0 Trigger a waveform collection
1 2 Send an RMS update
  1. Open the Modbus tab of the Gateway Admin Console
  2. Create a register entry for each sensor
  3. Select the sensor value to expose, and press ADD for each additional value on that sensor
  4. Press SAVE

The value at offset 2:

Code Sensor
3 Triaxial accelerometer
5 V10/E triaxial
6 V11/E triaxial
8 V83 triaxial
9 V82 triaxial
10 Thermographic camera
14 V81 PHANTOM® Max
15 V80 PHANTOM® Max
20 Thermocouple temperature
25 Infrared temperature
26 4-20 mA sensor node
27 0-10 V sensor
30 Triphasic current
31 Dry contact
40 Speed (RPM)
50 Low noise biaxial accelerometer
60 General purpose node

The registers after offset 2 depend on the sensor type. All values are little endian.

Value Units Type Offset
VRMS channel 1 mm/s 32-bit 3
VRMS channel 2 mm/s 32-bit 5
VRMS channel 3 mm/s 32-bit 7
Battery voltage centivolt 32-bit 9
Firmware version 32-bit 13
Sensor temperature °C × 100 32-bit 15
ARMS channels 1-3 g 32-bit see note
Value Units Type Offset
Temperature °C × 100 32-bit 3
Battery voltage centivolt 32-bit 5
Sensor internal temperature °C × 100 32-bit 7
Firmware version 32-bit 9
Value Units Type Offset
Channel 1 temperature °C × 100 32-bit 3
Battery voltage centivolt 32-bit 5
Sensor internal temperature °C × 100 32-bit 7
Firmware version 32-bit 9
Channel 2 temperature °C × 100 32-bit 13
Channel 3 temperature °C × 100 32-bit 15
Value Units Type Offset
Infrared temperature °C × 100 32-bit 3
Battery voltage centivolt 32-bit 5
Sensor internal temperature °C × 100 32-bit 7
Room temperature °C × 100 32-bit 9
Firmware version 32-bit 13
Value Units Type Offset
Battery voltage centivolt 32-bit 3
Sensor internal temperature °C × 100 32-bit 5
Firmware version 32-bit 7
Sequence 32-bit 9
Average current, channels 1-4 centiampere 16-bit 11-14
Minimum current, channels 1-4 centiampere 16-bit 15-18
Maximum current, channels 1-4 centiampere 16-bit 19-22