Comunicación en Tiempo Real Isócrono (IRT)


Cuando se mencionan los términos «en tiempo real» y «Ethernet» en la misma frase, y especialmente uno al lado del otro, el resultado suele ser un conjunto de miradas incrédulas.  Ethernet, por definición, es una red abierta que permite transmitir a cualquier nodo en cualquier momento, lo que lo convierte en un medio de transmisión probabilístico.  A menos que se cuente con un uso de ancho de banda anormalmente alto, Ethernet se construye en la suposición de que los nodos probablemente no transmitirán todos al mismo tiempo. En Ethernet este concepto se conoce como «CSMA-CD» (Carrier Sense Multiple Access with Collision Detection O acceso múltiple con escucha de portadora y detección de colisiones), y significa que, en un medio portador común, múltiples nodos pueden acceder al medio y transmitir cuando quieran, y que tienen la responsabilidad de detectar una colisión y retransmitir sus datos si esta se produce.

Esto suena como una base terrible para una red en tiempo real, pero realmente no es tan malo como parece.  Las redes Ethernet modernas utilizan switches de red en lugar de hubs, lo que elimina la posibilidad de esas colisiones.  Utilizando switches, los dispositivos PROFINET de las clases A y B aprovechan la infraestructura Ethernet estándar para lograr tiempos de ciclo tan cortos como 1 milisegundo y valores de fluctuación (jitter) de aproximadamente 10-100μs. Este es el canal de comunicaciones estándar «en tiempo real» (RT) PROFINET.

Cuando el Tiempo Real No lo Es

Pero a veces «tiempo real» no es tiempo real «hard» o determinístico.  Algunas aplicaciones, como el control de movimiento de lazo cerrado, requieren no solo tiempos de ciclo bajos, sino que también requieren un comportamiento determinístico de la red: los datos deben estar estrictamente secuenciados y nunca deben ser vulnerables a colisiones o fluctuaciones (jitter).  Para cumplir con estos requisitos, PROFINET diseñó una extensión de capa MAC para Ethernet que permite que cada switch en una red IRT proporcione intervalos de tiempo que convierten el funcionamiento de la red en TDMA (Time Division Multiple Access o Acceso Múltiple por División de Tiempo) durante una parte del tiempo y un medio CSMA-CD el resto del tiempo.

Beneficios de IRT

Al sincronizar la red, IRT proporciona algunos beneficios sobre el canal de comunicaciones RT estándar:

  1. Comportamiento de red determinístico: los frames se transmiten y se reciben según una programación y en orden
  2. Tiempos de ciclo rápidos: IRT puede proporcionar fácilmente tiempos de ciclo hasta 250μs (4.000 muestras por segundo).  Con algunas de las extensiones PROFINET V 2.3, las redes IRT pueden funcionar con tiempos de ciclo tan bajos como 31,25μs (32.000 muestras por segundo).
  3. Posibilidad de bloquear el intercambio de datos de red al procesamiento de datos de I/O del mundo real, eliminando el aliasing u otros artefactos de muestreo.

Cómo Funciona IRT

Imagine que deseaba asignar el 25% del ancho de banda de una red al tráfico IRT.  La red se dividiría en cuatro segmentos de tiempo donde el tráfico IRT moviéndose a través de una porción y el tráfico de RT regular moviéndose a través de las otras:

Intervalos de tiempo de IRT, utilizando un cuarto del ancho de banda total de la red

Durante el 75% del tiempo, la red operaría igual que cualquier otra red.  Pero el 25% del tiempo restante, almacenaría en un búfer cualquier tráfico no-IRT y solamente permitiría el paso de los frames IRT a través de su segmento de tiempo.  Una vez que el tráfico IRT se haya transferido, los switches transmitirán el tráfico almacenado en el búfer y reanudará las comunicaciones regulares en Ethernet. Esta reserva de ancho de banda es escalable; los segmentos de tiempo IRT sólo serán lo suficientemente grandes como para adaptarse a la comunicación IRT, dejando el resto del ancho de banda para el tráfico Ethernet regular.

Si bien esto suena difícil de implementar, es bastante sencillo en la práctica.  Cada switch en la red requiere dos características para crear los segmentos de tiempo y poder trabajar en un dominio IRT:

  1. Un reloj compartido extremadamente preciso para determinar cuándo entrar en el segmento de tiempo IRT y cuándo volver a la operación normal de Ethernet.
  2. Circuitos adicionales en el switch de la red para almacenar en un búfer cualquier tráfico de Ethernet extra que se reciba en otros puertos durante el segmento de tiempo IRT.

El reloj compartido es proporcionado por un estándar IEEE, conocido como IEEE 1588V2 (o IEEE 1588-2008).  Este estándar define el Protocolo de Tiempo de Precisión (PTP o Precision Time Protocol), y PROFINET amplía el PTP a un protocolo de envoltura llamado Protocolo de Reloj Transparente de Precisión (PTCP).  PTCP se utiliza no sólo para compartir un reloj común en tiempo real a través de la red, sino que también se utiliza para calcular los retrasos inherentes a los switches de red y el cableado entre ellos.  Los dispositivos IRT son capaces de calcular esos retrasos hasta el nanosegundo, y esa precisión es lo que permite que todos los switches en la red IRT entren y salgan del segmento de tiempo IRT exactamente al mismo tiempo.  La lógica de conmutación adicional debe realizarse de acuerdo con los requisitos determinados por PI y no es demasiado difícil de implementar en los conmutadores Ethernet estándar.  Sin embargo, este tema resulta un poco avanzado para esta entrada.

Cómo utilizar IRT

El uso de IRT es bastante sencillo.  Todos los componentes de su red PROFINET, desde el Controlador hasta los Dispositivos, y cada switch Ethernet ubicado en el medio, deben estar certificados de acuerdo con la Clase de Conformidad C de PROFINET.  A partir de ahí, tiene que configurar el dominio de sincronización IRT que utilizará su Controlador: debe especificar cuánto ancho de banda (cuántos intervalos de tiempo) dedicará a la operación IRT, junto con los tiempos de ciclo para los dispositivos.  Finalmente, usted debe definir la topología de red – usted debe informar al controlador exactamente cómo están conectados los cables entre sus dispositivos IRT para que se pueda optimizar la programación de la transmisión IRT dentro de los segmentos de tiempo IRT. Todo el proceso es apenas un poco más complejo que la configuración de una red que cumpla con Conformance Class B.

Algunos Controladores y Dispositivos admiten algo llamado «aplicación de modo Isocrono».  Esto no es realmente parte de IRT.  En realidad, se trata de un método para bloquear el lazo de ejecución de la aplicación en el intervalo de actualización IRT para evitar el sobre o submuestreo de datos.

Resumiendo

Hemos visto por qué IRT es necesario, cómo funciona y cómo utilizarlo.  Si desea saber más sobre IRT, comuníquese con su Centro de Competencias PI local.