DOCA0105ES-09

Tablas de registros Modbus

Descripción general

Note for TechPub writer: see D-SE-33693 (Compact NSX MB) for similar content and wording consistency.

En los capítulos siguientes se describen los registros Modbus de la unidad de control MicroLogic y los registros Modbus de los módulos conectados a ella. Estos registros proporcionan información que se puede leer, como medidas eléctricas e información de supervisión. La interfaz de comandos permite la modificación de estos registros de forma controlada.

Las normas de presentación de los registros Modbus son:

Para localizar un registro, utilice la lista ordenada de los registros con una referencia cruzada a la página donde se describen dichos registros.

Formato de tabla

Las tablas de registro tienen estas columnas:

Dirección

Registro

LE

Unidad

Tipo

Rango

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).

  • RW: estado del registro de lectura-escritura

    • L: el registro puede leerse mediante las funciones Modbus

    • E: puede escribirse en el registro mediante las funciones Modbus

    • LE: el registro puede leerse y puede escribirse en él mediante las funciones Modbus

    • LC: el registro puede leerse por medio de la interfaz de comandos

    • EC: puede escribirse en el registro por medio de la interfaz de comandos

  • Unidad: la unidad en la que se expresa la información.

  • Tipo: tipo de datos de codificación (consulte la descripción de los tipos de datos a continuación).

  • Rango: los valores permitidos para esta variable, normalmente un subconjunto de lo que permite el formato.

  • 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 4294967295

INT32

Entero con signo de 32 bits

Entre –2147483648 y +2147483647

INT64U

Entero sin signo de 64 bits

Entre 0 a 18 446 744 073 709 600 000

INT64

Entero con signo de 64 bits

De –9 223 372 036 854 775 808 a +9 223 372 036 854 775 807

FLOAT32

Entero con signo de 32 bits con un punto flotante

2-126 (1.0) y 2127 (2 - 2-23)

OCTET STRING

Cadena de texto

1 byte por carácter

XDATE

Fecha y hora de los módulos ULP

DATETIME

Fecha y hora en formato IEC 60870-5

Formato Big-Endian

Las variables INT32, INT32U, INT64 e INT64U se almacenan en formato big-endian: el registro más significativo se transmite en primer lugar y el menos significativo en último lugar.

Las variables INT32, INT32U, INT64 e INT64U están formadas por variables INT16U.

Las fórmulas para calcular el valor decimal de estas variables son:

  • INT32: (0-bit31)x231 + bit30x230 + bit29x229 + ...bit1x21 + bit0x20

  • INT32U: bit31x231 + bit30x230 + bit29x229 + ...bit1x21 + bit0x20

  • INT64: (0-bit63)x263 + bit62x262 + bit61x261 + ...bit1x21 + bit0x20

  • INT64U: bit63x263 + bit62x262 + bit61x261 + ...bit1x21 + bit0x20

Ejemplo 1:

La energía activa total del conjunto de datos estándar es una variable INT64 codificada en los registros 32096 a 32099.

Si los valores de los registros son:

  • Registro 32096 = 0

  • Registro 32097 = 0

  • Registro 32098 = 0x0017 o 23

  • Registro 32099 = 0x9692 o 38546 como variable INT16U y -26990 como variable INT16 (use el valor INT16U para calcular el valor de la energía activa total).

Entonces, la energía activa total es igual a 0x248 + 0x232 + 23x216 + 38546x20 = 1545874 Wh.

Ejemplo 2:

La energía reactiva del conjunto de datos heredado es una variable INT32 codificada en los registros 12052 a 12053.

Si los valores de los registros son:

  • registro 12052 = 0xFFF2 = 0x8000 + 0x7FF2 o 32754

  • registro 12053 = 0xA96E o 43374 como variable INT16U y -10606 como variable INT16 (use el valor INT16U para calcular el valor de la energía reactiva).

Entonces, la energía reactiva es igual a (0-1)x231 + 32754x216 + 43374x20 = -874130 kVARh.

Tipo de datos: FLOAT32

El tipo de dato FLOAT32 se representa en la precisión única IEEE 754 (IEEE estándar para la aritmética de coma flotante). Un valor N se calcula como se muestra a continuación:

N = (-1)S x 2E-127 x (1+M)

Coeficiente

Significa

Descripción

Número de bits

s

Señal

Define la señal del valor:

0 = positivo

1 = negativo

1 bit

E

Exponente

Entero binario 127 de exceso añadido.

Si 0 < E < 255, el exponente real es: e = E - 127.

8 bits

M

Mantisa

Significante binario normalizado de magnitud

23 bits

Ejemplo:

0 = 0 00000000 00000000000000000000000

-1.5 = 1 01111111 10000000000000000000000

con:

  • S = 1

  • E = 01111111 = 127

  • M = 10000000000000000000000 = 1x2-1 + 0x2-2 +...+ 0x2-23 = 0.5

  • N = (-1) x 20 x (1+0.5) = -1.5

Tipo de datos: XDATE

XDATE es un tipo de datos que permite codificar la fecha y hora definidas por los módulos ULP.

Registro

Tipo

Bit

Rango

Descripción

1

INT16U

0-7

0x01-0x1F

Día

8-15

0x01-0x0C

Mes

2

INT16U

0-7

0x00-0x17

Horas

8-15

0x50-0xC7

Año

  • Entre 0x50 (80) y 0x63 (99) corresponde a los años entre 1980 y 1999

  • Entre 0x64 (100) y 0xC7 (199) corresponde a los años entre 2000 y 2099

Por ejemplo, 0x70 (112) corresponde al año 2012.

3

INT16U

0-7

0x00-0x3B

Segundos

8-15

0x00–0x3B

Minutos

4

INT16U

0-15

0x0000-0x03E7

Complemento en milisegundos

Tipo de datos: DATETIME

DATETIME es un tipo de datos que permite codificar la fecha y hora definidas según el estándar IEC 60870-5.

Registro

Tipo

Bit

Rango

Descripción

1

INT16U

0-6

0x00-0x7F

Año:

Entre 0x00 (00) y 0x7F (127) corresponde a los años entre 2000 y 2127

Por ejemplo, 0x0D (13) corresponde al año 2013.

7-15

Reservado

2

INT16U

0-4

0x01-0x1F

Día

5-7

Reservado

8-11

0x00-0x0C

Mes

12-15

Reservado

3

INT16U

0-5

0x00–0x3B

Minutos

6-7

Reservado

8-12

0x00-0x17

Horas

13-15

Reservado

4

INT16U

0-15

0x0000-0xEA5F

Milisegundos

Calidad de marcas de tiempo DATETIME

La calidad de las marcas de tiempo codificadas con el tipo de datos DATETIME puede indicarse en el registro que sigue a los 4 registros de la marca de tiempo. En este caso, la calidad de la marca de tiempo se codifica de la siguiente forma:

Bit

Descripción

0-11

Reservado

12

Sincronización externa:

  • 0 = No válida

  • 1 = Válida

13

Sincronización:

  • 0 = No válida

  • 1 = Válida

14

Fecha y hora configuradas:

  • 0 = No válida

  • 1 = Válida

15

Reservado

Calidad de bits en registros

La calidad de cada bit de un registro codificado con el tipo de datos INT16U como una enumeración de bits puede indicarse en el registro precedente al registro en cuestión.

Ejemplo:

La calidad de cada bit del registro 32001, el estado del interruptor automático, se proporciona en el registro precedente, el 32000.

La calidad de los datos correspondientes al bit 0 del registro 32001, el contacto de señalización de estado OF, se proporciona en el bit 0 del registro 32000:

  • bit 0 del registro 32000 = calidad de la indicación de estado OF

  • bit 0 del registro 32001 = contacto de indicación de estado OF

Si

Entonces

Si el bit 0 del registro 32000 = 1 Y el bit 0 del registro 32001 = 0

El contacto OF indica que el dispositivo está abierto.

Si el bit 0 del registro 32000 = 1 Y el bit 0 del registro 32001 = 1

El contacto OF indica que el dispositivo está cerrado.

Si el bit 0 del registro 32000 = 0

La indicación del contacto OF no es válida

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 deben leerse como un bloque de múltiples registros, como las medidas de energía. 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 .

  • Los valores numéricos se dan en decimales. Cuando es útil disponer del valor correspondiente en hexadecimal, se muestra como una constante de tipo de lenguaje C: 0xdddd. Por ejemplo, el valor decimal 123 se representa en hexadecimal como 0x007B.

  • Para medidas que dependen de la presencia de un neutro como se identifica con el registro 3314, la lectura del valor devolverá 32768 (0x8000) si no es aplicable. Para cada tabla donde sucede, se explica en una nota de pie de página.

  • 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

INT64U

0xFFFFFFFFFFFFFFFF

INT64

0x8000000000000000

FLOAT32

0xFFC00000

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

¿Le ha resultado útil?