Controlador como dispositivo esclavo en Modbus TCP
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 |
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:
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:
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 predeterminada). 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.
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.