FSoE : tous les états de la machine à états

La connexion FSoE (Fail Safe over EtherCAT) est régie par une petite machine à états déterministe. Le Master et le Slave exécutent chacun leur propre copie de la machine, et les deux copies avancent en synchronisation en échangeant la commande FSoE correcte dans chaque Safety PDU. Après la mise sous tension, ou dès qu’une erreur de communication est détectée, la connexion revient à l’état Reset et recommence.

Le diagramme ci-dessous présente tous les états et toutes les transitions en une seule vue verticale. Chaque état correspond à l’une des commandes FSoE, et les trois libellés de transition — OK, STAY et NOT_OK — décrivent comment la commande reçue se compare à l’état que la machine attend actuellement.

Diagramme de la machine à états FSoEMachine à états verticale avec cinq états : Reset, Session, Connection, Parameter et Data. OK avance vers le bas, STAY conserve l'état courant, et NOT_OK revient à Reset.ResetSessionConnectionParameterDataOKOKOKOKOKSTAYSTAYSTAYSTAYSTAYNOT_OKNOT_OKNOT_OKNOT_OKNOT_OK

Comment lire le diagramme

Les trois types de transition sont évalués à partir de la commande reçue dans le Safety PDU du pair :

TransitionSignificationRésultat
OKLa commande reçue correspond à l’état suivant attendu.Avancer d’un cran vers le bas (ou rester dans Data une fois atteint).
STAYLa commande reçue est identique à l’état courant.Rester dans l’état courant et attendre.
NOT_OKLa commande reçue est inattendue, ou une erreur de CRC/watchdog s’est produite.Revenir immédiatement à Reset.

Chaque état émet également sa propre commande dans le PDU sortant, de sorte que les deux pairs avancent ensemble. Par exemple, lorsque le Master se trouve dans l’état Session, il envoie la commande Session et s’attend à ce que le Slave réponde par Connection (OK) pour avancer, par Session (STAY) pour attendre, ou par toute autre commande (NOT_OK) pour revenir à Reset.

Les cinq états

1. Reset

C’est l’état d’entrée après la mise sous tension, après un redémarrage (« reset connection »), ou dès qu’une erreur de communication FSoE est détectée. Dans Reset, aucune donnée de sécurité utilisateur n’est échangée ; le PDU transporte la commande Reset et, du côté à l’origine de l’erreur, un code d’erreur d’un octet. Le numéro de séquence et le CRC hérité sont tous deux effacés à l’entrée. Consultez FSoE Reset State PDU : structure Master et Slave pour la disposition exacte des octets et la table des codes d’erreur.

2. Session

Le Master quitte Reset en premier en envoyant la commande Session. Le Slave suit dès qu’il reçoit un Session PDU valide. Dans cet état, les deux pairs échangent des identifiants de connexion et vérifient que l’adresse FSoE Slave est correcte. Une commande Connection provenant du pair est le signal OK qui fait passer la machine à l’état suivant.

3. Connection

Dans l’état Connection, les pairs établissent les paramètres de communication de base : la longueur des données de sécurité, le timing du watchdog et le Conn_Id. La transition OK est déclenchée par la réception de la commande Parameter. Tant que les deux côtés sont encore dans Connection, ils continuent d’envoyer Connection et la machine reste dans le même état (STAY).

4. Parameter

Ici, la commande Parameter transporte les données SafeParameter qui configurent l’application de sécurité (par exemple des jeux de paramètres spécifiques à l’application). La réception de la commande Data est le signal OK pour entrer dans l’état opérationnel final. Si l’échange de paramètres échoue ou prend trop de temps, la connexion repasse en NOT_OK vers Reset.

5. Data

C’est l’état de fonctionnement normal. Les données de sécurité utilisateur sont échangées dans chaque Safety PDU, et les deux pairs envoient la commande Data. Une auto-boucle OK signifie que la connexion reste dans Data tant que la communication est saine. Une auto-boucle STAY n’est normalement pas observée dans Data (il n’y a pas d’état supérieur à attendre), mais la machine à états traite tout de même une commande Data répétée comme « rester dans Data ». Toute commande inattendue ou erreur de CRC/watchdog ramène la machine à Reset.

Résumé

La machine à états FSoE est une échelle linéaire de cinq états : Reset → Session → Connection → Parameter → Data. Une transition OK verte fait descendre la machine d’un cran, une transition STAY grise la maintient à sa position, et une transition NOT_OK rouge la ramène entièrement à Reset. Comme le Master et le Slave implémentent la même machine, toute la connexion redémarre de façon sûre dès que l’un des deux détecte une anomalie.

Références

  • ETG.5100 S (D) V1.2.0, la spécification FSoE qui définit ces états et transitions.

Articles liés

Vue d’ensemble & notions de base

Structures PDU par état

CRC

Codes d’erreur & format des données


Consultez les articles similaires par catégorie : FSoE EtherCAT Safety