D.2 Representación en el protocolo Modbus
Cantidad de caudal instantáneo
Ejemplo: Q
= 2 512,345 m³/s = 2 512 345 l/s
ins
Decimal 2 512 345 l 0x26 55d9 l
Distribuida en dos cantidades parciales cada una en un registro Modbus:
– Reg 60: 0x26
decimal 38
– Reg 61: 0x55d9
decimal 21 977
Q
= Reg 60 x 2
+ Reg 61 [l/s]
16
ins
= 38 x 2
+ 21 977 l/s
16
= 2 490 368 + 21 977 l/s
= 2 512 345 l/s
o
= Reg 60 << 16 ∨
Q
ins
= 0000000000100110 ∨ 0101010111011001 l/s
32
= 00000000001001100101010111011001 l/s
= 2 512 345 l/s
<< = operador de desplazamiento hacia la izquierda: los bits deben desplazarse la cantidad indicada hacia
la izquierda.
Cantidad de caudal acumulado
Ejemplo: Q
* = 2 500 m³/s = 2 500 000 l/s
ins
Decimal 217 066 608 000 l 0x32 8A2D 9580 l
Distribuida en tres cantidades parciales cada una en un registro Modbus:
– Reg 62: 0x32
decimal 50
– Reg 63: 0x8A2D decimal 35 373
– Reg 64: 0x9580
decimal 38 272
Q
= Reg 62 x 2
acumulado/24 h
= 50 x 2
= 214 748 364 800 + 2 318 204 928 + 38 272 l
= 217 066 608 000 l
o
Q
= ((Reg 62 x 2
acumulado/24 h
= ((50 x 2
= (3 276 800 + 35 373) x 65 536 + 38 272 l
= 3 312 173 x 65 536 + 38 272 l
= 217 066 608 000 l
o
= Reg 62 << 32 ∨
Q
acumulado/24 h
= 0000000000110010 ∨ 1000101000101101 ∨ 1001010110000000
48
= 000000000011001010001010001011011001010110000000
= 217 066 608 000 l
<< = operador de desplazamiento hacia la izquierda: los bits deben desplazarse la cantidad indicada
hacia la izquierda.
Q
* Supuesto en el ejemplo:
ins
** Operador lógico "o"
binario 0000000000100110
binario 0101010111011001
**
Reg 61 [l/s]
17
16
Q
binario 0000000000110010
binario 1000101000101101
binario 1001010110000000
+ Reg 63 x 2
+ Reg 64 [l]
32
16
+ 35 373 x 2
+ 38 272 l
32
16
) + Reg 63) x 2
+ Reg 64 [l]
16
16
) + 35 373) x 2
+ 38272 l
16
16
Reg 63 << 16 ∨ Reg 64
**
33
32
es constante
1
= 24 h x 3 600 s/h x 2 500 000 l/s = 217 066 608 000 l
acumulado/24 h
17
16
1
35