Skip to content

Deimos DAQ Rev7 Modbus/TCP register map

Addresses are zero-based protocol addresses. Multi-register scalars place the most-significant 16-bit register first, and registers use network byte order. f32 fields contain IEEE-754 bits; signed integers use two's complement.

Input registers (FC04)

Read address 0, count 75 for one coherent engineering snapshot. Partial in-range reads are supported, but the full block is the synchronized-sample contract.

Address Count Type Field Units / shape
0 2 u32 magic 0xD7000002
2 4 u64 metrics.id snapshot count
6 4 i64 metrics.sent_time_ns ns
10 4 u64 metrics.last_input_id last accepted transaction ID
14 4 i64 metrics.last_input_received_time_ns ns
18 4 i64 metrics.cycle_time_margin_ns ns
22 4 i64 sample_time_ns acquisition start, ns
26 2 f32 module_bus_current_a A
28 2 f32 module_bus_voltage_v V
30 2 f32 board_temperature_k K
32 8 f32[4] current_4_20_a A, channels 0..3
40 6 f32[3] rtd_resistance_ohm ohm, channels 0..2
46 4 f32[2] thermocouple_temperature_k K, channels 0..1
50 12 f32[6] voltage_v V, channels 0..5
62 4 i64 encoder counts
66 4 i64 pulse_counter counts
70 4 f32[2] frequency_meas Hz, channels 0..1
74 1 u16 gpio input bits 0..1

sample_time_ns is captured before the first ADC conversion group contributing to the snapshot. It is not corrected for fractional-delay or low-pass-filter group delay.

Holding registers (FC03, FC16, and FC23)

Read address 0, count 35 for the complete configuration and diagnostic block. FC03 may read any in-range block. FC16 and the write portion of FC23 must cover complete fields within one writable block: base configuration (0..2), outputs (6..26), or timing corrections (27..34).

Address Count Access Type Field Valid values
0 2 R/W f32 cycle rate finite, 5..500 Hz
2 1 R/W u16 loss-of-contact limit 1..65535 cycles
3 2 R u32 current cycle period ns
5 1 R u16 current loss counter cycles
6 8 R/W f32[4] PWM duty fractions finite, 0..1
14 8 R/W u32[4] PWM frequencies nonzero Hz
22 4 R/W f32[2] DAC voltages finite, 0..2.5 V
26 1 R/W u16 GPIO outputs bits 0..3 only
27 4 R/W i64 requested period delta ns; persistent, internally clamped
31 4 R/W i64 requested phase delta ns; one cycle, internally clamped

The coherent snapshot is mirrored in read-only holding registers 256..330 (0x0100..0x014A) with the same layout as input registers 0..74. Writes to the mirror or the unsupported gap at 35..255 return Illegal Data Address.

Synchronized control (FC23)

FC23 Read/Write Multiple Registers is the recommended cyclic interface.

Read address 256, count 75 while writing one complete writable block. The response contains the most recent snapshot; accepted outputs are applied afterward. Does not return configuration registers 0..34.

If two ADUs are serviced in one cycle, both return the same snapshot, and both writes are applied in order and committed in the final combined state. Omitted fields retain their values; rejected writes change nothing.

Period correction persists until replaced, while phase correction applies once and then is cleared for the next cycle. Timing corrections are clamped to +/-10% of the nominal period.