# POWERLINK

POWERLINK (anciennement, Ethernet PowerLink) est un protocole temps réel et déterministe pour Ethernet standard. Ce protocole ouvert et exempt de licence est régi par l'Ethernet Powerlink Standardization Group (EPSG). Il a été introduit pour la première fois sur le marché par la société B&R en 2001.
Ce protocole n’a aucun rapport avec Power over Ethernet ou Power line communication.

## Principe

POWERLINK est une extension d'Ethernet basée sur un mécanisme alliant technique de scrutation (polling) et découpage temporel. En particulier,
* les données critiques sont transférées au cours de cycles isochrones très courts et avec des temps de réponse configurables
* tous les nœuds du réseau sont synchronisés avec une très grande précision
* les données moins critiques sont transmises au cours d’une phase asynchrone réservée
Les implémentations récentes de POWERLINK atteignent des temps de cycle inférieurs à 200 µs et une précision (jitter) de 40 ns.
Entièrement conforme à la norme 802.3 de l'IEEE, POWERLINK s'implémente sur les composants Ethernet du commerce et sans aucun composant propriétaire.

## Standardisation

POWERLINK est un standard géré par l'EPSG (Ethernet Powerlink Standardization Group), une association indépendante regroupant aussi bien des utilisateurs que des fabricants. L'EPSG compte aujourd'hui plus de 400 membres dont Alstom Power, B&R, Lenze... L'association comprend différents groupes de travail : sécurité, technologie, marketing, certification, utilisateurs finaux. L'EPSG collabore avec d'autres organismes et associations de standardisation comme le CAN in Automation (CiA) et l'IEC.

## Couche physique

La couche physique définie dans les spécifications POWERLINK était, à l'origine, 100Base-TX Fast Ethernet (IEEE 802.3). Depuis fin 2006, avec Gigabit Ethernet, POWERLINK supporte un débit de transmission dix fois plus grand (1 000 Mbit/s). Le gain de performance ainsi obtenu touche à la fois les automates, les variateurs et les composants de sécurité intégrés. Aujourd'hui, Gigabit Ethernet commence à être diffusé à grande échelle dans les systèmes informatiques. Pour l'utilisation de Gigabit Ethernet, aucun changement majeur n'est requis, qu'il s'agisse de la conception des systèmes, des composants ou encore du câblage. Il suffit d'utiliser des appareils supportant ce haut débit de transmission ainsi qu'un câble mieux adapté (Cat6). En outre, POWERLINK applique pleinement le concept Ethernet standard et s'exécute avec des modules standard comme les microcontrôleurs ou les circuits FPGA. Dans le domaine temps réel, on utilise des hubs répéteurs à la place des switchs pour minimiser le temps de retard et le jitter. Dans les spécifications POWERLINK, il est préconisé de se référer au document Industrial Ethernet Planning and Installation Guide de l'IAONA pour obtenir un câblage propre. Les connecteurs Ethernet industriels RJ45 et M12 sont acceptés.

## Couche liaison de données

Avec POWERLINK, la couche liaison de données de l'Ethernet standard est étendue par un mécanisme d'ordonnancement organisant l'accès au réseau de manière cyclique. Grâce à ce mécanisme additionnel, à chaque instant, un seul nœud à la fois accède au réseau. Chaque cycle POWERLINK se compose d'une phase isochrone et d'une phase asynchrone. La transmission des données temporellement critiques s'effectue au cours de la phase isochrone. La phase asynchrone est réservée à la transmission des données non critiques. Le nœud gestionnaire (Managing Node ou MN) autorise l'accès au médium en émettant des messages de requête selon une logique de scrutation (poll request). Ainsi, un seul nœud à la fois (Controlled Node ou CN) a accès au réseau, ce qui évite les collisions propres aux réseaux Ethernet Standard. Avec POWERLINK, le mécanisme CSMA/CD de l'Ethernet standard n'est jamais activé, le mécanisme d'ordonnancement empêchant précisément l'apparition de collisions.

## Cycle de base

Une fois la phase de démarrage terminée, le domaine temps réel fonctionne réellement dans des conditions temps réel. L'ordonnancement de la communication au cours du cycle de base est réalisé par le nœud MN. La durée totale du cycle dépend de la quantité de données isochrones et asynchrones ainsi que du nombre de nœuds à scruter au cours de chaque cycle.
Le cycle principal se compose des phases suivantes :
* Phase de start : le nœud MN émet un message de synchronisation à tous les nœuds du réseau. La trame correspondante est appelée SoC - Start of Cycle.
* Phase isochrone: en émettant une trame dite Preq - Poll Request -, le nœud MN appelle chaque nœud à transmettre des données critiques (contrôle de processus, contrôle d'axes). Le nœud auquel est destinée la requête répond avec une trame dite Pres - Poll Response -. Au cours de la phase isochrone, tous les autres nœuds restent à l'écoute des données véhiculées sur le réseau. La communication sur réseau Powerlink est donc de type producteur-consommateurs.
L'intervalle de temps Preq-n - Pres-n est appelé tranche de temps pour le nœud destinataire de la requête.
* Phase asynchrone : en émettant une trame dite SoA - Start of Asynchronous -, le nœud MN donne droit à un nœud en particulier d'émettre des données ad-hoc. Le nœud destinataire de la requête répond avec une trame ASnd. Les protocoles et adressages basés sur IP peuvent être utilisés au cours de cette phase.
La qualité du comportement temps réel dépend de la précision du temps de cycle. La longueur des différentes phases peut varier tant que la durée totale des phases réunies ne dépasse pas la limite de temps du cycle de base. Le nœud MN surveille si cette limite n'est pas dépassée. La durée des phases isochrone et asynchrone est configurable.
Image 1 : les trames au-dessus de l'axe des temps sont émises par le MN, celles au-dessous par les différents CN.
Image 2 : tranches de temps pour les nœuds et tranche de temps asynchrone
Optimisation de la bande passante par multiplexage
Outre le transfert de données isochrones à chaque cycle de base, certains nœuds peuvent également partager la même tranche de temps pour optimiser l'utilisation de la bande passante. Ainsi, la phase isochrone peut comporter deux types de tranches de temps : celles attribuées aux mêmes nœuds d'un cycle à l'autre et permettant à ces derniers d'émettre leurs données à chaque cycle de base, et celles partagées par plusieurs nœuds émettant leurs données à tour de rôle en l'espace de plusieurs cycles. Ce dernier mode de transfert peut être utilisé pour des données moins importantes mais néanmoins toujours critiques. L'attribution des tranches au cours de chaque cycle revient au nœud MN.
Image 3 : tranches de temps en mode multiplex

## POWERLINK Safety

Le protocole POWERLINK Safety est une solution de sécurité temps réel entièrement intégrée aux réseaux d'automatismes. POWERLINK Safety assure une sécurité de fonctionnement de niveau SIL 3 selon IEC 61508 avec des temps de cycle de 200 µs. POWERLINK Safety permet de s'affranchir de tout câblage séparé pour les fonctions de sécurité. POWERLINK Safety est indépendant du protocole de transport, ce qui permet de l'utiliser avec d'autres réseaux comme CAN. Les données relatives à la sécurité sont transmises via une trame embarquée au sein même des messages de communication standard.

## Liens

* l'Ethernet Powerlink Standardization Group
* Pile POWERLINK open-source pour Linux
* Pile POWERLINK open-source pour Windows XP
* Pile POWERLINK Safety open-source