Tablas de registros Modbus
Formato de tabla
Dirección |
Registro |
L/E |
Unidad |
Tipo |
Rango |
Fábrica |
Guardado |
Bit |
Descripción |
---|---|---|---|---|---|---|---|---|---|
-
Dirección: una dirección de registro de 16 bits en formato hexadecimal. La dirección responde a los datos utilizados en la trama Modbus.
-
Registro: un número de registro de 16 bits en formato decimal (registro = dirección + 1).
-
LE: estado del registro de lectura-escritura
-
L: acceso de sólo lectura
-
LE: acceso de lectura y acceso de escritura con las funciones Modbus
-
-
Unidad: unidad en la que se expresa la información.
-
Tipo: el tipo de datos de codificación (consulte Tipos de datos).
-
Rango: valores permitidos para este registro, normalmente un subconjunto de lo que permite el formato.
-
Fábrica: valor de la variable de un dispositivo nuevo y después de emitir el comando de ajustes de fábrica.
-
Guardado:
-
SÍ: el valor se guarda en caso de interrupción de alimentación.
-
NO: el valor no se guarda en caso de interrupción de alimentación.
-
-
Bit: número de bit de la descripción BITMAP.
-
Descripción: proporciona información sobre el registro y las restricciones que se aplican.
Tipos de datos
Tipos de datos |
Descripción |
Rango |
---|---|---|
INT16U |
Entero sin signo de 16 bits |
Entre 0 y 65535 |
INT16 |
Entero con signo de 16 bits |
Entre -32768 y +32767 |
INT32U |
Entero sin signo de 32 bits |
De 0 a 4 294 967 295 |
INT32 |
Entero con signo de 32 bits |
De -2 147 483 648 a +2 147 483 647 |
STRING |
Cadena de texto |
1 byte por carácter |
BITMAP |
Registro de 16 bits |
– |
Tipo de datos: BITMAP
Un registro BITMAP es un registro de 16 bits que se puede leer:
-
como un entero sin signo de 16 bits, utilizando la función de lectura de registro múltiple (código de función 0x03)
-
como una colección de bits, utilizando las funciones de lectura de bits (código de función 0x01 o 0x02)
Notas
-
La columna Tipo indica cuántos registros se deben leer para obtener la variable. Por ejemplo, INT16U requiere la lectura de un registro, mientras que INT32 requiere la lectura de 2 registros.
-
Algunas variables se deben leer como un bloque de varios registros. Si se lee el bloque parcialmente, se producirá un error.
-
Si se lee desde un registro no documentado, da como resultado una excepción de Modbus. Consulte Códigos de excepción Modbus.
-
Los valores numéricos se indican en decimales. Cuando resulte útil tener el valor correspondiente en formato hexadecimal, se mostrará como una constante de tipo de lenguaje C: 0xdddd. Por ejemplo, el valor decimal 123 se representa en formato hexadecimal como: 0x007B.
-
Las variables INT32U o INT32 se almacenan en formato big-endian: el registro más significativo se trasmite en primer lugar y el menos significativo, en segundo lugar.
-
Los valores no aplicables y fuera de servicio dependen del tipo de datos.
Tipo de datos |
Valores no aplicables y fuera de servicio |
---|---|
INT16U |
65535 (0xFFFF) |
INT16 |
-32768 (0x8000) |
INT32U |
4294967295 (0xFFFFFFFF) |
INT32 |
0x80000000 |