ModBus: tipos de datos
Tipo de dato | Descripción |
---|---|
INT16 | Número entero en el rango de -32768 a +32767. |
UINT16 | Número entero sin signo en el rango de 0 a 65535. |
ENUM | Es una enumeración. Solo se puede establecer uno de los valores indicados en los parámetros. |
BOOL | Un valor booleano es un parámetro con exactamente dos estados (0 – falso/false y 1 – verdadero/true). Generalmente todos los valores superiores a 0 se valoran como true. |
BITMAP* | Es un compendio de 16 valores booleanos (bits). Los valores se indexan de 0 a 15. El número que debe leerse o escribirse en el registro resulta de la suma de todos los bits con el valor 1 multiplicado por 2 elevado a su índice.
|
BITMAP32 | Es un compendio de 32 valores booleanos (bits). Para conocer los detalles del cálculo consulte Bitmap. |
* Ejemplo de aclaración:
Los bits 3, 6, 8 y 15 son 1, todos los demás son 0. Por tanto, la suma es 23+26+28+215 = 8+64+256+32768 = 33096. También es posible realizarlo en orden inverso. En este caso se parte del bit con el índice más alto y se comprueba si el número leído es mayor o igual que la potencia de 2. Si este fuera el caso, se establece el bit 1 y se elimina la potencia de 2 del número. A continuación se realiza la comprobación con el bit que posee el siguiente índice más pequeño y el resto calculado en este momento se repite hasta llegar al bit 0 o hasta que el resto sea 0. Para la explicación, véase el ejemplo: el número leído es 1416. El bit 15 pasa a 0, ya que 1416 < 32768. Los bits 14 a 11 también pasan a 0. El bit 10 pasa a 1, ya que 1416 > 1024. El resto es 1416-1024=392. El bit 9 pasa a 0, ya que 392 < 512. El bit 8 pasa a 1, ya que 392 > 256. El resto es 392-256=136. El bit 7 pasa a 1, ya que 136 > 128. El resto es 136-128=8. Los bits 6 a 4 pasan a 0. El bit 3 pasa a 1, ya que 8=8. El resto es 0. Y así se calculan los demás bits 2 hasta que todos sean 0.