77
Présentatio n

Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Embed Size (px)

Citation preview

Page 1: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Présentation

Page 2: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 2

Chapitre 1 : Connaissances de base

Chapitre 2 : Couche physique

Chapitre 3 : Couche liaison

Chapitre 4 : Couche application

CANopen

Page 3: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 3

Partie 1 : Historique

Partie 2 : Caractéristiques principales

Chapitre 1 : Connaissances de base

CANopen

Page 4: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 4

1980-1983Création de CAN à l ’initiative de l’équipementier allemand BOSCH pour répondre à un besoin de l’industrie automobileCAN ne définit qu’une partie des couches 1 et 2 du modèle ISO (ISO 11898)

1983-1987Attractivité en prix des drivers et micro-contrôleurs intégrant CAN,du fait des gros volumes consommés par l’industrie automobile

1991Naissance du groupement d’utilisateurs CIA = CAN in Automation : http://www.can-cia.de/ destiné à promouvoir les applications industrielles

Historique

Chapitre 1 : Connaissances de base - Partie 1 : Historique

Page 5: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 5

1995 Publication par le CiA du profil de communication DS-301 : CANopen

2001Publication par le CIA de la DS-304 permettant d’intégrer des composantsde sécurité de niveau 4 sur un bus CANopen standard (CANsafe).

1993 Publication par le CiA des spécifications CAL = CAN Application Layer Celles-ci décrivent les mécanismes de transmission, mais sans préciser quand ni comment les utiliser

Historique

Chapitre 1 : Connaissances de base - Partie 1 : Historique

Page 6: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 6

CANopen a été bâti chronologiquement à partir de plusieurs spécifications :

CAN 2.0 A et B (origine Robert BOSCH)Définit précisément la couche liaison et une partie de la couche physique

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

CAL = CAN Application Layer (CiA)Fournit des outils permettant de développer une application utilisant CAN sans mode d’emploi + précisions sur la couche physique

CANopen (CiA)Définit quels outils CAL utiliser et commentGarantit l’interopérabilité des produits par la description de profiles

Les spécifications de référence

Page 7: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 7

APPLICATION

PRESENTATION

SESSION

TRANSPORT

RESEAU

LIAISON = LLC + MAC

PHYSIQUE

7

6

5

4

3

2

1

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Modèle OSI

Page 8: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 8

Device ProfileCiA DS-401I/O modules

Device ProfileCiA DS-402

Drives

Device ProfileCiA DS-404

Measuring devices

Device ProfileCiA DS-4xx

CiA DS-301 = Communication profile

Non implémentée

Non implémentée

Non implémentée

Non implémentée

CAN 2.0 A et B + ISO 11898

CAN 2.0 A et B + ISO 11898

ISO 11898 + DS-102 + DRP-301-1

CAL= CAN Application Layer APPLICATION

PRESENTATION

SESSION

TRANSPORT

RESEAU

LIAISON = LLC + MAC

PHYSIQUE

7

6

5

4

3

2

1

Spé

cifi

cati

ons

CA

N

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

CANopen et le modèle OSI

Page 9: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 9

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Les spécifications de référence

Page 10: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 10

Medium : Paire torsadée blindée2 ou 4 fils (si alimentation)

Topologie : Type busAvec dérivations courtes et résistance fin de ligne

Distance maximum 1000 m

Débit 9 débits possibles de 1Mbits/s à 10 Kbit/sFonction de la longueur du bus et de la nature ducâble : 25 m à 1 Mbits/s, 1000 m à 10Kbits/s

NB maxi équipements 1281 maître et 127 esclaves

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Couche physique

Page 11: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 11

Méthode d ’accès au médium : CSMA/CR

(Carrier Sense Multiple Access / Collision Recovery)

Chaque équipement peut émettre dès que le bus est libre

Lors d’une collision, un principe de bits récessifs/dominants permet un arbitrage

bit à bit non destructif (si on "néglige" le temps de

propagation d’un bit, si 2 abonnés

parlent en même temps, celui qui

a mis un ‘1’ sur le bus, alors que

l’autre aura mis un ‘0’, verra que le

bus est occupé, et il s’arrêtera

d’émettre, sans détruire la trame

de l’autre)

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Couche liaison

Page 12: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 12

10 9 8 7 6 5 4 3 2 1 0SO

F

RT

R Champ decommande

Identificateur

Station 2perd l ’arbitrage

et arrête d ’émettre

Station 1perd l ’arbitrage

et arrête d ’émettreStation 1

Station 2

Station 3

D

R

S1 S2 S3

Station 3continue d ’émettre,

sa trame n ’est pas modifiée

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Couche liaison : Bits dominants et bits récessifsCouche liaison : Bits dominants et bits récessifs

Page 13: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 13

Méthode d ’accès au médium : CSMA/CR

(Carrier Sense Multiple Access / Collision Recovery)

La priorité d ’un message est donné par la valeur de l’identificateur appelé COB-ID

(Communication Object IDentifier) situé en début de trame

Le COB-ID est codé sur 11 bits : valeurs comprises entre 0 et 2047

Le COB-ID de valeur la plus faible est prioritaire

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Couche liaison

Page 14: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 14

Modèle de communication : Producteur / Consommateur

Chaque message possède un identificateur unique situé en début de trame

La valeur de cet identificateur renseigne les récepteurs sur la nature des données

contenues dans chaque message.

Chaque récepteur en fonction de sa configuration, consomme ou non ces

données

Taille maxi des données utiles : 8 octets par trame

Sécurité de transmission

Parmi les meilleurs sur les réseaux locaux industriels

De nombreux dispositifs de signalisation et de détections d’erreurs

permettent de garantir une grande sécurité de transmission

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Couche liaison

Page 15: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 15

CANopen définit :

comment sont transmises les données :

Profil communication DS-301 commun à tous les produits

Définit entre autre l’allocation des identificateurs (COB-ID)

pour chaque type de message

quelles sont les données transmises

Profils produits DS-4xx propres à chaque famille de produit

(E/S TOR, E/S analogique, variateurs de vitesse, encodeurs…)

La description de ces fonctionnalités s’effectue par l ’intermédiaire d’un dictionnaire

d ’objet : Device Object Dictionnary (OD), matérialisé par un fichier EDS

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Couche application

Page 16: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 16

4 types de services sont standardisés :

1 . Administration du réseau : paramétrage, démarrage, surveillance (maître-esclaves)

2 . Transmission rapide des données de process (<= 8octets) :PDO = Process Data Object (modèle producteur-consommateur)

3 . - Transmission de données de paramétrage sans contrainte de temps (peuvent être > 8 octets par segmentation) : SDO = Service Data Object (modèle client-serveur)

4 . Messages prédéfinis pour gérer les synchronisation, références temporelles, erreurs fatales : SFO = Special Function Object

Chapitre 1 : Connaissances de base - Partie 2 : Caractéristiques principales

Couche application

Page 17: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 17

Partie 1 : Caractéristiques du médium

Partie 2 : Connectiques recommandées

CANopen

Chapitre 2 : Couche physique

Page 18: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 18

CiA DS-301 = Communication profile

Non implémentée

Non implémentée

Non implémentée

Non implémentée

CAN 2.0 A et B + ISO 11898

CAN 2.0 A et B + ISO 11898

ISO 11898 + DS-102 + DRP-301-1

Device ProfileCiA DS-401I/O modules

Device ProfileCiA DS-402

Drives

Device ProfileCiA DS-404

Measuring devices

Device ProfileCiA DS-4xx

CAL= CAN Application Layer APPLICATION

PRESENTATION

SESSION

TRANSPORT

RESEAU

LIAISON = LLC + MAC

PHYSIQUE

7

6

5

4

3

2

1

Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium

Couche physiquede CANopen

Page 19: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 19

Paire différentielle torsadée 1 paire si CAN-H / CAN-L

2 paires si CAN-H / CAN-L + alim.

Impédance caractéristique de ligne 120 ohms nominal

Terminaisons de ligne 120 ohms à chaque extrémités

Résistance du fil 70 milli-ohms / mètre nominal

Temps de propagation 5 ns / mètre nominal

Topologie Type bus dérivations les plus courtes possibles

Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium

Description du médium

Page 20: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 20

Débit Longueur du bus Section câbles

1 Mbit/s 25 m 0,25 mm2 AWG 23

800 Kbit/s 50 m 0,34 mm2 AWG 22

500 Kbit/s 100 m 0,34 mm2 AWG 22

250 Kbit/s 250 m 0,34 mm2 AWG 22

125 Kbit/s 500 m 0,5 mm2 AWG 20

50 Kbit/s 1000 m 0,75 mm2 AWG 18

20 Kbit/s 1000 m 0,75 mm2 AWG 18

10 Kbit/s 1000 m 0,75 mm2 AWG 18

Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium

Débit - longueur du bus - section câble pour 32 stations maximum

Page 21: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 21

Débit Longueur du bus Section câbles

1 Mbit/s 25 m 0,34 mm2 AWG 22

800 Kbit/s 50 m 0,6 mm2 AWG 20

500 Kbit/s 100 m 0,6 mm2 AWG 20

250 Kbit/s 250 m 0,6 mm2 AWG 20

125 Kbit/s 500 m 0,75 mm2 AWG 18

50 Kbit/s 1000 m 1 mm2 AWG 17

20 Kbit/s 1000 m 1 mm2 AWG 17

10 Kbit/s 1000 m 1 mm2 AWG 17

Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium

Débit - longueur du bus - section câble pour 100 stations maximum

Page 22: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 22

Le CiA préconise dans sa recommandation DR-303-1 une liste de connecteurs classée en 3 catégories :

Usage généralconnecteur SUB-D 9 points, connecteur DIN 41652, connecteur multipôles (câble plat vers SUB-D 9 points), connecteur RJ10, et connecteur RJ45

Usage industrielconnecteur Mini Style 5 points, connecteur Micro Style 5 points, connecteur Open Style

Usage particulierConnecteur rond 7 points, connecteur rond 8 points, connecteur rond 9 points, connecteur rond 12 points, connecteur Hand Brid Harting

Connectiques recommandées

Chapitre 2 : Couche physique - Partie 2 : Connectique recommandée

Page 23: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 23

Pin Signal Description : 1 : Reserved 2 : CAN_L = CAN_L bus line dominant low 3 : CAN_GND = CAN Ground 4 : Reserved 5 : (CAN_SHLD) Optional CAN Shield 6 : (GND) Optional Ground 7 : CAN_H = CAN_H bus line dominant high 8 : Reserved 9 : (CAN_V+) Optional CAN external positive supply

Mâle coté produit

Connecteur SUB D 9 points DIN 41652

Chapitre 2 : Couche physique - Partie 2 : Connectique recommandée

Page 24: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 24

Pin Signal Description

1: CAN_H = CAN_H bus line (dominant high)

2: CAN_L = CAN_L bus line (dominant low)

3: CAN_GND = Ground / 0 V / V-

4: Reserved

5: Reserved

6: (CAN_SHLD) = Optional CAN Shield

7: CAN_GND = Ground / 0 V / V-

8 (CAN_V+) = Optional CAN external positive supply

Connecteur RJ45

Chapitre 2 : Couche physique - Partie 2 : Connectique recommandée

Page 25: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 25

Pin Signal Description :

1 : (CAN_SHLD) = Optional CAN Shield

2 : (CAN_V+) = Optional CAN external positive supply

3 : CAN_GND = Ground / 0V / V-

4 : CAN_H = CAN_H bus line (dominant high)

5 : CAN_L = CAN_L bus line (dominant low)

Mâle coté produit

Connecteur 5-pin Mini Style : 7/8

Chapitre 2 : Couche physique - Partie 2 : Connectique recommandée

Page 26: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 26

Pin Signal Description :

1 : CAN_GND = Ground / 0 V / V-

2 : CAN_L = CAN_L bus line (dominant low)

3 : (CAN_SHLD) = Optional CAN Shield

4 : CAN_H = CAN_H bus line (dominant high)

5 : (CAN_V+) = Optional CAN external positive supply

Mâle coté produit

Connecteur Open Style

Chapitre 2 : Couche physique - Partie 2 : Connectique recommandée

Page 27: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 27

Câbles

U.I.LAPP GmbH

Schultze-Delitsch-Str. 25

D-70565 Stuttgart Germany

http://www.lappcable.com

Connecteurs

ERNI Elektroapparate GmbH

Seestrasse 9 D-73099 Adelberg Germany

ERNI Connectique S.a.r.l, France

27 bis, avenue des Sources / CP 638 F-69258 LYON Cedex 09,

http://connect.erni.com/

Fournisseurs recommandés

Chapitre 2 : Couche physique - Partie 2 : Connectique recommandée

Page 28: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 28

Partie 1 : Format des trames

Partie 2 : La sécurisation des échanges

CANopen

Chapitre 3 : Couche liaison

Page 29: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 29

La spécification CAN V2.0 comprend 2 versions : CAN 2.0.A et CAN 2.0.B

CAN 2.0.A

correspond au format de trame standard avec un identificateur sur 11 bits

utilisée par CANopen et la plupart des couches applicatives

CAN 2.0.B

correspond au format de trame étendue avec un identificateur sur 29 bits

peu utilisée

CAN 2.0.A et CAN 2.0.B

Chapitre 3 : Couche liaison - Partie 1 : Format des trames

Page 30: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 30

Séquence deCRC

Début de trame SOF

Indentifieur

Bit RTR RemoteTransmission

Request

Champ dedonnées

Délimit.CRC

SlotACK

1 11 6 0 à 64 15 71 111

Délimit.ACK

Fin detrameEOF

Champd ’arbitrage

Champ decommande :compatibilitéet longueur

Taille de la trame sans bit stuffing : 47 à 111 bits

Structure de la trame CAN 2.0.A

Chapitre 3 : Couche liaison - Partie 1 : Format des trames

Page 31: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 31

Data Frame

trames transportant des données d’un producteur vers des consommateurs, sans

garantie de traitement

Remote Frame

trames de requête en polling émises par un maître vers un ou des esclaves, pour

demander le renvoi d ’une trame de données (utilisées pour le Node Guarding, ou

pour l ’émission des PDOs si ceux-ci sont configurés en polling)

Error Frame

trames émises lorsqu’une station détecte une erreur de transmission sur le bus

Overload Frame

trames émises pour demander un laps de temps supplémentaire entre des trames

(de données ou de requête) successives

Les 4 types de trames CAN

Chapitre 3 : Couche liaison - Partie 1 : Format des trames

Page 32: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 32

SOF IDENT RTR CTR DATA CRC ACK EOF

1D 0 à 64X 1X+1R5X+1R6X11X 1D 7R

SOF IDENT RTR CTR DATA CRC ACK EOF

1D 0 à 64X 1X+1R5X+1R6X11X 7R1R

Trame de données

Trame de requête

Intertrame

3R

Intertrame

3R

Une trame de Donnée (Data frame) est prioritaire sur une trame de Requête (Remote frame)

Data Frame CAN V2.0 A

Remote Frame CAN V2.0 A

Chapitre 3 : Couche liaison - Partie 1 : Format des trames

Page 33: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 33

ERROR FLAG ERROR DELIMITER

ACTIVE ERROR FLAG : 6D 8R

Trame en cours de diffusion

Erreur détectée

PASSIVE ERROR FLAG : 6R

OVERLOAD FLAG OVERLOAD DELIMITER

6D 8R

Trame précédente

EOF ou ERROR DELIMITER

Error Frame

Overload Frame

Chapitre 3 : Couche liaison - Partie 1 : Format des trames

Page 34: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 34

Au niveau du bit lors de l ’émission de 5 bits consécutifs identiques, est introduit volontairement un bit supplémentaire dit de "stuffing", de valeur opposée. Ce bit est testé et éliminé par le récepteur

Au niveau de la structure des trames des délimiteurs sont intégrés pour permettre la vérification de la structure CRC Delimiter, ACK Delimiter, End of Frame, Error Delimiter, Overload Delimiter .

Au niveau de la validité du contenu un CRC permet aux récepteurs de vérifier la cohérence des données reçues

ACK slot cette fenêtre permet à l ’émetteur de savoir si son message a bien été reçu par au moins une station (bit dominant)

Les mécanismes de sécurisation

Chapitre 3 : Couche liaison - Partie 2 : La sécurisation des échanges

Page 35: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 35

Chaque noeud comporte obligatoirement deux compteurs

TEC : Transmit Error Counter

REC : Receive Error Counter

Ces compteurs s ’incrémentent et se décrémentent en utilisant un mécanisme de

pondération sophistiqué gravé dans le silicium

Suivant la valeur de ces compteurs, le nœud se trouve dans un des 3 états suivant :

Erreurs actives

Erreurs passives

Bus OFF (driver d ’émission déconnecté du bus).

Compteurs d’erreurs

Chapitre 3 : Couche liaison - Partie 2 : La sécurisation des échanges

Page 36: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 36

Erreurs actives

Erreurs passives

Bus OFF

Reset et configuration

REC > 127ou TEC > 127

REC < 128et TEC < 128

TEC > 255

128 occurrences de 11 bits récessifs

consécutifs (fin de trames sans erreurs)

Valeur des compteurs / état du noeud

Chapitre 3 : Couche liaison - Partie 2 : La sécurisation des échanges

Page 37: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 37

Etat Erreurs actives dès la détection du défaut, le nœud émet une trame Error Frame,

avec un champ ACTIVE ERROR FLAG les 6 bits dominants émis transgressent la loi de bit stuffing, et provoquent une

réaction en chaîne des autres nœuds qui détruit la trame en cours

Etat Erreurs passives Dès la détection du défaut, le nœud émet une trame Error Frame avec un

champ PASSIVE ERROR FLAG Les bits récessifs émis n ’ont aucune influence sur la trame en cours

d ’émission

Etat Bus OFF : Le nœud est déconnecté et surveille le bus

Comportement en cas d’erreur de communication détecté

Chapitre 3 : Couche liaison - Partie 2 : La sécurisation des échanges

Page 38: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 38

Partie 1 : Concepts de base de CANopen

Partie 2 : Objets et services CANopen

CANopen

Chapitre 4 : Couche application

Page 39: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 39

CiA DS-301 = Communication profile

Non implémentée

Non implémentée

Non implémentée

Non implémentée

CAN 2.0 A et B + ISO 11898

CAN 2.0 A et B = ISO 11898-1 et 2

ISO 11898 + DS-102

Device ProfileCiA DS-401I/O modules

Device ProfileCiA DS-402

Drives

Device ProfileCiA DS-404

Measuring devices

Device ProfileCiA DS-4xx

CAL= CAN Application Layer APPLICATION

PRESENTATION

SESSION

TRANSPORT

RESEAU

LIAISON = LLC + MAC

PHYSIQUE

7

6

5

4

3

2

1

CANopen s’appuie sur

CAL

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 40: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 40

CANopen définit :

comment sont transmises les données :

Profil communication DS-301 commun à tous les produits

– Définit entre autre l’allocation des identificateurs COB-ID pour chaque

type de message.

quelles sont les données transmises :

Profils produits DS-4xx propre à chaque famille de produit

(E/S TOR, E/S analogique, variateurs de vitesse, encodeurs…)

La description des ces fonctionnalités s’effectue par l’intermédiaire d ’un

dictionnaire d ’objet Device Object Dictionnary (OD)

Couche application

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 41: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 41

Le Dictionnaire d’Objets (OD) est un groupement ordonné des objets accessibles

sur un type de nœud donné, via :

un index, sur 16 bits

éventuellement un sous-index, sur 8 bits

Le Dictionnaire d’Objets (OD) contient l’ensemble des paramètres décrivant un

produit, ainsi que son comportement vis à-vis du réseau

Cette description est matérialisée par un fichier EDS : Electronic Data Sheet

de format ASCII, respectant une syntaxe stricte et exploitable par les logiciels de

configuration du bus (Sycon etc…)

Dictionnaire d’Objets [Object Dictionary]

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 42: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 42

Index Objects Description

0x0000 Reserved

0x0001 – 0x009F Data Types Area Définit les différents types de variablesutilisées : octets, mots, doubles mots,signés, non signés etc…

0x00A0 – 0x0FFF Reserved

0x1000 – 0x1FFF Communication profile Area Décrit les objets liés à la communication

(ex : Type d'équipement, Registred'erreur, Nombre de PDOs admis,…)

0x2000 – 0x5FFF Manufacturer Specific Profile Area Décrit les objets ‘’métier’’ spécifiques aufabriquant.

0x6000 – 0x9FFF Standardized Device Profile Area Décrit les objets ‘’métiers’’ normalisés parun profil normalisé CiA (ex DSP-401)

0xA000 – 0xFFFF Reserved

Structure du Dictionnaire d’Objets [Object Dictionary]

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 43: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 43

Profil de communication DS-301 Décrit la structure générale de l’Object Dictionary, et des objets se trouvant

dans la zone "Communication profile area"  : index 1000 à 1FFF Applicable à tous les produits CANopen

Profils équipements DS-4xx Décrivent pour les différents types de produit (modules E/S TOR, E/S

analogiques, variateurs, appareil de mesures, … ) les différents objets associés

– Objets standardisés : Index 6000 à 9FFF

– Objets spécifiques : Index 2000 à 5FFF Certains objets sont obligatoires, d ’autres optionnels Ils sont accessibles soit en lecture, soit en lecture et écriture

Profils CANopen

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 44: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 44

[FileInfo]FileName=A58_F.edsFileVersion=1FileRevision=2Description=Carte Option ATV58CreationTime=00:00AMCreationDate=12-05-2000CreatedBy=Marie-Annick Menanteau, Schneider Electric

[DeviceInfo]VendorName=Schneider ElectricProductName=ATV58_FProductVersion=1ProductRevision=1BaudRate_10=0BaudRate_20=0BaudRate_50=0BaudRate_100=0BaudRate_125=1BaudRate_250=1BaudRate_500=1BaudRate_800=0BaudRate_1000=1Granularity=0x8VendorNumber=0x0200005aProductNumber=0SimpleBootUpMaster=0ExtendedBootUpMaster=0SimpleBootUpSlave=1ExtendedBootupSlave=0….

[Comments]Lines=6Line1=Used profile: 402 Line2=Manufacturer device name: VW3A58306Line3=Hardware version: 1.0Line4=Software version: 1.0Line6= This is the EDS file for the CANopen Schneider Electric ATV58 drive module CAN Communication Adapter

[MandatoryObjects]SupportedObjects=121=0x10002=0x10013=0x60404=0x60415=0x60426=0x60437=0x60448=0x60469=0x604810=0x604911=0x606012=0x6061

[1000]ParameterName=Device TypeObjectType=7DataType=0x0007AccessType=RODefaultValue=0x10192PDOMapping=0

Extrait du fichier EDS CANopen ATV58

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 45: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 45

[1400]SubNumber=0x03ParameterName=receive PDO1 parameterObjectType=6

[1400sub0]ParameterName=number of entriesObjectType=7AccessType=CONSTDataType=0x0005PDOMapping=0LowLimit=2HighLimit=4DefaultValue=0x2

[1400sub1]ParameterName=COB-IDObjectType=7AccessType=RWDataType=0x0007PDOMapping=0LowLimit=HighLimit=DefaultValue=$NODEID+0x200

[1400sub2]ParameterName=transmission typeObjectType=7AccessType=CONSTDataType=0x0005PDOMapping=0LowLimit=HighLimit=DefaultValue=0xFF

Extrait du fichier EDS CANopen ATV58

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 46: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 46

[1600]SubNumber=0x03ParameterName=receive PDO mappingObjectType=6

[1600sub0]ParameterName=number of mapped objectsObjectType=7AccessType=RWDataType=0x0007PDOMapping=0LowLimit=0HighLimit=2DefaultValue=0x2

[1600sub1]ParameterName=1.mapped objectObjectType=7AccessType=RWDataType=0x0007PDOMapping=0LowLimit=HighLimit=DefaultValue=0x60400010

[1600sub2]ParameterName=2.mapped objectObjectType=7AccessType=RWDataType=0x0007PDOMapping=0LowLimit=HighLimit=DefaultValue=0x60420010

Extrait du fichier EDS CANopen ATV58

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 47: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 47

Chaque type de message CANopen possède un identificateur COB-ID unique, codé sur 11 bits : valeurs comprises entre 0 et 2047

Chaque nœud peut envoyer un message dès que le réseau est libre

Les collisions sont résolues suivant la priorité de chaque message

L ’identificateur de valeur la plus basse est prioritaire

Un message CAN peut transporter au maximum 8 octets de données utiles

Résumé des concepts de base

Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen

Page 48: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 48

Le profil de communication CANopen définit 4 fonctions standardisés :

1 . Administration du réseau : démarrage du bus, affectation des identificateurs, paramétrage, et surveillance NMT = Network ManagemenT (modèle maître-esclave)

2 . Transmission rapide des Données de Process (<= 8 octets) :

PDO = Process Data Object (modèle producteur-consommateur)

3 . Transmission de Données de Paramétrage sans contrainte de temps SDO = Service Data Object (modèle client-serveur)(peuvent être > 8 octets par segmentation)

4 . Messages prédéfinis pour gérer les synchronisation, références temporelles, erreurs fatales : SFO = Special Function Object

Profil de communication CANopen DS-301

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 49: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 49

Transitions effectuées Types d ’objet

par le maître NMT de communication autorisés

1: Start_Remote_Node a. NMT

2: Stop_Remote_Node b. Node Guard

3: Enter_Pre-Operational_State c. SDO

4: Reset_Node d. EMCY

5: Reset_Communication e. PDO.

6: Initialisation du nœud terminée

Diagramme d ’état correspondant au « CANopen minimum boot-up » *

(service obligatoire)

NOTA : Il existe un autre diagramme d ’état

« Extended boot-up »

Administration du Réseau : NMT

Démarrage du bus

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 50: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 50

L ’allocation des identificateurs peut s’effectuer par 3 méthodes :

En utilisant l’allocation par défaut : CANopen Predefined Set

– existence de ce mode d ’allocation obligatoire

– disponible dans l’état Pre-Opérationnel

– permet de réduire la phase de configuration du réseau

– données de process échangées suivant un mode maître esclaves

Par application, dans l’état Pre-Operationnel

– Ecriture dans les objets correspondant du dictionnaire via le service SDO

En utilisant le service DBT (DistriBuTor)

– possible sur les produits qui supportent la fonction « Extended boot up  »

– affectation des identificateurs effectuée automatiquement par ajout d’étapes

supplémentaires entre l’état Pre-Operationnel et Operationnel

Allocation des Identificateurs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 51: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 51

Pour réduire la phase de configuration du réseau a été défini un système obligatoire d’allocation des identificateurs par défaut

Ce mode d’allocation est effectif dans l’état "Pré-Operationnel", juste après la phase d ’initialisation

Elle est basée sur un partage de l’identificateur COB-ID en 2 parties :

Code Fonction : permet le codage de 4 PDOs en réception, 4 PDOs en émission, 1 SDO (occupant 2 Identificateurs), 1 EMCY object, 1 Node Guardind Identifier, 1 SYNC object, 1 Time Stamp object

Node ID : correspond à l’adresse du nœud, codée par exemple par DIP switches

10 9 8 7 6 5 4 3 2 1 0

Code Fonction Node ID

Allocation par défaut des Identificateurs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 52: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 52

Objets en diffusion générale

Objet Code FonctionBits ID 10 – 7

(Bin)

COB-ID(Hexa)

COB-ID(Dec)

NMT 0000 0x000 0

SYNC 0001 0x080 128

TIME STAMP 0010 0x100 256

Allocation par défaut des Identificateurs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 53: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 53

Objets en diffusion point à point

Objet Code FonctionBits ID 10 – 7

(Bin)

COB-ID(Hexa)

COB-ID(Dec)

Emergency 0001 0x081à 0x0FF 129 à 255

PDO 1 en émission 0011 0x181 à 0x1FF 385 à 511

PDO 1 en réception 0100 0x201 à 0x27F 513 à 639

PDO 2 en émission 0101 0x281 à 0x2FF 641 - 767

PDO 2 en réception 0110 0x301 à 0x37F 769 à 895

PDO 3 en émission 0111 0x381 à 0x3FF 897 à 1023

PDO 3 en réception 1000 0x401 à 0x47F 1025 à 1151

PDO 4 en émission 1001 0x481 à 0x4FF 1153 - 1279

PDO 4 en réception 1010 0x501 à 0x57F 1281 à 1407

SDO en Tx/serveur 1011 0x581 à 0x5FF 1409 à 1535

SDO en Rx/client 1100 0x601 à 0x67F 1537 à 1663

NMT Error Control 1110 0x701 à 0x77F 1793 à 1919

L ’allocation des identificateurs par

défaut n’est utilisable que pour les nœuds

n ’utilisant que les 4 premiers PDO

(Le cinquième PDO recouvre la zone

réservée aux SDO)

10

24

id

en

tifi

ca

teu

rsm

ax

imu

m

r és

ers

s p

ou

r le

s P

DO

s

Allocation par défaut des Identificateurs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 54: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 54

RxPDO_1_SL1RxPDO_2_SL1RxPDO_1_SL2RxPDO_2_SL2RxPDO_1_SL3RxPDO_2_SL3

TxPDO_1_SL1TxPDO_2_SL1TxPDO_1_SL2TxPDO_2_SL2TxPDO_1_SL3TxPDO_2_SL3

TxPDO_1_SL1TxPDO_2_SL1

RxPDO_1_SL1RxPDO_2_SL1

TxPDO_1_SL2TxPDO_2_SL2

RxPDO_1_SL2RxPDO_2_SL2

TxPDO_1_SL3TxPDO_2_SL3

RxPDO_1_SL3RxPDO_2_SL3

MasterMaster

Esclave 1Esclave 1

Esclave 2Esclave 2

Esclave 3Esclave 3

Tous les nœuds (esclaves)

communiquent avecune station centale

(maître)

Ent

rées

Ent

rées

Sort

ies

Sort

ies

Allocation par défaut des Identificateurs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 55: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 55

TxPDO_1_PXTxPDO_2_PX

RxPDO_1_PXRxPDO_2_PX

TxPDO_1_PYTxPDO_2_PY

RxPDO_1_PYRxPDO_2_PYRxPDO_3_PY

TxPDO_1_PZTxPDO_2_PZ

RxPDO_1_PZRxPDO_2_PZRxPDO_3_PZ

Produit XProduit X

Produit YProduit Y Produit ZProduit Z

Permet d ’échangerdes données directement sans passer par le maître

(PDO linking)

Utilisation du concept producteur-consommateur

Exemple : Commande d’axes

Modification de l’allocation par défaut

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 56: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 56

Services utilisés pour l ’émission en temps réel

de données de process de faible taille (<= 8 octets)

Ils permettent à un équipement producteur

de mettre à disposition d’un ou plusieurs consommateurs

une variable de taille maximum de 64 bits sans overhead

Ce service est est un service non confirmé

Process Data Objects = PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 57: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 57

Chaque PDO en émission ou réception est décrit par 2 objets dans le Dictionnaire

d’Objets :

le PDO Communication Parameter, qui indique comment est transmis ou reçu

un PDO :

COB-ID utilisé par le PDO

mode de transmission/réception utilisé

durée minimale entre 2 messages (inhibit time) pour les PDOs en émission

le PDO Mapping Parameter indique quelles sont les données transportées :

liste des objets du dictionnaire d’objet (OD) mappés dans le PDO

taille de chaque objet en bits

Description des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 58: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 58

IndexSub-Index

Nom FormatValeur par

défautDescription

0 Nombred’éléments Octet 3 Nombre d’éléments suivant

1 COB-IDDouble

mot

Fonction dunuméro dePDO et du

node ID

11 bits de poids faibble = COB-IDBit 31 = indique si PDO actif ou nonBit 30 = Indique si accès par Remote frameest supporté ou pas.

2 Transmissiontype Octet

Dépend duproduit

Décrit comment est transmis le PDO :synchrone ou asynchrone, sur changementd’état, cycliquement, sur polling…

0x1800à

0x19FF

3 Inhibit time Mot 0 Temps minimum entre 2 transmission dumême PDO (occupation bande passante)

Objets TxPDO Communication parameter

PDO en émission : Index 0x1800 à 0x19FFExemple : TxPDO1 = 0x1800, TxPDO2 = 0x1801, TxPDO3 = 0x1802, TxPDO4 = 0x1803

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 59: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 59

IndexSub-Index

Nom FormatValeur par

défautDescription

0 Nombred’éléments Octet

Dépend duproduit

Nombre d’objets mappés

11er objetmappé

Doublemot

Dépend duproduit

Byte 3 et 2 (octets poids fort) = IndexByte 1 = Sub-IndexByte 0 = Longueur en bitsExemple : 0x64010110

2 2ème objetmappé

Doublemot

Dépend duproduit

Byte 3 et 2 (octets poids fort) = IndexByte 1 = Sub-IndexByte 0 = Longueur en bitsExemple : 0x64010210

… … … … …

0x1A00à

0x1BFF

8 8ème objetmappé

Doublemot

0 Idem ci-dessus

Objets TxPDO Mapping parameter

PDO en émission : Index 0x1A00 à 0x1BFF

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 60: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 60

IndexSub-Index

Nom FormatValeur par

défautDescription

0 Nombred’éléments Octet 2 Nombre d’éléments suivant

1 COB-IDDouble

mot

Fonction dunuméro dePDO et du

node ID

11 bits de poids faibble = COB-IDBit 31 = indique si PDO actif ou nonBit 30 = Indique si accès par Remote frameest supporté ou pas.

0x1400à

0x15FF

2 Transmissiontype Octet

Dépend duproduit

Décrit comment est traité le PDO reçu.

Objets RxPDO Communication parameter

PDO en réception : Index 0x1400 à 0x15FF

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 61: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 61

IndexSub-Index

Nom FormatValeur par

défautDescription

0 Nombred’éléments Octet

Dépend duproduit

Nombre d’objets mappés

11er objetmappé

Doublemot

Dépend duproduit

Byte 3 et 2 (octets poids fort) = IndexByte 1 = Sub-IndexByte 0 = Longueur en bitsExemple : 0x62000108

2 2ème objetmappé

Doublemot

Dépend duproduit

Byte 3 et 2 (octets poids fort) = IndexByte 1 = Sub-IndexByte 0 = Longueur en bitsExemple : 0x62000208

… … … … …

0x1600à

0x17FF

8 8ème objetmappé

Doublemot

0 Idem ci-dessus

Objets RxPDO Mapping parameter

PDO en réception : Index 0x1600 à 0x17FF

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 62: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 62

Synchrone : sur réception d’un message SYNC Acyclique :

émission pré-déclenchée par l’occurrence d’un événement sur le nœud (événement spécifié dans le profil du nœud)

émission pré-déclenchée sur réception d’une trame "Remote Request" (polling) émise depuis un autre nœud

Cyclique émission déclenchée périodiquement, après réception de 1,

2, ... jusqu’à 240 messages SYNC

Asynchrone

transmission déclenchée par l’occurrence d ’un événement sur l’équipement (événement spécifié dans le profil du nœud )

transmission déclenchée sur réception d’une trame "Remote Request" émise depuis un autre nœud

Modes d’émission des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 63: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 63

Evénementsur Nœud X

SYNC SYNC SYNC SYNC

TxPDO

SYNC SYNC SYNC SYNC

TxPDO

Remoterequest vers

Nœud X

SYNC

SYNC

TxPDO

Remoterequest vers

Nœud X

Sur événement - Transmission Type = 0

Sur réception d ’une Remote Request (polling) - Transmission Type = 252

Emission synchrone acyclique des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 64: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 64

SYNC

TxPDO

SYNC SYNC SYNC SYNC SYNC SYNC SYNC SYNC

TxPDO TxPDO

Exemple si n = 3 Exemple si n = 3

Cyclique sur n signaux de synchro - Transmission Type = 1 à 240 (nombre de messages SYNC)

Emission synchrone cyclique des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 65: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 65

Evénementsur Nœud X

TxPDO

TxPDO TxPDO

SYNC SYNC SYNC SYNC SYNC

SYNC SYNC SYNC SYNC SYNCRemoterequest vers

Nœud X

Remoterequest vers

Nœud X

Sur événement - Transmission Type : 254 = événement spécifique; 255 = événement défini dans profil

Sur réception d’une Remote Request (polling) - Transmission type = 253

Emission asynchrone des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 66: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 66

Pour garantir que des objets ayant un niveau faible de priorité puisse être transmis,

il est possible d’affecter un temps minimum entre 2 émissions d’un même PDO.

Cette valeur est renseignée dans le paramètre «Inhibit time» des objets TxPDO,

communication parameters index 0x1800 à 0x180F.

Emission des PDOs : Inhibit time

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 67: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 67

SYNC SYNC SYNC SYNC

Rx_PDO

SYNC

Prise en compte du PDO reçu

Tx_PDO

Sur événement - Transmission Type = 0

Réception synchrone acyclique des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 68: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 68

SYNC

RxPDO

SYNC SYNC SYNC SYNC SYNC SYNC SYNC SYNC

T_PDO T_PDORxPDO

Exemple si n = 3 Exemple si n = 3

Prise en compte du PDO reçu

Prise en compte du PDO reçu

Cyclique sur n signaux de synchro - Transmission Type = 1 à 240

Réception synchrone cyclique des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 69: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 69

SYNC SYNC SYNC SYNC SYNCRxPDO

Prise en compte du PDO reçu

T_PDO

Sur événement - Transmission type=254

Réception asynchrone des PDOs

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 70: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 70

Ces services sont utilisés pour la transmission en point à point de données de paramétrage n’ayant pas de contraintes de temps.

Ils permettent à un équipement client (gestionnaire du bus) d’accéder en écriture ou en lecture au dictionnaire d’objets d’un équipement serveur (stations 1 à 127), en l’adressant par son Index et Sub-index

La taille des données peut dépasser 8 octets : dans ce cas un système de segmentation des données est activé

Le résultat d ’une écriture ou d ’une lecture est confirmé par une réponse

Un échange SDO requiert 2 COB-IDs : un pour la requête, l ’autre pour la réponse

Service Data Objects = SDO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 71: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 71

SYNC = Synchronization Object :

Objets utilisés pour synchroniser l’acquisition de données d’entrées, ou la mise à jour de de données en sorties (commande d ’axes par exemple).

Le Gestionnaire du bus émet le message SYNC selon la période de communication (cycle period) définie lors de la configuration

Special Function Objects = SFO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 72: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 72

Time Stamp Object :

L ’objet Time-Stamp fournit une référence de temps commune à tous les stations.

Ce temps est codé sur 6 octets et représente un temps absolu en ms à partir du

1er janvier 1984

Il permet de synchroniser l ’horloge locale de toutes les stations.

Special Function Objects = SFO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 73: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 73

EMCY Object :

Les objets EMCY (Emergency) sont utilisés pour transmettre des défauts applicatifs associés à chaque station (courant, tension, température, etc…)

Special Function Objects = SFO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 74: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 74

2 mécanismes permettent de surveiller l’état des stations présentes sur le bus

Node guarding

Fonctionne suivant un concept maître esclave (polling)

permet au manager du bus de demander (Remote request) l ’état de

chaque station, selon une période définie en configuration

Heartbeat

Fonctionne suivant un concept producteur consommateur.

L’état de la station est produit cycliquement sur le réseau, à une période

définie en configuration

Ce mécanisme, nouvellement spécifié, remplace le node guarding sur les

nouveaux produits (meilleurs utilisation de la bande passante)

Special Function Objects = SFO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 75: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 75

Node guard Object :

Le maitre NMT surveille l’état des esclaves connectés sur le bus en émettant périodiquement (Guard time) une trame ‘ remote frame ’ demandant son Node guard object à chaque esclave

Dès réception, l’esclave répond au maître Les esclaves peuvent éventuellement surveiller le maître NMT : il s ’agit alors du

Life guarding : Life Time = Guard Time x Life Time Factor Si pendant un temps égal au Life Time un esclave ne reçoit pas de polling, il

génère un événement "Life guarding", passe en défaut communication et envoie un objet EMCY

Special Function Objects = SFO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 76: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 76

Node guard Object :

Le maitre NMT scrute régulièrement l’état de chacun des esclaves par une Remote Frame et les compare aux valeurs précédentes enregistrées dans une table.

Si une différence est détectée, l’information est remontée à l’application par l ’événement "Network Event"

Special Function Objects = SFO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen

Page 77: Présentation. Division - Name - Date - Language 2 Chapitre 1 :Connaissances de base Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre

Division - Name - Date - Language 77

Heartbeat :

La fonction Heartbeat nouvellement spécifiée permet d ’économiser la bande passante par rapport au Node Guarding

Le producteur de Heartbeat transmet le message Heartbeat suivant une période définie dans l ’objet « Heartbeat Producer Time »

Le consommateur de Heartbeat vérifie qu ’il reçoit le message Heartbeat dans la fenêtre de temps défini dans l ’objet « Heartbeat Consumer Time ».

Special Function Objects = SFO

Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen