# Ethernet POWERLINK

Ethernet POWERLINK (conocido también con el acrónimo EPL) es un protocolo de comunicación en tiempo real basado en hardware estándar Ethernet.
Su principio de funcionamiento hace que el POWERLINK sea apto para aplicaciones de automatización industrial donde varios elementos de control (autómatas, pantallas de operador, módulos de E/S, variadores de frecuencia, servocontroladores, módulos de seguridad, sensores etc.) tengan que comunicar entre ellos de forma rápida, isócrona y sobre todo precisa (es decir minimizando el tiempo de latencia de la red), garantizando desde luego que el proceso de comunicación sea fiable y repetitivo. POWERLINK no es un hardware, es un software que funciona sobre un hardware estándar.

## Funcionamiento

En una red Ethernet TCP/IP cada nodo decide de forma autónoma cuando escribir datos en la red. Esta “anarquía” es una posible causa de colisiones: si dos (o más) estaciones deciden al mismo tiempo acceder a la red se genera una colisión. Para evitarla, existe un mecanismo llamado CSMA/CD (Carrier Sense Multiple Access/Collision Detection) que hace que las estaciones retrasen su intento y vuelvan a intentar a escribir en la red después de un tiempo aleatorio. Esta forma de actuar conlleva una desventaja: es imposible prever con certidumbre cuando (o dentro que plazo de tiempo) llegará la información que se está esperando. En casos extremos (muy hipotéticos pero no imposibles) ésta podría no llegar nunca.
Una funcionalidad de este tipo resulta inaceptable en automatización industrial, donde es fundamental poder contar con una comunicación fiable, repetitiva, rápida, sincronizada y sin retrasos.
En Ethernet POWERLINK no hay colisiones, en cuanto todo está regulado por un nodo manager (MN – Managing Node) que gestiona la comunicación entre los varios nodos de control (CN – Control Node). El MN sincroniza todos los CN entre ellos por medio de una señal de reloj que se repite con una precisión inferior a 100 ns (tiempo de latencia), y que constituye el tiempo de ciclo. Durante cada ciclo, el MN envía a cada CN una petición de envío de sus datos (Poll Request). Los CN contestan inmediatamente a las peticiones (Poll Response) enviando sus datos a la red de forma broadcast para que todos los demás CN (y el mismo MN) los puedan escuchar sin que el MN tenga que hacer de pasarela.
Más en detalle, un ciclo de comunicación de POWERLINK consta de tres fases:
* durante el Start Period el MN envía un Start of Cycle (SoC) a todos los CN para sincronizarlos.
* el segundo periodo (Cyclic Period) sirve para el intercambio isócrono de los datos entre los nodos de la red.
* finalmente el último periodo está reservado para la transmisión de datos asíncronos que no son críticos en el tiempo (Acyclic Period).
Este mecanismo, llamado SCNM (Slot Communication Network Management), permite alcanzar tiempos de ciclos de pocos cientos de microsegundos, durante los cuales varias estaciones tienen la posibilidad de enviar a la red sus datos.
Además este sistema admite también la trasmisión de datos asíncronos (por ejemplo tramas TCP/IP encapsuladas o datos de servicio, diagnóstico, debug) durante el mismo tiempo de ciclo.
Esta tabla índica el número de estaciones que pueden comunicarse en un tiempo de ciclo:
| Tiempo de ciclo | N.º nodos* |
| 200 µs | 9 |
| 400 µs | 21 |
| 800 µs | 45 |
(*)Tramas de 46 byte/nodo, topología árbol

### Nodos multiplexados

POWERLINK prevé también la posibilidad de multiplexar los nodos de más baja prioridad, con el fin de optimizar la comunicación.
Por ejemplo, si en una red hay un eje maestro M1 que tiene que enviar su posición y su velocidad a tres ejes esclavos S1, S2 y S3, es importante que éste envié sus datos cada ciclo de comunicación; la información proporcionada por los esclavos tiene prioridad más baja y puede ser más lenta. Por esto es posible configurar el bus de forma que los tres esclavos de éste ejemplo compartan alternativamente el mismo slot de comunicación.
La comunicación resulta entonces:
* Ciclo i: el maestro M1 envía sus datos (posición, velocidad, estado etc); el esclavo S1 también. Los esclavos S2 y S3 no envían nada.
* Ciclo i+1: el maestro M1 y el esclavo S2 envían sus datos; los esclavos S1 y S3 no envían nada.
* Ciclo i+2: el maestro M1 y el esclavo S3 envían sus datos; los esclavos S1 y S2 no envían nada.
* Ciclo i+3: igual que el ciclo i.

### Redundancia

POWERLINK admite redundancia de cable, de anillo y/o de nodo manager ¡?

### Topología

POWERLINK admite topologías a estrella, a árbol o en cascada.

### Compatibilidad con otros protocolos

POWERLINK integra al 100% las tramas de CANopen, puede encapsular paquetes TCP/IP en el slot asíncrono de su comunicación.

## Historia

* 1999-2001: la empresa austriaca Bernecker & Rainer (B&R) desarrolla Ethernet POWERLINK.
* Nov. 2001: B&R presenta Ethernet POWERLINK al mercado.
* Apr. 2002: B&R decide hacer público el protocolo Ethernet POWERLINK.
* Nov. 2002: se funda el consorcio Ethernet Powerlink Standardization Group (EPSG) con la finalidad de reunir fabricantes y usuarios de POWERLINK interesados en mejorar conjuntamente esta tecnología; presidente del consorcio es la universidad suiza de Zúrich (ZHW - Zürcher Hochschule Winterthur), una entidad sin ánimo de lucro que garantiza que los desarrollos no sean guiados o manipulados por los intereses particulares de ninguna empresa.
* Feb. 2003: ZHW empieza a ofrecer servicios de consultoría sobre Ethernet POWERLINK para aquellas empresas que quieran implementar el protocolo en su propia electrónica.
* Jun 2003: EPSG establece una colaboración con el CANopen Group (CiA – CAN in Automation) en la cual se decide que las tramas de CANopen puedan ser trasmitidas en POWERLINK también.
* Nov. 2003: los miembros de EPSG siguen desarrollando POWERLINK y acaban con las especificaciones de la versión V2 del protocolo.
* Abr. 2004: en la feria HMI de Hannover (Alemania) se presenta el primer sistema “Multi-Vendor”, donde varios equipos de distintos fabricantes comunican entre ellos por medio de Ethernet POWERLINK.
* Nov. 2006: se certifica por TÜV el EPL Safety, protocolo de seguridad basado en Ethernet POWERLINK.
* Oct. 2007: se realizan las primeras pruebas de POWERLINK en una red de Ethernet a 1 Gbit/s; gracias al hecho basarse en hardware Ethernet estándar, el traspaso de 100 Mbit/s a 1 Gbit/s POWERLINK puede aprovechar de esta nueva tecnología disponible para el mercado informático.
* Dic. 2007: POWERLINK se incluye oficialmente en los estándares internacionales IEC 61784-2 (perfil de comunicación), 61158-300, 61158-400. 61158-500, 61158-600 (servicios y protocolos) y ISO 15745-1 (descripción de dispositivo).
* Abr. 2008: el protocolo de Ethernet POWERLINK se hace tecnología OpenSource: la empresa alemana Systec Electronic publica el código fuente del protocolo, cualquiera lo puede descargar y utilizarlo gratuitamente para implementar en su propia electrónica Ethernet POWERLINK.
* Sep. 2008: disponible gratuitamente el LiveCD de openPOWERLINK: el LiveCD carga un sistema operativo GNU/Linux que ya integra el openPowerlink maestro.