Controlador como dispositivo esclavo en Modbus TCP

Descripción general

En esta sección se describe la configuración de M251 Logic Controller como un dispositivo Modbus TCP esclavo.

El dispositivo Modbus TCP esclavo añade otra función de servidor Modbus al controlador. Es posible direccionar este servidor con una aplicación de cliente Modbus especificando un ID de unidad (dirección Modbus) de 1 a 247. El servidor Modbus integrado del controlador esclavo no necesita configuración y se puede direccionar con un ID de unidad igual a 255. Consulte Configuración de Modbus TCP.

Para configurar el M251 Logic Controller como un dispositivo Modbus TCP esclavo, debe añadir la funcionalidad Dispositivo Modbus TCP esclavo al controlador (consulte Adición de un dispositivo Modbus TCP esclavo más adelante). Esta funcionalidad crea un área de E/S específica en el controlador, accesible a través del protocolo Modbus TCP. Esta área de E/S se usa cada vez que un maestro externo tiene que acceder a los objetos %IW y %QW del controlador. Esta funcionalidad, Dispositivo Modbus TCP esclavo, permite proporcionar a esta área los objetos de E/S del controlador a los que se puede acceder con una única petición de registro Modbus de lectura/escritura.

Sólo puede configurarse un dispositivo Modbus TCP esclavo a la vez en los puertos Ethernet de M251 Logic Controller (Ethernet_1 o Ethernet_2). No obstante, una vez configurado, el Dispositivo Modbus TCP esclavo se puede direccionar a través de ambos puertos Ethernet.

Las entradas/salidas se ven desde el controlador esclavo: las entradas se escriben mediante el maestro y las salidas se leen desde el maestro.

El dispositivo Modbus TCP esclavo puede definir una aplicación de cliente Modbus con privilegios, cuya conexión nunca se cierra a la fuerza (las conexiones Modbus integradas se pueden cerrar cuando se requieren más de 8 conexiones).

El watchdog asociado a la conexión con privilegios le permite verificar si el maestro con privilegios sondea el controlador. Si no se recibe ninguna petición Modbus dentro de la duración del timeout, la información de diagnóstico i_byMasterIpLost se establece en 1 (TRUE). Para obtener más información, consulte Variables de sistema de sólo lectura del puerto Ethernet.

Para obtener más información sobre Modbus TCP, consulte el sitio web www.odva.org.

Adición de un dispositivo esclavo Modbus TCP

Para configurar M251 Logic Controller como Dispositivo Modbus TCP esclavo, debe hacer lo siguiente:

Paso

Acción

1

Seleccione Dispositivo Modbus TCP esclavo en el Catálogo de hardware.

2

Arrástrelo y suéltelo al árbol Dispositivos en uno de los nodos resaltados.

Para obtener más información sobre cómo añadir un dispositivo al proyecto, consulte:

• Uso del método de arrastrar y colocar

• Uso del menú contextual o el botón Más

Configuración de Modbus TCP

Para configurar el Dispositivo Modbus TCP esclavo, haga doble clic en Ethernet_x > ModbusTCP_Slave_Device en el árbol Dispositivos.

Aparece el siguiente cuadro de diálogo:

G-SE-0076165.1.gif-high.gif

 

 

Elemento

Descripción

Dirección maestra IP

Dirección IP del maestro Modbus

Las conexiones no están cerradas en esta dirección.

Watchdog

Watchdog en incrementos de 500 ms

NOTA: Se aplica el watchdog a la dirección maestra IP a menos que la dirección sea 0.0.0.0.

Puerto esclavo

Puerto de comunicación Modbus (502)

NOTA: El número de puerto se puede modificar utilizando el comando de script changeModbusPort.

ID de unidad

Envía las peticiones al dispositivo Modbus TCP esclavo (de 1 a 247), en lugar de enviarlas al servidor Modbus integrado (255).

Tamaño ensamblado de salida (%IW)

Número de registros %IW que se van a usar en el intercambio (de 2 a 120) (2 bytes por registro)

Tamaño ensamblado de entrada (%QW)

Número de registros %QW que se van a usar en el intercambio (de 2 a 120) (2 bytes por registro)

Ficha Asignación de E/S de dispositivo Modbus TCP esclavo

Las E/S se asignan a registros Modbus desde el punto de vista del maestro de la manera siguiente:

oLos %IW se asignan desde el registro 0 al n - 1 y son L/E (n = cantidad de registros de ensamblado de salida, 2 bytes para cada registro de ensamblado de salida).

oLos %QW se asignan desde el registro n al n + m - 1 y son de sólo lectura (m = tamaño ensamblado de entrada, 2 bytes para cada registro de ensamblado de entrada).

Una vez que se ha configurado un dispositivo Modbus TCP esclavo, los comandos Modbus enviados a su ID de unidad (dirección Modbus) se gestionan de manera diferente al mismo comando cuando se dirigen a cualquier otro dispositivo Modbus de la red. Por ejemplo, cuando el comando Modbus 3 (3 hex) se envía a un dispositivo Modbus estándar, lee y devuelve el valor de uno o más registros. Cuando este mismo comando se envía al Modbus TCP esclavo, facilita una operación de lectura por parte del explorador de E/S.

Una vez que se ha configurado un dispositivo Modbus TCP esclavo, los comandos Modbus enviados a su ID de unidad (dirección Modbus) acceden a los objetos %IW y %QW del controlador, en lugar de las palabras Modbus normales (a las que se accede cuando el ID de unidad es 255). De este modo se facilitan las operaciones de lectura/escritura mediante una aplicación Modbus TCP IOScanner.

El dispositivo Modbus TCP esclavo responde a un subconjunto de los comandos Modbus con el objetivo de intercambiar datos con el explorador de E/S externo. Se admiten los siguientes comandos Modbus con el dispositivo Modbus TCP esclavo:

Decimal de código de función (Hex)

Función

Comentario

3 (3)

Leer registro de mantenimiento

Permite que el maestro lea los objetos %IW y %QW del dispositivo

6 (6)

Escribir registro único

Permite que el maestro escriba en los objetos %IW del dispositivo

16 (10)

Escribir varios registros

Permite que el maestro escriba en los objetos %IW del dispositivo

23 (17)

Leer/escribir varios registros

Permite que el maestro lea los objetos %IW y %QW del dispositivo y escriba en los objetos %IW del dispositivo

Otros

No admitido

NOTA: Modbus solicita que el intento para acceder a los registros superiores a n + m - 1 se respondan mediante el código de excepción 02 - DIRECCIÓN DE DATOS NO VÁLIDA.

Para enlazar la E/S con variables, seleccione la ficha Asignación de E/S de dispositivo Modbus TCP esclavo:

G-SE-0076160.1.gif-high.gif

 

 

Canal

Tipo

Descripción

Entrada

IW0

WORD

Registro de mantenimiento 0

...

...

...

IWx

WORD

Registro de mantenimiento x

Salida

QW0

WORD

Registro de entrada 0

...

...

...

QWy

WORD

Registro de entrada y

El número de palabras depende de los parámetros Tamaño ensamblado de salida (%IW) y Tamaño ensamblado de entrada (%QW) de la ficha Modbus TCP.

NOTA: Salida significa SALIDA del controlador de origen (= %IW para el controlador). Entrada significa ENTRADA del controlador de origen (= %QW para el controlador).

NOTA: El dispositivo Modbus TCP esclavo actualiza los registros %IW y %QW como una unidad coherente en el tiempo una vez, sincronizada con las tareas IEC (tarea MAST de forma predeter­minada). En cambio, el servidor Modbus TCP integrado sólo garantiza la coherencia en el tiempo para 1 palabra (2 bytes). Si la aplicación necesita coherencia en el tiempo para más de 1 palabra (2 bytes), use el Dispositivo Modbus TCP esclavo.

El parámetro Actualizar siempre las variables está establecido en Activado 1 (utilizar tarea de ciclo de bus si no se utiliza en ninguna tarea) y no se puede editar.

Opciones de ciclo de bus

En la ficha Asignación de E/S de dispositivo esclavo TCP Modbus, seleccione la Tarea de ciclo de bus para usar:

oEmplear configuración de ciclo del bus de orden superior (tarea predeterminada)

oMAST

oUna tarea existente del proyecto: puede seleccionar una tarea existente y asociarla con el explorador. Para obtener más información acerca de las tareas de aplicación, consulte EcoStruxure Machine Expert Guía de programación.

NOTA: Existe un parámetro de tarea de ciclo de bus en el editor de asignación de E/S del dispositivo que contiene el dispositivo Modbus TCP esclavo. Este parámetro define la tarea responsable de actualizar los registros %IW y %QW.