Vous êtes sur la page 1sur 42

Plan du cours (6)

Chapitre VI: Bus CANopen

1. Historique.
2. CANopen et modèle ISO.
3. Couche physique: médium, topologie, distance, débits,
équipements, connectiques.
4. Couche liaison: méthode d’accès, modèle de
communication, format de la trame.
5. Couche application: notion de profils, dictionnaire d’objet,
types d’objets.
6. Norme CiA DS-301: exemple d’équipements.
7. Points forts/points faibles. 146
Chapitre VI: Bus CANopen

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

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


301: CANopen

1993: Publication des spécifications CAN Application Layer (CAL)


précisant les mécanismes de transmission. 147
Chapitre VI: Bus CANopen

CANopen et modèle ISO

Profil Profil Profil


CiA DS-401 CiA DS-402 CiA DS-404
Modules E/S Départs/variateurs Instruments de mesure CAN
open

7 APPLICATION CiA DS-301 = Profil de communication

6 PRESENTATION VIDE

5 SESSION VIDE

4 TRANSPORT VIDE

3 RESEAU VIDE

2 LIAISON CAN 2.0 A et B


CAN
CAN High/Low speed
1 PHYSIQUE
Paire torsadée 148
Chapitre VI: Bus CANopen

Couche physique
• Médium: paire torsadée.

• Topologie: bus avec dérivations courtes (max. 60


esclaves/segment, résistances de fin de ligne 120Ω.

• Longueur maximale: 1km.

• Débit: 9 débits possibles de 10kbits/s (longueur 1km)


à 1Mbits/s (longueur 25m).

• Nombre maxi d’équipements: 128 = 1 maître + 127


esclaves. 149
Chapitre VI: Bus CANopen

Connectiques

DB-9 RJ 45

M12 (5 broches)
Free style
150
Chapitre VI: Bus CANopen

Couche de liaison (1): Méthode d’accès


• Le bus CAN utilise la méthode d’accès CSMA/CR (accès libre
avec résolution de collisions).

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

• Le principe des bits dominants et récessifs permet l’arbitrage


bit à bit non destructif lors d’un conflit.

• La priorité d’un message est donné par la valeur de


l’identificateur: l’identificateur de valeur la plus faible est
prioritaire. 151
Chapitre VI: Bus CANopen

Couche de liaison (2): Modèle de communication


• Le bus CANopen utilise le modèle
Producteur/Consommateur.

• Le PRODUCTEUR est une entité (unique) qui fournit


une information.

• Le CONSOMMATEUR est une entité qui utilise


l’information fournie par le producteur (plusieurs
entités peuvent utiliser la même information).
152
Chapitre VI: Bus CANopen

Modèle producteur-consommateur
• L’identificateur (sur 11 bits), situé en début du message, renseigne les
consommateurs sur la nature des données contenues dans le message.
Chaque consommateur décide de consommer ou non les données.

Nœud maître

Demande données Demande données


de paramétrage Demande données de paramétrage
de paramétrage Réponse
Esclave 3

Escl. Escl. Escl.


1 2 3
153
Chapitre VI: Bus CANopen

Couche de liaison (3): Format de la trame


Code
fonction Node_ID
(4 bits) (7 bits)

Champ d’arbitrage Longueur


Donnée
de
(0 – 8 octets)
donnée
(4 bits)
COB-ID

154
Chapitre VI: Bus CANopen

Couche application
Notion de Profils (1): Définition

• Un profil est un moyen standardisé de décrire les


fonctionnalités garantissant l’interchangeabilité de
constituants.

• L’interchangeabilité est la faculté de pouvoir remplacer un


équipement par un autre (provenant éventuellement d’un
autre constructeur). Elle est régie par le respect des
spécifications des profils.
155
Chapitre VI: Bus CANopen

Couche application
Notion de profils (2): Syntaxe
• Cette description respecte une syntaxe stricte. Les
informations sont regroupées par fonctionnalités:

– Identification: nom du produit, référence, version,


famille, fabriquant,

– Caractéristiques relatives à la communication: débits


supportés, type et taille de messages échangés,

– Caractéristiques relatives à l’application: variables


accessibles en écriture, en lecture, etc...
156
Chapitre VI: Bus CANopen
Couche application
Notion de profils (3): support numérique
VendorName=Schneider Electric
• La plupart des profils se SA (France)
VendorNumber=90
matérialisent par un fichier
ProductName=APP-1CCO0
ASCII appelé EDS (Electronic ProductNumber=1
RevisionNumber=1
Data Sheet), livré sur CD- OrderCode=APP-1CCO0
BaudRate_10=0
ROM avec le produit. BaudRate_20=0
BaudRate_50=0
BaudRate_125=1
• Ce fichier permet aux BaudRate_250=1
BaudRate_500=1
équipements de connaître et BaudRate_800=0
BaudRate_1000=1
d’échanger ensemble leurs [MandatoryObjects]
caractéristiques respectives. SupportedObjects=2
1=0x1000
2=0x1001 157
Chapitre VI: Bus CANopen

Couche application
Dictionnaire d’objet (1): Définition

• L’ensemble des fichiers EDS est regroupé dans un


dictionnaire d’objet (Device Object Dictionary), qui
définit, pour chacune des entrées/sorties du nœud, le
format de la donnée, ainsi que le moyen d’y accéder.

• Les objets du dictionnaire sont accessibles par un


index de 16 bits et, optionnellement, un sub-index de
8 bits. 158
Chapitre VI: Bus CANopen
Couche application
Dictionnaire d’objet (2): Structure
Index Zones d’objets
0000
00A0-0FFF Zones réservées
A000-FFFF
0001-009F Zone des types de données

1000-1FFF Zone des profils de communication

2000-5FFF Zone des profils spécifiques au


constructeur
6000-9FFF Zone des profils normalisés des
équipements 159
Chapitre VI: Bus CANopen

Couche application
Types d’objets (1)

• Administration réseau (Network Management ou NMT): A


travers les services du NMT, il est possible d’initialiser un
nœud, de le démarrer, de le stopper, de l’activer et de le
contrôler.

• Tous les nœuds sont considérés comme des esclaves du NMT.


Un tel esclave est uniquement identifié sur le réseau par son

« Node-Id », qui est une valeur comprise entre 1 et 127.


160
Chapitre VI: Bus CANopen

Couche application
Types d’objets (2)
• Emergency: L’emergency permet à un nœud d’envoyer, avec
une priorité élevée, un message contenant le code d’erreur
correspondant au problème auquel il est confronté.

• SYNC: Le SYNC est émis périodiquement sur le réseau par


l’horloge de base du réseau. Le temps d’une période est défini
par le paramètre standard « période de cycle de
communication » d’index (1006h), qui peut être reconfiguré par
un outil de configuration.
161
Chapitre VI: Bus CANopen

Couche application
Types d’objets (3)
• Process Data Object (PDO): permet de transférer des
données process en temps réel de tailles <= 8 octets (soit
jusqu’à 64 messages de 1 bit. Par ex. l’état de 64
capteurs/actionneurs).

• Il existe 2 types de messages PDO: «PDO en émission ou

TPDO» ou «PDO en réception ou RPDO».

• Il existe 4 niveaux différents de priorité (PDO1  PDO4), PDO1

ayant la priorité la plus élevée.


162
Chapitre VI: Bus CANopen

Mapping des PDOs


• Le « mapping » des PDOs revient à définir l’enchaînement physique des
E/S tout ou rien dans les PDOs en réception et en émission.

163
Chapitre VI: Bus CANopen

Couche application
Types d’objets (4)

• Service Data Object (SDO): Ce service permet l'accès aux


paramètres des nœuds, présents dans le dictionnaire d'objet.
La communication est du type question/réponse. Chaque
message est confirmé par une sorte d’acquittement. Le maître
accède à l'objet de l'O.D grâce au couple [index, sub-index].
L'esclave répond, soit en envoyant les données de
paramétrage demandées (lecture), soit en confirmant le bon
déroulement du paramétrage effectué par le maître (écriture).
164
Chapitre VI: Bus CANopen

Couche application
Paramétrages des différents objets

Objet Code fonction COB-ID CMS Priority group


NMT 0000 0x000 0
SYNC 0001 0x080 0

Objet Code fonction COB-ID CMS Priority group


Emergency 0010 0x081-0x0FF 0, 1
PDO 1 en émission 0011 0x181-0x1FF 0, 1
PDO 1 en réception 0100 0x201-0x27F 2
PDO 2 en émission 0101 0x281-0x2FF 2, 3
PDO 2 en réception 0110 0x301-0x37F 3, 4
SDO en serveur 1011 0x581-0x5FF 6
SDO en client 1100 0x601-0x67F 6, 7

165
Chapitre VI: Bus CANopen

Synthèse
Nœud émetteur Nœud récepteur
Objet (PDO, SDO, NMT, SYNC, …)
Couche Couche
Application Application
I.D Donnée

Couche Couche
Liaison Liaison

Couche Couche
Physique Physique

166
Chapitre VI: Bus CANopen

Norme CiA DS-301


• Au milieu des années 90, l’organisation CiA a proposé un profil commun de
communication (DS-301), qui définit l’allocation des identificateurs COB-ID
pour chaque type de message, et des profils propres à chaque famille de
produits. Cette norme peut être consultée sur le lien suivant:
https://www.can-cia.org/standardization/specifications/

• Il existe 3 familles principales de profils:

– Les modules d’E/S tout ou rien (DS-401),


– Les variateurs de vitesse (DS-402),
– Les instruments de mesure, incluant les capteurs (DS-404). 167
Chapitre VI: Bus CANopen

DS-401: Modules E/S ToR

IXAAT®:

4 entrées ToR
4 sorties ToR

Arteco®:

32 entrées ToR
64 sorties ToR
16 E + 16 S
Schneider®: 32 E + 32 S
16 E + 48 S
12 entrées ToR 48 E + 16 S
16 sorties ToR
168
Chapitre VI: Bus CANopen

DS-402: variateurs de vitesse

Applied motion®:
Applied motion®:
Servo-moteur
Démarreur moteur pas-à-pas
(équipé d’un capteur à effet Hall
(équipé d’un codeur digital)
+ codeur) 169
Chapitre VI: Bus CANopen

DS-404: Instruments de mesure


et capteurs

Kubler®:

Wika®: Inclinomètre (-60°..60°)


ASM®:

Capteur Transmetteur de pression


de (250..1000 bars)
position JUMO®:
linéaire
Sonde de température
(-50°C..450°C)

170
Chapitre VI: Bus CANopen

Points forts/points faibles

Points
Pointsforts
forts Points
Pointsfaibles
faibles

••Coût
Coûtbas
basdu
dupoint
pointde
devue
vuecâblage
câblage ••Longueur
Longueurdu
dubus
busàà11Mbit/s
Mbit/s==25
25m
m
••Haute
Hautefiabilité
fiabilité
••Haut
Hautdegré
degréde
desécurité
sécurité ••Non
Nondéterministe
déterministe(temps
(tempsde
decycle
cycle
••Interopérabilité
Interopérabilité et
et indéterminé)
indéterminé)
interchangeabilité
interchangeabilité des
des équipements
équipements
grâce
grâce aux
aux profils
profils standardisés
standardisés  ••Pas
 Pastrès
trèsrépandu
répanduen
endehors
dehorsde
de
réseau
réseauouvert
ouvert l’Europe.
l’Europe.

171
Chapitre VI: Bus CANopen

Application
• Soit à étudier le bus CANopen utilisé pour commander
l’ascenseur miniaturisé des TP (ESD350).

5X

CARTE ETAGE

1X

CARTE COMMANDE 172


Chapitre VI: Bus CANopen

• Les différentes cartes (étages et commande) sont à base de


microcontrôleur AT91SAM7X256 de chez Atmel®.

173
Chapitre VI: Bus CANopen

• Le maître du bus est le module d’expansion CANopen TWD


NCO1M de Schneider-Electric®.

Quelques caractéristiques:

• Compatible avec le module de base TWDLCDA24DRF

• Nombre d’esclaves: <=16

• Nombre de canaux: 16 RPDO + 16 TPDO

• Puissance: 1.2 W

• Vitesse de transmission: 125kb/s, 250kb/s, 500kb/s

174
Chapitre VI: Bus CANopen

Entrées cartes étages


• Appel cabine bas
• Appel cabine haut
• Capteur étage haut
• Capteur étage bas
• Présence étage
• Capteur porte fermée
• Capteur porte ouverte
• Capteur obstruction de porte
175
Chapitre VI: Bus CANopen

Sorties cartes étages

• Voyant appel cabine bas


• Voyant appel cabine haut
• Ouverture de porte
• Fermeture de porte

176
Chapitre VI: Bus CANopen

Entrées carte commande


• Bouton d’arrêt d’urgence
• Appel étage 0
• Appel étage 1
• Appel étage 2
• Appel étage 3
• Appel étage 4
• Surcourse haut
• Surcourse bas
• Surcharge de poids
177
Chapitre VI: Bus CANopen

Sorties carte de commande

• Voyant d’arrêt d’urgence • Commande buzzer


• Voyant appel étage 0 • Commande lampe cabine
• Voyant appel étage 1 • Segment A
• Voyant appel étage 2 • Segment B
• Segment C
• Voyant appel étage 3
• Segment D
• Voyant appel étage 4
• Segment E
• Commande montée
• Segment F
cabine
• Segment G
• Commande descente
• Point décimal
cabine
178
Chapitre VI: Bus CANopen

Question N°1
• De combien d’objets TPDO et RPDO a-t-on
besoin pour, respectivement, chaque carte
étage et la carte de commande?
On a besoin de 1 TPDO et 1 RPDO (les E/S dans chaque carte ne dépassent pas
Le maximum de 64 (8 octets))

• Est-ce que le choix du module d’expansion


maître CANopen est adéquat dans ce cas?
Oui car il supporte 16 esclaves, 16 RPDO et 16 PDO. Dans cette application, on
a 6 esclaves (5 cartes étage et 1 carte de commande, chacun utilise 1 TPDO et 1
RPDO)
179
Chapitre VI: Bus CANopen

• Pour chaque étage (i, i={1,…,5}), les TPDO et les RPDO sont
définis ainsi:

Nom Index COB-ID Objet Commentaire


PDO TX1 1A00 18i Read input 0x1 to 0x8 Emission
Read input 0x9 to 0x10
PDO RX1 1600 20i Write output 0x1 to 0x8 Reception
Write output 0x9 to 0x10

180
Chapitre VI: Bus CANopen

• Pour la carte de commande, les TPDO et les RPDO sont


définis ainsi:

Nom Index COB-ID Objet Commentaire


PDO TX1 1A00 18a Read input 0x1 to 0x8 Emission
Read input 0x9 to 0x10
PDO RX1 1600 20a Write output 0x1 to 0x8 Reception
Write output 0x9 to 0x10
Write output 0x11 to 0x18

181
Chapitre VI: Bus CANopen

Question N°2
• Pourquoi les TPDO et les RPDO portent-ils le
même index?
L’index définit le type de l’objet. Donc, un même type d’objet porte forcément le
même Index.

• Déterminer le node-ID et la taille de chaque


TPDO et RPDO.

• En cas de conflit, quel est le nœud le plus


prioritaire? Le 1er étage est le plus prioritaire (Node_ID le plus bas)
182
En particulier, le PDO TX1 (émission toujours prioritaire)
Chapitre VI: Bus CANopen

Mapping des cartes étages


• Appel cabine bas (voie 0, bit 0)
• Appel cabine haut (voie 0, bit 2)
• Capteur étage haut (voie 0, bit 4)
• Capteur étage bas (voie 0, bit 5)
• Présence étage (voie 0, bit 6)
• Capteur porte fermée (voie 0, bit 7)
• Capteur porte ouverte (voie 1, bit 3)
• Capteur obstruction de porte (voie 1, bit 4)
183
Chapitre VI: Bus CANopen

Question N°3

• Considérant le mapping précédant, dessiner la


trame émise (I.D + donnée) si l’ascenseur se
trouve à l’étage 3, la porte est fermée et un
opérateur effectue un appel cabine bas.

• Que devient cette trame si, en plus, la porte est


obstruée.

184
Carte de commande

Nom COB-ID Objet Node_ID Taille


PDO TX1 18a Read input 0x1 to 0x8 8
0001010 8
Read input 0x9 to 0x10
Total = 16
PDO RX1 20a Write output 0x1 to 0x8 8
0001010 8
Write output 0x9 to 0x10
8
Write output 0x11 to 0x18 Total = 24

Même Node_Id Total = 40 bits


< 64
Cartes étages: exemple étages 1 et 2

Nom Index COB-ID Objet Taille Node-ID


PDO 1A00 181 Read input 0x1 to 0x8 8
TX1 Read input 0x9 to 0x10 8 0000001
Total = 16
PDO 1600 201 Write output 0x1 to 0x8 8 0000001
RX1 Write output 0x9 to 8
0x10 Total = 16

Nom Index COB-ID Objet Taille Node-ID


PDO 1A00 182 Read input 0x1 to 0x8 8
TX1 Read input 0x9 to 0x10 8 0000010
Total = 16
PDO 1600 202 Write output 0x1 to 0x8 8 0000010
RX1 Write output 0x9 to 8
0x10 Total = 16
Trame émise
Bit 7: porte Bit 0: appel
fermée cabine bas
• 1er Cas: Bit 6: présence
étage

000110000011 0001 110000001


Bit 4:
COB-ID (PDO TX1 du 3ème étage) Nbr porte
Donnée émise:
d’octets = obstruée
état des capteurs
• 2nd Cas: 1 de la voie 0

000110000011 0010 110000001 00010000


Nbr 2ème octet: état
d’octets = des capteurs voie
2 1

Vous aimerez peut-être aussi