graph TD subgraph PLC ["Controlador (PLC PROFINET)"] IO["Memoria E/S"] DIAG["Búfer de Diagnóstico"] end subgraph RED ["Red Ethernet"] C1["Tráfico Cíclico (RT)
Constante e ininterrumpido"] A1["Tráfico Acíclico (NRT)
Solo bajo demanda"] end subgraph VDF ["Dispositivo (Variador)"] PRO["Proceso: Velocidad, Start/Stop"] PAR["Parámetros: Rampas, IPs, Fallos"] end IO <-->|"Ciclo exacto (ej. cada 2 ms)"| C1 C1 <--> PRO DIAG -. "Petición de lectura del técnico" .-> A1 A1 -.-> PAR style PLC fill:#34495e,color:#fff style VDF fill:#34495e,color:#fff style C1 fill:#27ae60,color:#fff style A1 fill:#e67e22,color:#fff

1. El Reto del Ancho de Banda

Una máquina industrial moderna es una devoradora de datos. Tomemos como ejemplo un simple Variador de Frecuencia (VDF) conectado por PROFINET. Este variador tiene cientos de parámetros configurables: rampas de aceleración, límites de corriente, historial de fallos, temperatura del disipador, etc. Si el PLC tuviera que leer todos esos cientos de bytes de información cada milisegundo, la red se saturaría instantáneamente.

Para resolver este problema arquitectónico (UF1794), PROFINET (y otros protocolos como EtherNet/IP) divide los datos en dos mundos completamente separados: los datos que cambian constantemente y necesitan acción inmediata (Cíclicos) y los datos que casi nunca cambian o solo se necesitan para mantenimiento (Acíclicos).



2. Datos Cíclicos (I/O Data)

El intercambio Cíclico es el corazón de la máquina. Es el "latido" constante. Cuando configuras un dispositivo en el TIA Portal, le asignas un Update Time (Tiempo de Actualización), por ejemplo, 2 milisegundos.

Esto significa que, pase lo que pase, haya cambiado el dato o no, el PLC le enviará un telegrama al VDF cada 2 ms, y el VDF le responderá con otro telegrama cada 2 ms. Este tráfico viaja por la vía rápida de Capa 2 (PROFINET RT). Para no saturar la red, la carga útil de los datos cíclicos se mantiene muy pequeña (típicamente entre 2 y 20 bytes). Contiene solo lo esencial para que la máquina se mueva: el bit de "Arranque", el bit de "Parada", la consigna de velocidad y el estado actual de los finales de carrera.



3. Datos Acíclicos (Record Data)

El intercambio Acíclico funciona bajo demanda. No tiene un ritmo fijo. Solo ocurre cuando alguien lo solicita explícitamente. Se utiliza para leer o escribir información "pesada" que no afecta al control instantáneo del motor.

Por ejemplo, si un ingeniero de mantenimiento quiere cambiar la rampa de desaceleración del motor de 5 segundos a 10 segundos, utiliza un bloque de programación especial en el PLC (como WRREC - Write Record). El PLC forja un paquete UDP/IP (NRT), lo envía al VDF, el VDF actualiza el parámetro y confirma la recepción. Al usar IP estándar, este tráfico tiene prioridad baja, no interrumpe el ciclo de 2 ms y se enruta sin problemas a través de las redes de la fábrica.



4. Alarmas y Diagnósticos: Acíclicos con Prioridad

¿Qué ocurre si un cable se rompe o un motor entra en cortocircuito? Este es un evento crítico, pero no ocurre cada 2 milisegundos. Para reportar estos eventos, PROFINET utiliza un mecanismo híbrido: las Alarmas.

Las alarmas son eventos Acíclicos (se disparan solo cuando ocurre el fallo), pero viajan por el canal rápido de tiempo real (RT) con alta prioridad (VLAN PCP 6 o 7). Cuando el VDF detecta un cortocircuito, interrumpe el flujo normal y dispara una Trama de Alarma. El PLC la recibe inmediatamente, interrumpe la ejecución del programa principal (llamando a un OB de Error, como el OB82 en Siemens) y toma medidas de emergencia antes de que la situación se agrave. Una vez resuelto, el VDF envía otra alarma de "Retorno a la normalidad" y el ciclo continúa.

TRÁFICO EN EL CABLE: CÍCLICO vs ACÍCLICO 0 ms 2 ms 4 ms 6 ms 8 ms Lectura Parámetro ¡ALARMA! Tráfico Cíclico (PROFINET RT) 2 a 20 Bytes. Envío incondicional cada 2 ms. Mantiene la máquina en movimiento. Tráfico Acíclico (TCP/UDP) Cientos de Bytes. Se envía solo si el PLC lo pide. Ocupa el ancho de banda libre entre ciclos. Eventos / Alarmas Acíclico, pero enviado por el canal rápido (RT) para avisar de fallos graves al instante.
Figura 1: Multiplexación en el tiempo. La red EtherNet moderna permite que múltiples tipos de datos compartan el mismo cable. Los datos cíclicos (verdes) marcan el compás determinista de la máquina. El espacio vacío entre latido y latido se aprovecha para "colar" descargas pesadas de diagnóstico (naranja) sin afectar al rendimiento del control.
Fuente: Elaboración Propia. Licencia: CC BY-SA 4.0.

🎥 Formación Técnica: Cíclico vs Acíclico en TIA Portal

Aprende cómo se asigna el Update Time en el catálogo de hardware y cómo utilizar los bloques de sistema (SFB) WRREC y RDREC para leer parámetros ocultos de los variadores de frecuencia.

▶ Ver Tutorial sobre WRREC/RDREC

📝 Evaluación Técnica: Flujo de Datos

1. En la arquitectura PROFINET, ¿cuál de las siguientes opciones describe correctamente el tráfico "Cíclico"?

2. Un autómata (PLC) está controlando un Variador de Frecuencia (VDF) a través de Ethernet. ¿Por qué es una pésima decisión de ingeniería configurar el VDF para que envíe "TODO" su mapa de memoria (300 parámetros) de forma cíclica cada milisegundo?

3. A nivel de los "Bloques de Sistema" en un PLC (como los SFB de TIA Portal), ¿cómo gestiona un programador el envío de un paquete de datos Acíclico (por ejemplo, escribir un nuevo límite de temperatura en un sensor inteligente)?

🤖 Ejercicio Práctico 4: Simulador de Planificador Cíclico/Acíclico en Python

Objetivo: Comprender cómo el sistema operativo del PLC balancea su carga de trabajo, garantizando el envío de E/S cada milisegundo mientras atiende tareas pesadas de diagnóstico de fondo.

Copia el siguiente *prompt* y pégalo en un modelo de IA (como ChatGPT, Gemini o Claude).

Actúa como desarrollador del firmware de un PLC. Escribe un script en Python que simule el 'Scheduler' (Planificador de tareas) gestionando tráfico cíclico y acíclico. El script debe: 1. Crear un bucle principal que represente un reloj avanzando en pasos de 1 milisegundo, de 1 a 10 ms. 2. Cada 2 milisegundos (ms 2, 4, 6, 8, 10), el script debe imprimir OBLIGATORIAMENTE: "[RT] Enviando Datos Cíclicos I/O (Prioridad Alta)". 3. Simula que hay una tarea "Acíclica" pendiente: "Descargar Log de Errores (1000 bytes)". El PLC solo puede procesar 200 bytes de esta tarea en los milisegundos donde NO hay envío cíclico (es decir, en los ms impares: 1, 3, 5, 7, 9). 4. Imprime el progreso de la tarea acíclica en los milisegundos libres, hasta completarla al 100%. Comenta el código explicando cómo este "intercalado" garantiza que el motor no pierda el control de posición aunque el técnico esté descargando ficheros pesados.