PROFINET es un estándar de comunicación industrial abierto basado en Ethernet, diseñado para recopilar datos y controlar equipos en sistemas de automatización. Con una presencia significativa en el mercado, PROFINET se ha convertido en una tecnología fundamental para la industria moderna. Una de sus implementaciones más importantes es PROFINET RT (Real Time), que se centra en la transmisión de datos en tiempo real, crucial para aplicaciones de automatización donde la velocidad y la precisión son primordiales.

Entendiendo la Arquitectura de Red: Del Modelo OSI a PROFINET
Las redes de comunicación, en general, se describen mediante el modelo de referencia ISO/OSI, que consta de siete capas. Sin embargo, en el entorno de Ethernet, estas siete capas se consolidan en cuatro. PROFINET aprovecha estas cuatro capas, aunque no las utiliza simultáneamente para todas las funciones.
La Capa 2 se activa cuando un cable se conecta a un dispositivo, manejando la comunicación a nivel de enlace de datos. La Capa 3 interviene cuando los mensajes son más extensos que un telegrama Ethernet estándar, permitiendo el desensamblaje y reensamblaje de datos. La Capa 4, por su parte, establece la conexión entre dos dispositivos.
En contraste, protocolos más antiguos como PROFIBUS y muchos otros fieldbuses tradicionales operan principalmente con las capas 1, 2 y 7 del modelo OSI. Algunas aplicaciones, como los navegadores web y el correo electrónico, utilizan las cuatro capas de Ethernet. Otras, en cambio, solo requieren Ethernet junto con la capa de aplicación, como es el caso del Protocolo de Resolución de Direcciones (ARP).
El flujo de datos en Ethernet se rige por el campo EtherType, definido en IEEE 802.3. Este campo, que puede contener cientos de valores diferentes, dirige el telegrama Ethernet a la capa de procesamiento adecuada. Por ejemplo, el EtherType 0x0800 dirige el telegrama a la capa IP. PROFINET RT, sin embargo, utiliza un EtherType específico, 0x8892, que instruye al sistema para dirigir el telegrama directamente a la aplicación PROFINET desde la Capa 2 (Ethernet). Esto omite las capas intermedias, como TCP/IP, reduciendo la latencia y el jitter.
PROFINET también soporta comunicaciones TCP/IP, pero estas se reservan para tareas que no son críticas en tiempo, como la configuración, parametrización y el intercambio de datos de diagnóstico. El uso de TCP/IP en la transmisión de datos añade información adicional a los paquetes a medida que atraviesan las capas del modelo ISO/OSI. Este proceso, conocido como encapsulación, incrementa el tamaño de los telegramas Ethernet y puede introducir variaciones significativas en el tiempo de transmisión (jitter) y retrasos (latencia).
1. Descripción General de PROFINET
PROFINET es una tecnología Ethernet industrial estándar que habilita la transmisión de datos en tiempo real y el control síncrono en entornos de automatización industrial. Esto se logra mediante la implementación de protocolos y servicios específicos. PROFINET es notable por su flexibilidad, soportando múltiples métodos de comunicación, incluyendo TCP/IP, UDP, RTPS, entre otros, para adaptarse a diversas necesidades de aplicación.
Más allá de la transmisión de datos eficiente y fiable, PROFINET ofrece un conjunto integral de características para la integración, configuración, administración y mantenimiento de dispositivos. Esto simplifica enormemente la implementación y el mantenimiento de los sistemas de automatización.
Las características distintivas de PROFINET son su eficiencia, flexibilidad y escalabilidad. Está diseñado para cumplir con los exigentes requisitos de transmisión de datos en tiempo real en la automatización industrial, optimizando los protocolos de red y las estrategias de transmisión para lograr transferencias y procesamiento de datos en el rango de milisegundos.
Además, PROFINET integra robustas medidas de seguridad y fiabilidad. Emplea diversas tecnologías de seguridad, como cifrado, autenticación y control de acceso, para salvaguardar la integridad del proceso de transmisión de datos.
Con más de 25 millones de nodos instalados hasta 2018, PROFINET se consolida como uno de los estándares de Ethernet industrial más utilizados a nivel mundial.
¿Que es profinet? y algunos tipos de cables.
2. Explicación Detallada de PROFINET RT
PROFINET RT (Real Time) es un componente esencial del estándar PROFINET, enfocado en satisfacer los requisitos de tiempo real para el intercambio de datos entre sensores (dispositivos IO remotos) y actuadores. En comparación con la comunicación PROFINET estándar, PROFINET RT impone requisitos más estrictos y presenta un rendimiento optimizado para la operación en tiempo real.
Requisitos en Tiempo Real
El tiempo de respuesta de PROFINET RT típicamente se sitúa en el rango de 1 a 10 milisegundos (ms). Este rendimiento es crucial para escenarios de aplicación que demandan respuestas rápidas y un control preciso. Por ejemplo, en la automatización de fábricas, un PLC (Controlador Lógico Programable) debe leer datos de sensores en tiempo real y controlar las acciones de los actuadores para lograr un control exacto del proceso de producción. PROFINET RT asegura que estos requisitos se cumplan mediante la optimización de los protocolos de comunicación y las estrategias de transmisión.
Mecanismo de Comunicación
PROFINET RT utiliza datos de comunicación optimizados para el tiempo real. Un aspecto clave de su mecanismo es que el proceso de comunicación no consume recursos del procesador de manera intensiva, lo que mejora el rendimiento general y la eficiencia del sistema. Este enfoque de comunicación permite a PROFINET RT reducir la complejidad y el costo del sistema, al tiempo que garantiza el rendimiento en tiempo real.
Escenarios de Aplicación
PROFINET RT encuentra una amplia aplicación en escenarios de automatización industrial que requieren intercambio de datos en tiempo real y control preciso. Es fundamental en procesos de manipulación de materiales, ensamblaje e inspección en líneas de producción. En estos contextos, PROFINET RT garantiza una respuesta rápida y una sincronización precisa entre sensores y actuadores, lo que se traduce en una mayor eficiencia productiva y una mejor calidad del producto.

3. La Diferencia entre PROFINET y PROFINET RT
La distinción principal entre PROFINET estándar y PROFINET RT reside en sus capacidades de rendimiento en tiempo real y las optimizaciones de protocolo.
Rendimiento en Tiempo Real
La diferencia más significativa es el requisito de rendimiento en tiempo real. Mientras que PROFINET, como estándar universal de comunicación en automatización industrial, suele ofrecer un tiempo de respuesta en el orden de 100 milisegundos (ms), suficiente para la mayoría de las aplicaciones de control de fábrica, PROFINET RT se enfoca en satisfacer requisitos de tiempo real más elevados, con tiempos de respuesta que generalmente oscilan entre 1 y 10 milisegundos (ms). Esto lo hace ideal para aplicaciones que exigen respuestas rápidas y control preciso.
Protocolo de Comunicación
PROFINET admite una variedad de métodos de comunicación, incluyendo TCP/IP, UDP y RTPS, para adaptarse a diferentes escenarios. PROFINET RT, por otro lado, se centra en optimizar la comunicación en tiempo real mediante la introducción de protocolos y servicios de comunicación específicos para garantizar que los datos se transmitan y procesen en milisegundos.
Escenarios de Aplicación
PROFINET tiene un espectro de aplicación muy amplio, abarcando automatización de fábricas, control de procesos y control de robots. PROFINET RT, en cambio, se especializa en cumplir requisitos de tiempo real en escenarios de aplicación específicos, como la manipulación de materiales, el ensamblaje y la inspección en líneas de producción.
Costo del Sistema
Aunque PROFINET RT ofrece ventajas notables en rendimiento en tiempo real, el costo de su implementación puede ser relativamente mayor. Esto se debe a la necesidad de tecnologías y equipos de comunicación más avanzados para cumplir con los requisitos de tiempo real, lo que incrementa la complejidad y el costo del sistema. Sin embargo, para escenarios que demandan alta precisión y control en tiempo real, esta inversión adicional se justifica plenamente.
4. Ampliación de PROFINET RT: PROFINET IRT
Además de PROFINET RT, existe una solución de comunicación en tiempo real de nivel superior: PROFINET IRT (Isochronous Real Time). PROFINET IRT está diseñado para satisfacer los requisitos más exigentes de comunicación en tiempo real, especialmente en aplicaciones de Motion Control (control de movimiento).
Mediante una tecnología sincrónica en tiempo real única, PROFINET IRT puede lograr tiempos de respuesta inferiores a 1 milisegundo (ms) y una fluctuación de tiempo (jitter) inferior a 1 microsegundo (μs), incluso con hasta 100 nodos. Esto satisface las demandas de alta velocidad de las aplicaciones de control de movimiento.
PROFINET IRT opera de forma aislada de los canales de transmisión de datos de PROFINET y PROFINET RT ordinarios. No utiliza el protocolo TCP/IP para la transmisión de datos en tiempo real, sino que emplea protocolos y servicios de comunicación en tiempo real especialmente diseñados.

Canales de Comunicación en PROFINET
Para garantizar un rendimiento óptimo, PROFINET utiliza varios canales de comunicación, cada uno adaptado a diferentes necesidades:
- TCP/IP (o UDP/IP): Utilizado para comunicaciones menos críticas en cuanto al tiempo, como la configuración, parametrización y diagnósticos. Este canal introduce una mayor sobrecarga y latencia.
- PROFINET en Tiempo Real (RT): Diseñado para el intercambio de datos de E/S en tiempo real, utilizando directamente el protocolo Ethernet. Los datos de diagnóstico y comunicación aún pueden transmitirse a través de UDP/IP. Permite tiempos de ciclo superiores a 10 ms.
- PROFINET en Tiempo Real Isócrono (IRT): Desarrollado específicamente para aplicaciones de control de movimiento que requieren la máxima precisión y sincronización. Logra tiempos de ciclo inferiores a 1 ms y un jitter mínimo.
- Redes Sensibles al Tiempo (Time Sensitive Networking - TSN): Una tecnología emergente que PROFINET puede integrar para mejorar aún más la gestión del tiempo y la priorización del tráfico en redes industriales complejas.
La elección del canal de comunicación adecuado es fundamental para el diseño y la eficiencia de una red PROFINET.
Implementación Práctica de PROFINET RT con Raspberry Pi y CODESYS
La implementación de PROFINET RT en sistemas de automatización puede realizarse utilizando hardware accesible como las Raspberry Pi, junto con software de desarrollo industrial como CODESYS. A continuación, se describe un proceso general para configurar un dispositivo PROFINET IO y un controlador IO (PLC) basado en Raspberry Pi.
Requisitos
Para llevar a cabo esta implementación, se necesitará:
- 2x Raspberry Pi (una como PLC controlador IO, otra como dispositivo IO)
- Hub Ethernet
- Adaptador USB Ethernet (si es necesario)
- Fuente de alimentación para las Raspberry Pi
- Cables Ethernet
- Un ordenador portátil con Windows (o máquina virtual) con CODESYS instalado
- Un ordenador portátil Linux o una pantalla con cable HDMI para acceso SSH a la Raspberry Pi
Configuración del Controlador IO (Raspberry Pi)
- Configuración de IP Estática: Asignar una dirección IP estática al adaptador Ethernet de la Raspberry Pi que actuará como controlador IO (por ejemplo,
192.168.0.100). - Instalación de CODESYS: Descargar e instalar el Sistema de Desarrollo CODESYS V3 y el CODESYS Control para Raspberry Pi SL en el ordenador con Windows. Existe una versión de prueba gratuita, aunque requiere reiniciar el tiempo de ejecución de Codesys cada dos horas.
- Creación de Proyecto CODESYS: Abrir CODESYS, crear un nuevo proyecto estándar, seleccionar el dispositivo "Codesys Control for Raspberry Pi SL" y programar en "Texto Estructurado (ST)".
- Conexión a Raspberry Pi: Utilizar la opción "Tools > Update Raspberry Pi" en CODESYS para conectar con la Raspberry Pi, ingresando el nombre de usuario, contraseña y la dirección IP de la Raspberry Pi.
- Verificación de Conexión: Seleccionar la IP estática de la Raspberry Pi y verificar la comunicación a través de la pestaña "Device" y la función "Send Echo Service". Si surgen problemas, se puede intentar actualizar el dispositivo en CODESYS.
- Descarga de Archivo GSDML: Obtener el archivo GSDML (Generic Station Description Markup Language) del repositorio de rt-labs en GitHub y guardarlo en el ordenador con Windows. Este archivo describe las capacidades del dispositivo PROFINET IO.
- Instalación del Repositorio de Dispositivos: En CODESYS, ir a "Tools > Device Repository", seleccionar "Install" y elegir el archivo GSDML descargado.
- Añadir Dispositivo Ethernet: En el panel de dispositivos de CODESYS, hacer clic derecho en el dispositivo principal (CODESYS Control for Raspberry Pi SL), seleccionar "Add Device…", luego "Ethernet Adapter" y "Ethernet".
- Añadir Controlador PROFINET IO: Hacer clic derecho en el adaptador Ethernet recién añadido, seleccionar "Add Device…", luego "Profinet IO" y "Profinet IO Master" (PN_Controller).
- Añadir Aplicación de Muestra: Hacer clic derecho en el "PN_Controller" y seleccionar "Add Device…", luego buscar y añadir "P-Net Sample App" (la aplicación de ejemplo de rt-labs).
- Añadir Módulo IO: Hacer clic derecho en la "PNetSample_App", seleccionar "Add Device…", luego "Fieldbuses", "Profinet IO", "Profinet IO Module" y finalmente "DIO 8xLogicLevel" (el módulo IO con 8 entradas y 8 salidas digitales).
- Configuración de Interfaz Ethernet: Hacer doble clic en el adaptador Ethernet (paso 8) y seleccionar la interfaz de red correcta (por ejemplo,
eth0). La dirección IP debería actualizarse automáticamente. - Rango de IP del Controlador: En el "PN_Controller", modificar el rango de direcciones IP para que incluya la IP del dispositivo IO (por ejemplo, de
192.168.0.50a192.168.0.60). - Configuración IP del Dispositivo IO: En el nodo "PNetSample_App", ajustar la dirección IP para que coincida con la dirección IP asignada al dispositivo IO (por ejemplo,
192.168.0.50). - Mapeo de Variables PLC: Navegar hasta la lógica del PLC (
Device > PLC Logic > Application > PLC_PRG). En la sección de variables, definir las variables necesarias, comoin_pin_button_LED,out_pin_LED,in_pin_button_LED_previous,flashing,oscillator_state, yoscillator_cycles. - Programa PLC: Implementar la lógica del programa en la sección inferior, que gestiona la entrada de un botón y la salida de un LED, incluyendo un efecto de parpadeo controlado por un oscilador.
- Mapeo de Entradas IO: Hacer clic derecho en el módulo "DIO_8xLogicLevel", seleccionar "Edit IO mapping…", hacer doble clic en el icono de la entrada deseada (por ejemplo, "Bit de entrada 7") y mapearla a la variable de entrada del PLC (
in_pin_button_LED). - Mapeo de Salidas IO: De manera similar, hacer clic derecho en el módulo "DIO_8xLogicLevel", seleccionar "Edit IO mapping…", hacer doble clic en el icono de la salida deseada (por ejemplo, "Bit de salida 7") y mapearla a la variable de salida del PLC (
out_pin_LED). - Configuración de Tareas Cíclicas (Controlador IO): Configurar la tarea principal del PLC (
Task Configuration > Main Task) para que sea "Cíclica" con un ciclo de4 ms. - Configuración de Tareas Cíclicas (Comunicación PROFINET): Configurar la tarea de comunicación PROFINET (
Profinet_CommunicationTask) para que sea "Cyclic" con un ciclo de10 msy una prioridad de30. - Generación de Código: Ir a "Build > Generate Code" para compilar el proyecto.
- Transferencia a Raspberry Pi: Ir a "Online > Login" para transferir la aplicación compilada a la Raspberry Pi.
- Verificación de Registros: Utilizar "Tools > Update Raspberry Pi > System Information" para revisar los registros del controlador y verificar el estado de la aplicación.
- Desconexión del Ordenador Windows: Una vez configurado el controlador IO, el ordenador con Windows que ejecuta CODESYS puede desconectarse.
Es importante recordar apagar y encender el controlador IO de la Raspberry Pi cada dos horas si se está utilizando la versión de prueba de CODESYS.
Configuración del Dispositivo IO (Segunda Raspberry Pi)
La configuración del dispositivo IO es un proceso más complejo que a menudo implica la compilación del stack de PROFINET RT en la propia Raspberry Pi. Los pasos generales incluyen:
- Instalación de Dependencias: Asegurarse de que el sistema operativo de la Raspberry Pi tenga instaladas las dependencias necesarias, como
gitycmake. - Clonación del Repositorio: Clonar el repositorio del stack PROFINET RT (por ejemplo,
p-net) desde su fuente (como GitHub). - Configuración y Compilación: Navegar al directorio del código fuente y utilizar
cmakepara configurar el proyecto, especificando las opciones de compilación deseadas (por ejemplo,CMAKE_BUILD_TYPE=Debug,BUILD_TESTING=OFF,USE_SCHED_FIFO=ON). Luego, compilar e instalar el stack. - Ejecución de la Aplicación de Ejemplo: Crear archivos de control (por ejemplo,
button2.txt,button1.txt) y ejecutar la aplicación de ejemplo proporcionada con el stack PROFINET RT. - Verificación de Comunicación: Una vez que el dispositivo IO está en funcionamiento y configurado, el controlador IO (la primera Raspberry Pi) debería poder detectarlo y establecer comunicación PROFINET RT.

Consideraciones Adicionales y Buenas Prácticas
Para asegurar el éxito en la implementación de redes PROFINET, es fundamental seguir las directrices y herramientas proporcionadas por Profibus & Profinet International (PI). Estas guías están diseñadas por ingenieros para ingenieros y cubren aspectos cruciales del diseño, instalación y puesta en marcha de sistemas PROFINET.
Guías de PI para PROFINET
Existen tres guías principales:
- Guía de Diseño: Proporciona una base sólida para planificar la arquitectura de la red.
- Guía de Instalación: Detalla cómo realizar la instalación física del cableado y los componentes de PROFINET de manera correcta, incluyendo la selección de medios, conectores, puesta a tierra, apantallamiento, radio de curvatura y resistencia a la tracción.
- Guía de Puesta en Marcha: Explica los pasos para configurar direcciones IP, nombres de dispositivos PROFINET y la configuración de dispositivos IO en tiempo real utilizando sus archivos GSD, además de realizar mediciones de red apropiadas.
Adicionalmente, PI ofrece una herramienta de cálculo de carga de red que ayuda a estimar la carga de comunicación de PROFINET en el controlador. Es importante notar que esta herramienta se enfoca en la carga del controlador, que suele ser menor que la de otros dispositivos basados en TCP/IP como HMIs, sistemas de visión o cámaras. Para estimar la carga total de la red en aplicaciones con múltiples tipos de dispositivos y protocolos, se recomienda utilizar herramientas más extensas de proveedores como Siemens (por ejemplo, Sinetplan).
Funcionalidades Avanzadas de PROFINET
PROFINET incorpora funcionalidades que mejoran la disponibilidad y flexibilidad de la red:
- CiR (Configuration in Runtime): Permite modificar la configuración del sistema sin necesidad de detener el controlador ni interrumpir la comunicación.
- Redundancia:
- S2 (Redundancia de Controlador Simple): Un dispositivo puede comunicarse simultáneamente con un controlador principal y su respaldo a través de una única conexión.
- R1 y R2 (Redundancia de Dispositivo y Controlador): Para una alta disponibilidad, se implementa una interfaz de comunicación redundante en el dispositivo de campo.
- MRP (Media Redundancy Protocol): Permite la configuración de topologías en anillo para garantizar la redundancia en la comunicación de red. En una red Ethernet de alta disponibilidad con MRP, se requiere un Media Redundancy Manager (MRM) y uno o varios Media Redundancy Clients (MRC).
A diferencia de PROFIBUS, que utiliza un bus lineal donde un fallo en un dispositivo puede afectar a toda la red, en PROFINET cada dispositivo actúa como un switch, conmutando y regenerando la señal. Esto hace que las topologías en anillo sean particularmente robustas.
PROFINET vs. PROFIBUS: Una Comparativa Clave
En la industria de la automatización, la comunicación eficiente y fiable es crucial. PROFINET y PROFIBUS son dos de los protocolos más utilizados, cada uno con sus fortalezas.
- PROFINET: Basado en Ethernet industrial, ofrece alta velocidad, flexibilidad y escalabilidad. Es ideal para aplicaciones que requieren comunicación en tiempo real y sincronización precisa, como líneas de producción automatizadas y control de movimiento. Su compatibilidad con Ethernet facilita la integración de diversos dispositivos y sistemas.
- PROFIBUS: Un protocolo de campo establecido, conocido por su fiabilidad y robustez. Aunque más lento que PROFINET (hasta 12 Mbit/s para DP, 31.25 kbit/s para PA), sigue siendo una columna vertebral en muchas plantas industriales.
La migración de PROFIBUS a PROFINET es una tendencia común, impulsada por la necesidad de integrar procesos con sistemas de gestión, la nube o el mantenimiento predictivo. La coexistencia de ambos protocolos es posible, especialmente con dispositivos que ofrecen interfaces duales (como los actuadores eléctricos de AUMA), maximizando la inversión existente y preparando las redes para la Industria 4.0.
En términos de rendimiento, PROFINET RT puede ofrecer tiempos de ciclo de hasta 250 μs, mientras que PROFINET IRT puede lograr <1 ms (aproximadamente 250 μs). PROFIBUS DP, en comparación, tiene un máximo de 12 Mbit/s.
PROFINET se emplea en sectores como la automoción, la manufactura avanzada y la robótica, donde la velocidad y la flexibilidad son críticas. PROFIBUS, por su parte, es ampliamente utilizado en plantas de tratamiento de agua y generación de energía, donde la fiabilidad y la estabilidad son primordiales.
La elección entre PROFINET y PROFIBUS dependerá de factores como la velocidad de transmisión de datos requerida, la complejidad de la red, el costo de implementación y la compatibilidad con los sistemas existentes. A medida que la tecnología evoluciona, PROFINET, con su capacidad de integración en redes Ethernet avanzadas, continuará ganando terreno en aplicaciones que exigen alta velocidad y flexibilidad.