Skip to content

QP MODBUS Protocol Version 1

Please mind, that not all registers are supported on all device types.

Registers

    MODBUS READ  function 0x46 (8-bit bytes, not 16bit-words!)
    MODBUS WRITE function 0x47 (8-bit bytes, not 16bit-words!)
Fnc 0x46/0x47   Description                                     Value type
address [DEC]
0               Sensor value / reading (RO)                     32bit float
4               Scale factor (RO)                               uint8_t
5               Unit (RO)                                       uint8_t
6               Measurement type (RO)                           uint8_t
7               Serial baud rate (1: 9600) (RW)                 uint8_t
8               Serial databits (0:5, 1:6, 2:7, 3:8) (RW)       uint8_t
9               Serial parity (0:none, 1:even, 2:odd) (RW)      uint8_t
10              Serial stopbits (0:1, 1:2) (RW)                 uint8_t
11              MODBUS address (RW)                             uint8_t
12              Sensor absolute minimum (RO)                    32bit float
16              Sensor absolute maximum (RO)                    32bit float
20              Sensor serial number (RO)                       uint32_t

RO denotes read-only register, RW denotes read-write register.

Example of writing to ROM

Writing 1 byte of value 0xAA to device number 1 starting on index 8 using function 0x47.

=> 01 45 0008 0001 01 AA A4ED
0008 = start index to write to
0001 = number of 8-bit bytes to write
01 = number of bytes which follow in this packet

Writing 4 bytes of value 0xAABBCCDD to device number 1 starting on index 2 using function 0x42. CRC is 0x1409.

=> 01 42 0002 0002 04 AABBCCDD 1459
00002 = start index to write to
0002 = number of 16-bit registers to write
04 = number of bytes which follow in this packet

Measurement type lookup table

Pressure Absolute (against vacuum)                          0
Pressure Relative (against atmosphere (gauge pressure))     1
Temperature                                                 2
Binary (open / close; yes / no; 1 / 0)                      3
Pulses                                                      4

Units of measurements and scale factors lookup tables

Units

°K - Kelvin (temperature) = 0
°C - Celsius (temperature) = 1
°Ré - Réaumur (temperature) = 2
°F - Fahrenheit (temperature) = 3
°R - Rankine (temperature) = 4
Pa - Pascal (pressure) = 5
bar (pressure) = 6
atm (pressure) = 7
torr (pressure) = 8
mmHg (pressure) = 9
psi (pressure) = 10
m (level) = 11
reserved = 12
m3 (volume) = 13
l (volume) = 14
m3/s (flow) = 15
m3/h (flow) = 16
l/s (flow) = 17
l/h (flow) = 18
A (current) = 19
V (voltage) = 20
% (humidity) = 21

Unit scale factors

This is the unit scale factor. For example, if the unit is Pa and the scale factor is KILO, then the reading is in kPa.

no scale factor = 0
a (atto) = 1
f (femto) = 2
p (piko) = 3
n (nano) = 4
u (mikro) = 5
m (mili) = 6
c (centi) = 7
d (deci) = 8
da (deka) = 9
h (hekto) = 10
k (kilo) = 11
M (Mega) = 12
G (Giga) = 13
T (Tera) = 14
P (Peta) = 15
E (exa) = 16