Servidor Modbus TCP

Introducción

Modbus TCP no se basa en una estructura jerárquica, sino en un modelo cliente/servidor.

Sin ninguna configuración adicional, el puerto Ethernet incorporado del acoplador de bus admite el servidor Modbus.

Servidor Modbus TCP

El servidor Modbus admite las peticiones Modbus:

Código funcional

Dec. (Hex)

Subfunción

Dec. (Hex)

Función

3 (3)

Lectura de registro de mantenimiento (%MW)

6 (6)

Escritura de registro único (%MW)

16 (10)

Escritura de registros múltiples (%MW)

22 (16)

-

Registro de escritura de máscara

23 (17)

Lectura/escritura de registros múltiples (%MW)

43 (2B)

14 (E)

Identificación del dispositivo de lectura

Configuración de Modbus TCP

Para configurar el Acoplador de bus TM3 Ethernet como dispositivo Modbus TCP esclavo, añada el acoplador de bus y seleccione Explorador de E/S Modbus TCP > TM3BCEIP.

Petición de diagnóstico

En esta tabla hay una lista del código de selección de datos:

Código de selección de datos (hex)

Descripción

00

Reservado

01

Diagnóstico básico de red

02

Diagnóstico del puerto Ethernet

03

Diagnóstico de Modbus TCP/Puerto 502

04

Tabla de conexión de Modbus TCP/Puerto 502

05 - 7E

Reservado para otros códigos públicos

7F

Offsets de estructuras de datos

Registros Modbus TCP del acoplador de bus TM3

Zona

Acceso

Registros

Función

Área de diagnóstico

SL

De 900 a 901

Diagnóstico del acoplador de bus

SL

De 930 a 931

Estado del bus y los módulos TM2/TM3

SL

932

Estado del sistema

SL

De 991 a 992

Diagnóstico de la comunicación

SL

De 1058 a 1066

Parámetros de comunicación Ethernet

SL

De 1100 a 1115

Información del producto del Acoplador de bus TM3

SL

De 2512 a 2513

Número de serie del producto del Acoplador de bus TM3

Área del explorador de E/S

SL

De 1 a 99

Subconjunto de valores de entrada del módulo del acoplador de bus (7 primeros módulos)(1)

L/E

De 101 a 199

Subconjunto de valores de salida del módulo del acoplador de bus (7 primeros módulos)(1)

SL

De 3001 a 3499

Valores de entrada del módulo del acoplador de bus (todos los módulos)(1)

L/E

De 3501 a 3999

Valores de salida del módulo del acoplador de bus (todos los módulos)(1)

SL

De 13001 a 13499

Valores de entrada del módulo del acoplador de bus (todos los módulos) para usar con dispositivos HMI.

SL

De 13501 a 13999

Valores de salida del módulo del acoplador de bus (todos los módulos) para usar con dispositivos HMI.

Configuración directa de TM3

Consulte Cómo realizar la configuración: registros de gestión de la configuración

15000 a 16499

Permite a los controladores enviar la configuración de TM3 a través de peticiones Modbus.

(1) El acceso a esos registros devuelve un error cuando el Estado del sistema (registro 932) no es 5 (bus TM3 controlado por modbus TCP). Los valores de los registros 3001 a 3499, 3501 a 3999 y 13001 a 13999 solo serán válidos cuando el registro 931 sea 0 (estado del bus "OK", estado de todos los módulos "OK").

Diagnóstico del acoplador de bus

Registros

Función

Descripción

900

Diagnóstico del acoplador de bus

Bits (0 a 8): No se utiliza

Bit (9): Error de tiempo de ejecución del bus de E/S

Bits (10 a 11): No se utiliza

Bit (13): Bus de E/S no configurado o error de configuración del bus

Bits (14 a 15): No se utiliza

901

Estado de los módulos de E/S

Bits (0 a 13): Estado del primer módulo de extensión a estado del 14.º módulo de extensión

Bits (14 a 15): No se utiliza

0: Ningún error detectado

1: Error detectado

Estado del bus y los módulos TM3/TM2

Registros

Función

Bits

Descripción

930

Estado del bus y los módulos TM3/TM2

0 a 1 Módulo 1

Estado del módulo (2 bits por módulo):

  • 0x0: Módulo listo

  • 0x1: Error de configuración de módulo detectado

  • 0x2: Error de tiempo de ejecución de módulo detectado

  • 0x3: Módulo no presente, pero es un módulo opcional

2 a 3 Módulo 2

4 a 5 Módulo 3

6 a 7 Módulo 4

8 a 9 Módulo 5

10 a 11 Módulo 6

12 a 13 Módulo 7

14 a 15 Módulo 8

931

Estado del bus y los módulos TM3/TM2

0 a 1 Módulo 9

Estado del módulo (2 bits por módulo):

  • 0x0: Módulo listo

  • 0x1: Error de configuración de módulo detectado

  • 0x2: Error de tiempo de ejecución de módulo detectado

  • 0x3: Módulo no presente, pero es un módulo opcional

2 a 3 Módulo 10

4 a 5 Módulo 11

6 a 7 Módulo 12

8 a 9 Módulo 13

10 a 11 Módulo 14

12 a 13

Reservado

14 a 15

Estado del bus:

  • 0x0: Bus listo

  • 0x1: Error de configuración del bus detectado

  • 0x2: Error de tiempo de ejecución del bus detectado

  • 0x3: Bus no configurado

Estado del sistema

Registros

Función

Descripción

932

Estado del sistema

  • 0x0: El sistema está arrancando.

  • 0x1: El bus TM3 no está configurado.

  • 0x2: Se está transfiriendo una configuración de TM3.

  • 0x3: Se ha aplicado correctamente una configuración válida de TM3. Las salidas se establecen en 0.

  • 0x4: El bus TM3 está controlado por EIP.

  • 0x5: El bus TM3 está controlado por el explorador de E/S ModbusTCP.

  • 0x6: El bus TM3 está controlado por el Servidor web.

  • 0x7: Timeout agotado para la actualización del bus de campo

  • 0x8: actualización del firmware en curso

  • 0xA: Transición del estado del sistema en curso.

933

Configuración del bus TM3/TM2

  • Bits [0]: Coherencia de datos de Modbus TCP

  • 0x0: Deshabilitar

  • 0x1: Habilitar

NOTA: Si está habilitado Modbus TCP, los valores de los registros de estado (900 a 901, 930 a 932) reflejarán el estado del acoplador de bus TM3 y los módulos de extensión TM3 conectados. Consulte estos registros de estado antes de iniciar el intercambio de E/S y tome las medidas que sean necesarias.

Diagnóstico de la comunicación

Registros

Función

Descripción

991

Número de mensajes recibidos

Número de mensajes recibidos.

992

Número de mensajes enviados

Número de mensajes enviados.

Parámetros de comunicación Ethernet

Consulte Configurar los ajustes de red a través de un comando Modbus para obtener información sobre cómo utilizar los registros 1050 a 1056 para configurar los parámetros de red.

Registros

Función

1050

Iniciar o aplicar la configuración de red.

1 = Iniciar

0 = Aplicar

1051

Palabra HIGH (máximo valor) de la dirección IP

1052

Palabra LOW (máximo valor) de la dirección IP

1053

Palabra HIGH (máximo valor) de la máscara de subred

1054

Palabra LOW (máximo valor) de la máscara de subred

1055

Palabra HIGH (máximo valor) de la dirección de pasarela

1056

Palabra LOW (máximo valor) de la dirección de pasarela

1057

Error detectado. (Consulte los errores por bit en la tabla siguiente).

1058

Dirección MAC

1059

1060

1061

Dirección IP

1062

1063

Máscara de subred

1064

1065

Pasarela

1066

En esta tabla se describen los errores por bit del registro 1057:

Campo de bit

Bit de error

(0 = Sin error, 1 = Error)

Descripción

Bit 0

IP no válida

Las direcciones 90.0.0.1 y 90.0.0.2 no se permiten, ya que están reservadas en el acoplador de bus para la red RNDIS.

Bit 1

IP no válida

Valor incorrecto para el byte de mayor valor.

El valor no puede ser cero.

El valor no puede ser igual o superior a 224.

Ejemplos de direcciones IP no válidas:
  • 0.xxx.xxx.xxx

  • 224.xxx.xxx.xx

  • 255.xxx.xxx.xxx

Bit 2

IP no válida

No se permiten bucles.

El byte de mayor valor de la dirección IP no puede ser 127.

Ejemplo: No se permite una dirección IP de tipo 127.xxx.xxx.xxx.

Bit 3

Máscara de subred no válida

El valor máximo permitido para el último byte es 252.

Ejemplos de valores de máscara de subred no válidos:
  • xxx.xxx.xxx.253

  • xxx.xxx.xxx.254

  • xxx.xxx.xxx.255

Bit 4

Máscara de subred no válida

La máscara de subred debe incluir unos continuos, sin ceros entre ellos.

Ejemplo de dirección no válida:

  • 160.0.0.0 [10100000.00000000.00000000.00000000]

Bit 5

IP no válida

La dirección IP no puede ser una dirección de difusión.

La dirección de difusión se calcula invirtiendo los bits de la máscara de subred y, a continuación, a nivel de bit O con la dirección IP.

Ejemplo: Una configuración con una dirección IP 10.10.0.3 y una máscara de subred 255.255.255.252 no sería válida porque la dirección de difusión resultante sería igual a la dirección IP.

Bit 6

Submáscara no válida

La clase de IP no está cubierta.

El AND a nivel de bit de la dirección IP con valores de bits invertidos de la máscara de subred no puede ser 0.

Ejemplo: Una dirección IP 10.10.0.4 y una máscara de subred 255.255.255.252 no se permiten, ya que la máscara de subred no cubre esta clase de IP.

Bit 7

Pasarela no válida

El valor del byte de mayor valor de la dirección de la pasarela es incorrecto.

No se permite cero.

No se permite 127.

El valor tiene que ser inferior a 224.

Ejemplos de direcciones de pasarela incorrectas:
  • 0.xxx.xxx.xxx

  • 127.xxx.xxx.xxx

  • 255.xxx.xxx.xxx

Bit 8

Pasarela no válida

No se permite una dirección de pasarela 255.255.255.255.

Bit 9

IP no válida

Devuelve un error si la dirección de pasarela es igual a la dirección de difusión.

La dirección de difusión se calcula invirtiendo los bits de la máscara de subred y, a continuación, a nivel de bit O con la dirección IP.

Ejemplo de configuración no válida:
  • Dirección IP: 10.10.0.100

  • Máscara de subred: 255.255.255.0

  • Pasarela: 10.10.0.255

Bit 10

Pasarela no válida

El ID de host se calcula invirtiendo los bits de la máscara de subred y, a continuación, AND a nivel de bit con la dirección de la pasarela. El valor resultante no puede ser 0.

Ejemplo de configuración no válida:
  • Máscara de subred: 255.255.255.192

  • Pasarela: 10.10.0.192

Bit 11

IP no válida

No se puede acceder a la red.

Devuelve un error si (IP AND subred) no es igual a (pasarela AND subred).

Ejemplo de configuración no válida:
  • Dirección IP: 10.10.0.128

  • Máscara de subred: 255.255.255.192

  • Pasarela: 10.10.0.64

Bit 12

Submáscara no válida

No se permite una máscara de subred 0.0.0.0.

Bit 13

No se utiliza

Bit 14 a 15

Bits de estado: indican el estado de la configuración de los parámetros de red.

Bit 15

Bit 14

Descripción

0

0

Valor predeterminado durante el encendido.

0

1

El acoplador de bus guarda la configuración de red (después de que se escriba 0 en el registro 1050).

1

0

Se ha guardado la configuración de la red; queda apagar y encender el dispositivo.

1

1

La configuración de red presenta un error o se ha producido un timeout.

Ejemplo:
  • No hay errores; se guardará la configuración: 0x4000

  • Configuración guardada: 0x8000

  • Timeout de configuración: 0xC000

  • Error de subred cero: 0xD000

Información de producto del acoplador de bus TM3

Registros

Función

1100

Código de producto Acoplador de bus TM3

2507-2508

Versión del firmware de producto del Acoplador de bus TM3

2512-2513

Número de serie del producto del Acoplador de bus TM3

2601

Posición ONES del conmutador rotativo

2602

Posición TENS del conmutador rotativo