El protocolo Modbus RTU se implementa en los módulos procesadores AC500. Modbus es un protocolo maestro-esclavo (cliente-servidor). El cliente envía una solicitud al servidor y recibe las respuestas.
El modo de funcionamiento Modbus de una interfaz serie se establece en la configuración del PLC ⮫ «Configuración de Modbus RTU en la interfaz serie».
Para utilizar el PLC como cliente RTU Modbus se pueden utilizar dos posibles métodos de programación:
-
ModRtuMast
-
ModRtuToken con bloques de funciones de lectura/escritura
ModRtuMast
Con este método se utiliza el bloque de funciones de cliente Modbus ModRtuMast para programar todos los trabajos de lectura y/o escritura en una secuencia. Si se utiliza más de un bloque de funciones ModRtuMast, por ejemplo, para varias conexiones severas, la secuencia debe tener en cuenta que sólo uno de esos bloques de funciones ModRtuMast esté activo a la vez.
En el ejemplo de aplicación ⮫ Modbus RTU y el bloque de funciones ModRtuMast se ofrece un resumen de los códigos de función compatibles con la comunicación Modbus RTU con un PLC AC500.
ModRtuToken con bloques de funciones de lectura/escritura
Con este método, el bloque de funciones ModRtuToken se utiliza junto con ModRtuRead y/o ModRtuWrite y/o ModRtuReadWrite23.
En lugar de programar una secuencia, es necesaria una simple conexión mediante variables de estructura entre los bloques de función para garantizar la funcionalidad secuencial de Modbus RTU.
En el ejemplo de aplicación ⮫ Modbus RTU y el bloque de funciones ModRtuMast se ofrece un proyecto de ejemplo para Modbus cliente y servidor con el fin de permitir la comunicación Modbus RTU con un PLC AC500.
Para utilizar el protocolo Modbus RTU en un PLC AC500-eCo, el módulo procesador debe estar equipado con una tarjeta opcional para comunicación serie COMx TA5141-RS232I, TA5142-RS485 o TA5142-RS485I. El tipo de adaptador de la tarjeta opcional debe seleccionarse en función del tipo de interfaz serie física necesaria.
Según el tipo de CPU, se pueden utilizar hasta 3 tarjetas opcionales para la comunicación serie COMx⮫ «Conectar una tarjeta opcional para la comunicación serie COMx».
Modbus RTU puede utilizarse para la comunicación entre un PLC AC500-eCo y un panel de control. El principio de conexión se describe tomando como ejemplo el panel de control CP604: ⮫ Conexión CP604 vía Modbus RTU.
Modbus cliente
En este modo de funcionamiento, el tráfico de telegramas con el servidor o servidores se gestiona a través del bloque de funciones ModRtuMast.
Este bloque de funciones envía telegramas de solicitud Modbus al servidor o servidores a través de la interfaz establecida y recibe telegramas de respuesta Modbus del servidor o servidores a través de esta interfaz.
Los bloques Modbus transferidos por el servidor contienen la siguiente información:
-
Modbus dirección del servidor interrogado (1 byte)
-
Código de función que define la solicitud del cliente (1 byte)
-
Datos a intercambiar (n bytes)
-
Código de control CRC16 (2 bytes)
Modbus servidor
En este modo de funcionamiento, no se requiere ningún bloque de funciones para la comunicación Modbus. El envío y la recepción de telegramas Modbus se realizan automáticamente.
Las CPUs AC500 procesan los siguientes códigos de operación Modbus:
|
Código de función |
Descripción |
|
|---|---|---|
|
DEC |
HEX |
|
|
01 o 02 |
01 o 02 |
Leer n bits |
|
03 o 04 |
03 o 04 |
Leer n palabras |
|
05 |
05 |
Escribir un bit (codificado en una palabra) |
|
06 |
06 |
Escribe una palabra |
|
15 |
0F |
Escribir n bits (codificados en un byte) |
|
16 |
10 |
Escribe n palabras |
|
22 |
16 |
Escribir máscara |
|
23 |
17 |
Lectura/escritura de varias palabras en un telegrama |
Se aplican las siguientes restricciones a la longitud de los datos que se envían:
|
Código de función |
Longitud máxima |
|
|---|---|---|
|
DEC |
HEX |
|
|
01 o 02 |
01 o 02 |
2000 bits |
|
03 o 04 |
03 o 04 |
125 palabras / 62 palabras dobles |
|
05 |
05 |
1 bit |
|
06 |
06 |
1 palabra |
|
15 |
0F |
2000 bits |
|
16 |
10 |
123 palabras / 61 palabras dobles |
|
22 |
16 |
Escribe: 1 palabra |
|
23 |
17 |
Lee: 125 palabras / 62 palabras dobles Escribe: 121 palabras / 60 palabras dobles |