Los dispositivos de ZB-Connection se pueden utilizar para contar pulsos (principalmente, de agua, luz y/o gas). No obstante, los dispositivos empezarán a contar desde cero y lo más probable es que los contadores de la vivienda ya tengan un valor acumulado. ¿Cómo podemos sincronizar ambos valores?

Como decíamos, el dispositivo empieza a contar desde cero:

Como recordatorio:

  • InputRegister[8] es la parte menos significativa de la entrada 1.
  • InputRegister[9] es la parte más significativa de la entrada 1.
  • InputRegister[10] es la parte menos significativa de la entrada 2.
  • InputRegister[11] es la parte más significativa de la entrada 2.

¿Qué debemos hacer si queremos asignar el valor 5000 a la entrada 1?

  1. Escribir el valor 503 en el HoldingRegister[0]:
  2. Escribir la parte menos significativa (5000, en este caso) de la entrada 1 en el HoldingRegister[2]:
  3. Escribir la parte más significativa (0, en este caso) de la entrada 1 en el HoldingRegister[3]:
  4. Activar las cambios escribiendo el valor 1 en el CoilStatus[0]:
  5. Consultamos los valores de los contadores y vemos que ahora el dispositivo empezaría a contar desde 5000:

Si queremos modificar los valores de la entrada 2, en el paso 1 debemos escribir el valor 504 sobre el HR[0] (los demás pasos serían los mismos).

Este procedimiento es válido para valores de los contadores menores de 65536 (valor máximo de la parte menos significativa de las entradas del dispositivo inalámbrico). Supongamos entonces que queremos asignar el valor 80527 para la entrada 2:

  1. Escribir el valor 504 en el HR[0].
  2. En este caso, la parte menos significativa sería el resultado de dividir 80527/65536=1,2287445068359375. Si restamos la parte entera a este valor (1,2287445068359375-1), y multiplicamos el resultado por 65536 (0,2287445068359375 x 65536) obtendremos la parte menos significativa (14991, en este caso). Es decir, hay que escribir el valor 14991 en el HR[2].
  3. La parte más significativa es la parte entera que resulta de la división 80527/65536=1,2287445068359375. Es decir, debemos escribir el valor 1 en el HR[3].
  4. Activar los cambios escribiendo el valor 1 en el CoilStatus[0].
  5. Comprobar el valor de los contadores:

En este caso, para la entrada 2 tenemos 14991 como la parte menos significativa y 1 como la parte más significativa. Para obtener el valor total se utiliza la siguiente fórmula: 1 x 65536 + 14991 = 80527.

Recordamos que en 2Embedcom se puede obtener más información acerca de: