Resumen de Protocolos de Redes de Control (PDF)

Document Details

UseableFermat9903

Uploaded by UseableFermat9903

Universidad Pública de Navarra

Ignacio Del Villar

Tags

redes de control sistemas industriales modbus comunicaciones industriales

Summary

Este documento proporciona un resumen de los protocolos de redes de control, enfocándose en Modbus. Incluye detalles sobre sus versiones, la pila de protocolos, la capa física, y las funciones y registros. El documento está dirigido a estudiantes de ingeniería en tecnologías industriales.

Full Transcript

Grado en Ingeniería en Tecnologías Industriales - Comunicaciones e instalaciones industriales 4. REDES DE CONTROL: PROFINET, ETHERCAT Y MODBUS Ignacio Del Villar 4. REDES DE CONTROL: PROFINET, ETHERCAT Y MODBUS 5.1. Introducción 5.2. Pro...

Grado en Ingeniería en Tecnologías Industriales - Comunicaciones e instalaciones industriales 4. REDES DE CONTROL: PROFINET, ETHERCAT Y MODBUS Ignacio Del Villar 4. REDES DE CONTROL: PROFINET, ETHERCAT Y MODBUS 5.1. Introducción 5.2. Profibus 5.3. Ethernet Industrial 5.4. Profinet 5.5. Ethercat 5.6. Ethernet/IP 5.7. Modbus 5.8. Resumen 4. REDES DE CONTROL: PROFINET, ETHERCAT Y MODBUS 5.1. Introducción 5.2. Profibus 5.3. Ethernet Industrial 5.4. Profinet 5.5. Ethercat 5.6. Ethernet/IP 5.7. Modbus 5.8. Resumen Introducción  Fue desarrollado por la empresa Modicon (actual Schneider Electric) en el año 1979  En sus orígenes tenía como tarea comunicar los PLCs de la empresa Modicon.  Se trata de un estándar de facto que por su simplicidad de implementación y de mantenimiento se emplea en muchas aplicaciones industriales Versiones  Modbus RTU serie  Modbus ASCII  Modbus TCP Ethernet  Modbus+ Cerrado  Modbus IDA está soportado por la Modbus Organization (www.modbus.org), un grupo de usuarios independientes y suministradores de dispositivos cuyo objetivo es dirigir el protocolo de comunicaciones Modbus de cara a su utilización en sistemas distribuidos de automatización Introducción Pila de protocolos Capa de aplicación de Device Modbus Profiles and Application Objects Modbus on TCP TCP IP RS-485 Ethernet Otras versiones Modbus+ Maestro-esclavo IEEE 802.3  MODBUS es un protocolo de capa de aplicación, por lo que su objetivo es definir reglas que permitan organizar e interpretar datos, con lo que se erige como un sistema que soporta el envío de mensajes, sin que tenga importancia la capa física.  Esto le confiere una gran versatilidad, hasta el punto de que se pueden transferir mensajes a través de otras redes mediante técnicas de encapsulación y desencapsulación. Modbus Serie Capa física  MODBUS serie puede ir sobre cualquier medio aunque está fundamentalmente diseñado para RS-485  Se basa en topología maestro-esclavo sin discriminación entre tráfico en tiempo real y en tiempo no real  La dirección en los dispositivos se pone manualmente  Utiliza resistencias de fin de línea para evitar reflexiones de la señal transmitida  Longitud máxima recomendada del bus: 1200 metros  Número de dispositivos máximo que se puede conectar: 247 (cuando se supera la cifra de 30 dispositivos se recomienda el empleo de repetidores) Modbus Serie Capa de enlace de datos  Entre el maestro y el esclavo se intercambian tramas del siguiente tipo  Campos  Dirección: 1 byte que se rellena con valores del 1 y el 247, dejando libre el 0 para los mensajes de difusión.  Función: 1 byte que indica el tipo de mensaje Por ejemplo el código 3 indica solicitud de lectura de registros del esclavo y en la zona de datos se indica a partir de qué dirección se leen los datos y cuántos byte se desea leer, mientras que el mismo código enviado por el esclavo contiene los datos solicitados por el maestro  Datos: varios byte dependiendo de la función (puede ir vacío si el tipo de función de la trama enviada por el maestro sólo requiere asentimiento por el esclavo)  CRC: dos bytes finales de código de comprobación de errores (CRC) Modbus Serie Añadido de bits a la trama de enlace datos  A la trama de nivel de enlace de datos: Dirección Código Código de control Datos enviados (N) Esclavo (1) Función (1) de error (2) se le añade información adicional cuando se manda a nivel físico por el cable: 1. Delimitadores: se coloca un espacio de como mínimo 1.75 bytes al inicio y al final de cada trama. 2. La transmisión a nivel físico se realiza enviando, por cada byte de la trama, 1 bit de inicio, 8 de datos (el bit menos significativo se envía como primero), 1 bit de paridad o ningún bit de paridad, y 1 o 2 bits de parada dependiendo de que se use o no el bit de paridad Modbus Serie Código de control de error El campo de control de error en Modbus Serie RTU se llama CRC y se compone de dos bytes. Tiene cierta complejidad. Así que aprenderemos solo el campo de control de error de Modbus Serie ASCII, una versión obsoleta pero más sencilla de entender. En Modbus Serie ASCII el campo de errores tiene solo un byte y se llama LRC. En el siguiente ejemplo es el byte 7E: Para obtenerlo se cogen todos los datos que hay hasta el LRC sin incluirlo, y se suman en binario byte a byte sin considerar el último de los acarreos, el del bit más significativo. Al resultado de 8 bit obtenido se le hace el complemento A 2, que es cambiar todos los bits de 0 a 1 y después sumar 1 Conclusiones sobre el código LRC: - Es sensible a ráfagas de errores. Si por 00010001 ejemplo el último de los bytes sumados es 00000011 11100011 en vez de 00000011, entonces se 00000000 obtiene como resultado final 10011110 (en + cursiva figuran los bits que son incorrectos) 01101011 - En cambio cuando cambian bits de la misma 00000000 posición en bytes diferentes se pueden dar 00000011 Cambio de 0s por 1s situaciones como que si en vez de que los 10000010 01111101 últimos bytes sean 00000000 y 00000011 son + 1 10000000 y 10000011, a pesar del error el 01111110 = 7E LRC no cambia Modbus TCP Encapsulamiento  Como MODBUS trabaja a nivel de aplicación sin importar la capa física, para su adaptación a las redes Ethernet se emplea un encapsulado de la trama MODBUS RTU: Trama MODBUS Dirección Código Código de control Datos enviados (N) Esclavo (1) Función (1) de error (2) Se elimina Código Se elimina Datos enviados (N) Función (1) Identificador de Identificador de Identificad. Código Longitud (2) Datos enviados (N) Transacción (2) Protocolo (2) de Unidad (1) Función (1) Trama MODBUS TCP  Campos de que consta la cabecera :  Identificador de transacción: distingue los mensajes consecutivos cuando estos se envían a través de una conexión TCP sin que entre ellos llegue una respuesta de confirmación al equipo que envía dichos mensajes  Identificador de protocolo: este campo siempre tiene el valor 0. En futuras extensiones del protocolo se ofrecerán diferentes variantes.  Longitud: indica el número de bytes que hay como suma del identificador de unidad, del código de función y de los datos enviados.  Identificador de unidad: identifica un servidor remoto en una red que no es TCP/IP. En una red TCP/IP este campo se pone a 0 o a todo unos. Modbus TCP Encapsulamiento  La trama MODBUS TCP se encapsula en un paquete TCP que utiliza el puerto 502 (que es el asignado a MODBUS): Trama Modbus  Tampoco hace discriminación de tipos de tráfico, lo que supone una desventaja frente a otros estándares basados en Ethernet como PROFInet o Ethernet/IP Modbus TCP Modelo cliente-servidor  En vez de trabajar con el modelo maestro esclavo, se utiliza arquitectura cliente servidor (la de TCP/IP)  El maestro hace las veces de cliente y el esclavo de servidor, pudiendo haber múltiples clientes que se conecten a un servidor  Tipos de mensajes que se intercambian:  Modbus Petición: mensaje que se envía del cliente al servidor para iniciar la transmisión.  Modbus Confirmación: respuesta del servidor recibida en el lado del cliente.  Mobus Indicación: mensaje de petición recibido en el lado del servidor.  Modbus Respuesta: mensaje de respuesta que envía el Servidor. Request Indication Modbus client Modbus server Confirmation Response  El modelo cliente-servidor, a diferencia del maestro esclavo, permite que un mismo equipo haga las veces de cliente y de servidor, algunas de ellas para poder ser aplicadas a multiples conexiones  Por otro lado Modbus TCP, aunque considerado un protocol lento, se le puede mejorar mucho su eficiencia: https://www.controlengeurope.com/article/139766/Speeding-up-Modbus-TCP.aspx Modbus TCP Funciones y registros  Modbus se organiza en torno a cuatro tipos básicos de datos  Discrete Inputs – son bits de memoria de entrada (por ejemplo las entradas digitales)  Coils (Outputs) – son bits de memoria de salida (por ejemplo las salidas digitales)  Input Registers (Input Data) – son registros de memoria de entrada, típicamente de 16 bit de tamaño (por ejemplo las entradas analógicas)  Holding Registers (Output Data) – son registros de memoria de salida, típicamente de 16 bit de tamaño (por ejemplo las salidas analógicas). También pueden ser registors de memoria de lectura/escritura como puede ser la zona de marcas de los autómatas Siemens  Los tipos de datos se identifican tomando como base una dirección de referencia (0xxxx, 1xxxx, 3xxxx y 4xxxx), con las que se designa respectivamente a las coils, las discrete inputs, los input registers y los holding registers: Modbus TCP Funciones y registros  Las direcciones con formato referencia no son direcciones de memoria explíticas. Internamente los dispositivos Modbus hacen una conversión y traducen esas direcciones al formato del equipo. Y viceversa, cuando transmiten, traducen la dirección en formato del equipo a dirección de referencia  Por otro lado, además del formato referencia también está el formato dirección, que es una versión simplificada del formato referencia que se usa en las tramas Modbus  A continuación se muestra una tabla resumen del formato referencia, el formato dirección y el caso específico de un fabricante, Siemens: Formato referencia Formato dirección Formato Siemens Entradas digitales 10001 0 I0.0 10002 1 I0.1 10003 2 I0.2 Salidas digitales 00001 0 Q0.0 00002 1 Q0.1 00003 2 Q0.2 Entradas analógicas 30001 0 IW0 30002 1 IW2 30003 2 IW4 Salidas analógica 40001 0 QW0 40002 1 QW2 40003 2 QW4 Modbus TCP Funciones y registros  Es importante tener en cuenta que el formato referencia es el más completo, pues incluye en un solo número el tipo de datos y la dirección.  Las funciones trabajan cada una con un formato referencia específico (por ejemplo 0xxxx, 1xxxx, 3xxxx, o 4xxxx). El primer dígito, el 0 1 3 o 4, indica el tipo de datos con el que trabaja, y en valor que hay en xxxx será la dirección de memoria  El campo de funciones puede tener los valores 1-255, donde los rangos 65-72 y 100-110 se emplean para funciones definidas por el usuario  Las funciones más utilizadas son: Modbus TCP Funciones y registros  Función Read Coil (Output) Status Mensaje del cliente Mensaje del servidor Los datos de las salidas digitales son: Coil 3 Coil 2 Coil 1 Coil 0 Nota: en el mensaje del cliente la dirección de inicio está expresada en formato dirección. Es el formato que se usa para tramas Modbus. El formato referencia, al ser coil, debe ser 0xxxx, y en concreto en este caso es 00001 porque el formato referencia tiene siempre un desfase de 1 respecto del formato dirección. En formato Siemens es la dirección Q0.0 Modbus TCP Funciones y registros  Función Read Holding Registers Mensaje del servidor Mensaje del cliente Nota: La dirección de inicio, como es típico en tramas Modbus, está expresada en formato dirección. En este caso es la dirección 5. El formato referencia, al ser holding register debe ser 4xxxx, y en concreto en este caso es 40006 porque el formato referencia tiene siempre un desfase de 1 respecto del formato dirección. En formato Siemens es la dirección QW10 En la trama de respuesta del servidor se devuelve el registro 40006 y 2 más, pues se han solicitado 3 registros  Función Read Input Registers Mensaje del cliente Mensaje del servidor Nota: La dirección de inicio, como es típico en tramas Modbus, está expresada en formato dirección. En este caso es la dirección 2. El formato referencia, al ser input register debe ser 3xxxx, y en concreto en este caso es 30003 porque el formato referencia tiene siempre un desfase de 1 respecto del formato dirección. En formato Siemens es la dirección IW4 En la trama de respuesta del servidor se devuelve el registro 30003 y 1 más, pues se han solicitado 2 registros Modbus TCP Funciones y registros  Función Force single coil Función Preset Single Register Mensaje del cliente y servidor Mensaje del cliente y servidor  Función Force Multiple coils Mensaje del cliente Mensaje del servidor Los datos de las salidas digitales son: Coil 3 Coil 2 Coil 1 Coil 0 Modbus TCP Funciones y registros  Función Preset Multiple Registers Mensaje del cliente Mensaje del servidor Mensaje del servidor  Función Report Slave ID Mensaje del cliente Modbus TCP Funciones y registros Si ocurren una excepción se devuelve por el servidor un código de función (80H) + el número de la función que se ha enviado, y se añade en el siguiente campo un código de excepción Resumen Tabla resumen: Nombre de Número máximo Longitud Velocidad Síncrono Asentimiento la red de nodos máxima Modbus (incluyendo raíz) Serie ASCII 247 1200 m 100 kbps (1200 m) – No Sí 35 Mbps (10 m) Serie RTU 247 1200 m 100 kbps (1200 m) – No Sí 35 Mbps (10 m) TCP ilimitado 90 m * 100 Mbps – 1 Gbps No Sí El número de nodos con direccionamiento IP (el usado en Modbus TCP) es tan alto que se puede considerar como ilimitado (IP versión 6 tiene un número de bits para direccionar muy alto). *90 es la distancia máxima de un nodo hasta el switch, pero el switch a su vez puede ir conectado a otro e integrarse en la internet, que también funciona con IP, con lo que las distancias son mucho mayores 4. REDES DE CONTROL: PROFINET, ETHERCAT Y MODBUS 5.1. Introducción 5.2. Profibus 5.3. Ethernet Industrial 5.4. Profinet 5.5. Ethercat 5.6. Ethernet/IP 5.7. Modbus 5.8. Resumen RESUMEN  En este capítulo se han visto los cuatro protocolos de red de control de uso muy extendido: Profinet, Ethercat, Modbus y Ethernet/IP.  Profinet es la versión moderna de Profibus y es compatible con este con otros protocolos de redes de sensores como AS-i, lo que persigue el objetivo de la Totally Integrated Automation (TIA).  Profinet también discrimina trafíco de mayor o menor determinismo  Ethercat alcanza prestaciones similares a Profinet y tiene un enfoque parecido  Modbus es otro protocolo de red de control sin gestión de prioridad pero sencillo de implementar. Además es un protocolo encapsulado para red IP  Ethernet/IP es encapuslado como Modbus pero es capaz de gestionar prioridad RESUMEN  A continuación se muestra una lista de los protocolos soportados por el S7-1200 Industrial Ethernet

Use Quizgecko on...
Browser
Browser