Skip to main content

Diagnostic CANopen

Ce chapitre décrit les options de diagnostic offertes par le protocole CANopen .

État CANopen

Un réseau CANopen est composé d'un maître NMT (gestion du réseau) et d'esclaves NMT. Dans ce cas, le maître NMT contrôle tous les périphériques et peut modifier leur état de communication. Un périphérique CANopen peut se trouver dans l'un des quatre états suivants :

_can_img_state.png

Initialisation : Après la mise sous tension, le nœud passe par cet état. À ce stade, l’application et la communication (débit binaire et adresse du nœud) sont initialisées. Ensuite, le nœud passe automatiquement à l’état « Pré-opérationnel ».

En phase pré-opérationnelle : la communication avec le nœud est possible via les SDO. Cependant, le nœud n’est pas en mesure d’effectuer une communication PDO .

Operational: Le nœud CANopen est pleinement opérationnel. Il peut envoyer et recevoir des données de processus de manière autonome.

Arrêté : Le nœud est complètement déconnecté du réseau. Aucune communication SDO ou PDO n’est possible. Le nœud ne peut passer à un autre état réseau que par une commande réseau appropriée (exemple : démarrer le nœud).

Registre des erreurs

Selon la norme CiA 301, chaque périphérique CANopen possède un registre d'erreurs (objet 16#1001). Ce registre est accessible via SDO et fournit, en cas d'erreur, des informations supplémentaires sur cette erreur.

Seul le bit 0 (erreur générique) est obligatoire dans le registre d'erreurs. Les autres bits sont optionnels et ne sont pas esclave activés. Dès qu'un périphérique détecte une erreur, au moins le bit 0 de cet objet est activé.

Tableau 15. Registre des erreurs

Peu

Description

0

Erreur générique

1

Actuel

2

Tension

3

Température

4

Erreur de communication (état d'erreur de dépassement)

5

Profil d'appareil

6

Réservé (toujours 0)

7

Spécifique au fabricant



Champ d'erreur d'urgence et prédéfini (EMCY)

CANopen définit le protocole d'urgence optionnel (EMCY) pour signaler les erreurs. Une urgence est un message CAN transmis selon l'ensemble de connexion prédéfini avec l'identifiant CAN 16#80 + l'identifiant de nœud.

Le télégramme a la structure suivante :

_can_img_emcy.png

La longueur d'un message d'urgence est toujours de 8 octets. Le code d'erreur d'urgence (EEC) correspondant est transmis dans les deux premiers octets. Viennent ensuite la valeur actuelle du registre d'erreur 0x1011 (ER : registre d'erreur) et 5 octets spécifiques au fabricant (MEF : champ d'erreur spécifique au fabricant).

L'interprétation des codes d'erreur doit être consultée dans le manuel du fabricant. Le protocole d'urgence n'est pas pris en charge par tous les esclaves et doit être configuré en conséquence par le gestionnaire CANopen .

L'historique des incidents survenus (historique des erreurs) est accessible depuis l'objet 16#1003 via SDO. Le sous-index 0 contient le nombre d'erreurs enregistrées et les sous-objets suivants contiennent les données des incidents transmis.

Pour plus d'informations, voir : Champ d'erreur prédéfini et registre d'erreurs

Mécanismes de surveillance : battements cardiaques et Guarding des nœuds

La surveillance d'un nœud CAN est nécessaire s'il n'envoie pas de messages en continu ( PDOs cycliques). À cette fin, les mécanismes de « battement de cœur » et de « protection du nœud » sont prévus et peuvent être utilisés alternativement.

  • Surveillance des nœuds : avec ce protocole, des messages (trames CAN distantes) sont envoyés par le maître NMT aux esclaves CANopen existants. Ces derniers doivent répondre à ces messages dans un délai imparti. En l'absence de réponse, le maître NMT enregistre cette absence. Les trames CAN distantes étant généralement à éviter, une surveillance par pulsation est préférable.

  • Signal de présence : Le protocole de signal de présence a été introduit avec CANopen version 4.0 et constitue la méthode de surveillance privilégiée. Chaque nœud envoie un message de manière indépendante à intervalles réguliers. Ce message peut être consulté par tout autre abonné du réseau.