DOCA0132FR-01

Utilisation des SDO

Introduction

Les télégrammes SDO permettent d’accéder à un objet CANopen de façon non périodique grâce à la programmation de requêtes. Le service SDO se compose d’un télégramme de requête et d’un télégramme de réponse.

Télégramme de requête SDO

Informations de requête émises depuis le client vers le contrôleur LTMR  :

COB-ID

Octet 0

Octet 1

Octet 2

Octet 3

Octet 4

Octet 5

Octet 6

Octet 7

0x600 + ID du nœud

Code de requête

Index d’objet

Sous-index d’objet

Données de requête

LSB

MSB

Bits 7 à 0

Bits 15 à 8

Bits 23 à 16

Bits 31 à 24

Télégramme de réponse SDO

Informations de requête émises depuis le client vers le contrôleur LTMR  :

COB-ID

Octet 0

Octet 1

Octet 2

Octet 3

Octet 4

Octet 5

Octet 6

Octet 7

0x580 + ID du nœud

Code de réponse

Index d’objet

Sous-index d’objet

Données de réponse

LSB

MSB

Bits 7 à 0

Bits 15 à 8

Bits 23 à 16

Bits 31 à 24

Codes de requête et de réponse

Le contenu des données de requête et de réponse peut varier selon le code de requête et le code de réponse. Le tableau suivant présente les données de requête correspondant à chacun des codes de requête :

Code de réponse

Description de la commande

Octet 4

Octet 5

Octet 6

Octet 7

0x23

Données d’écriture 4 octets

Bits 7 à 0

Bits 15 à 8

Bits 23 à 16

Bits 31 à 24

0x2B

Données d’écriture 2 octets

Bits 7 à 0

Bits 15 à 8

0x00

0x00

0x2F

Données d’écriture 1 octet

Bits 7 à 0

0x00

0x00

0x00

0x40

Données de lecture

0x00

0x00

0x00

0x00

0x80

Abandonner la commande SDO en cours* 1

Bits 7 à 0

Bits 15 à 8

Bits 23 à 16

Bits 31 à 24

Le tableau suivant présente les données de réponse correspondant à chacun des codes de réponse :

Code de requête

Description de la commande

Octet 4

Octet 5

Octet 6

Octet 7

0x23

Lecture de données : données de 4 octets

Bits 7 à 0

Bits 15 à 8

Bits 23 à 16

Bits 31 à 24

0x2B

Lecture de données : données de 2 octets

Bits 7 à 0

Bits 15 à 8

0x00

0x00

0x2F

Lecture de données : données de 1 octet

Bits 7 à 0

0x00

0x00

0x00

0x40

Ecriture d’une réponse de 1/2/4 octets

0x00

0x00

0x00

0x00

0x80

Réponse à une erreur détectée : code d’abandon renvoyé*

0x00

0x00

0x00

0x00

Codes d’abandon SDO

Les codes d’abandon suivants sont pris en charge :

Code d’abandon

Description

0x 0503 0000

Transfert segmenté : le bit de basculement n’a pas été inversé

0x 0504 0000

Le délai du protocole des SDO a expiré.

0x 0504 0001

Le code de requête n’est pas valide ou est inconnu.

0x 0601 0000

Un déclenchement s’est produit lors de l’accès au paramètre (par exemple, lors d’une requête d’écriture sur un paramètre en lecture seule).

0x 0601 0001

Une tentative de requête de lecture a été réalisée sur un paramètre en écriture seule.

0x 0601 0002

Une tentative de requête d’écriture a été réalisée sur un paramètre en lecture seule.

0x 0602 0000

L’index envoyé dans la requête se rapporte à un objet inexistant du dictionnaire d’objets.

0x 0604 0041

Mappage d’objets PDO : le paramètre ne peut pas être mappé au PDO ; cette erreur détectée se produit lors de l’écriture sur les paramètres 0x1600, 0x1A00, 0x1605 et 0x1A05 (mappages des PDO).

0x 0604 0042

Mappage d’objets PDO : le nombre ou la longueur des paramètres à mapper dépasse la longueur maximale des PDO.

0x 0609 0011

Le sous-index envoyé dans la requête n’existe pas.

0x 0609 0030

La plage de valeurs du paramètre est dépassée (uniquement pour l’accès en écriture).

0x 0609 0031

La valeur du paramètre indiquée est trop élevée.

0x 0609 0032

La valeur du paramètre indiquée est trop faible.

0x 0609 0036

La valeur maximale du paramètre est inférieure à sa valeur minimale.

0x 0800 0000

Une erreur générale détectée s’est produite

Exemple de SDO d’écriture

Voici un exemple de programmation de SDO d’écriture en langage texte structuré pour l’automate Premium.

Exemple de SDO de lecture

Voici un exemple de programmation de SDO de lecture en langage texte structuré pour l’automate Premium.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Contenu utile ?