Vous êtes sur la page 1sur 39

Module 4

Bus de terrain CANopen


Avril 2013
Présentation de l’architecture CANopen
Le bus de terrain Canopen est utilisé pour
échanger des données entre les équipements
connectés sur le bus
Echanges implicites (au travers %QW, %IW)
Echanges explicites (au travers WRITE / READ
VAR)

Le bus CANopen est disponible sur certains


processeurs équipés du port CANopen intégré
CANopen

Processeurs BMX P34 2010 / 2030


Connecteur SubD 9 points comme interface
physique

Schneider Electric - Training – M RUIZ – January 2009 2


Caractéristiques de la voie intégrée
Caractéristiques du mode
Vitesse 20, 50, 125, 250, 500, 1000 kbds (suivant la longueur)

Equipements 63 équipements max

Longueur du bus 0 à 2500 mètres

Services NMT, PDO, SDO, SYNC, EMCY

Vitesse / Longueur 1 Mbits 20 m


(la vitesse est 500 Kbits 100 m
directement liée à
250 Kbits 250 m
la longueur du
bus) 125 Kbits 500 m
50 Kbits 1000 m
20 Kbits 2500 m

Schneider Electric - Training – M RUIZ – January 2009 3


Modèle ISO dédié au bus CANopen
7 : Couche Application CANopen définit la couche application

6 : Couche Présentation

5 : Couche session
Non utilisé
4 : Couche Transport

3 : Couche Réseau
Le protocole « Controller Area Network »
2 : Couche Liaison (CAN) définit la couche liaison et une
partie de la couche physique du modèle
1 : Couche Physique ISO

Modèle ISO

Schneider Electric - Training – M RUIZ – January 2009 4


Principe du protocole de communication
CAN est basé sur un mécanisme de
diffusion d’information (broadcast) @127

@2

@4 @5
@2 @3
@6 @7

Schneider Electric - Training – M RUIZ – January 2009 5


Principe du protocole de communication
(Suite)
Méthode CSMA CD / AMP (*)
La priorité est donnée en fonction du
COBid (@ + index)
L’identifiant avec le plus petit COBid a
la plus grande priorité

@5 @
@ 33

@4 @5
@2 @3
@6 @7

(*) Carrier Sense Multiple Access with Collision Detection and


Arbitration Message Priority
Schneider Electric - Training – M RUIZ – January 2009 6
COBid de chaque objet de communication

Schneider Electric - Training – M RUIZ – January 2009 7


PDO (Process Data Objects)
Les PDOs sont les échanges implicites entre un producteur et un ou
plusieurs consommateurs (M340 utilise les objets %QW et %IW pour
l’échange)
Les PDOs sont organisés en une simple trame CAN utilisant au maximum
8 octets de données
événement
timer

Message d’événement et PDO Consumer


Sync
Chaque x message Sync
8 octets max / PDO

PDO Consumer PDO Consumer PDO Producer

Les échanges PDOs peuvent être pilotés par un événement interne, par
un minuteur interne, par une requête distante ou par le message Sync

Schneider Electric - Training – M RUIZ – January 2009 8


SDO (Service Data Objects)
Les SDOs sont les échanges explicites utilisant les commandes
READ_VAR et WRITE_VAR
Les objets SDO en lecture ou écriture sont prédéfinis dans le dictionnaire
(fichier EDS)
Le protocole de transport SDO permet de transmettre toutes tailles d’objets

Client ou

Requête

Réponser

Serveur

Schneider Electric - Training – M RUIZ – January 2009 9


Service NMT – Message NMT
 Le service NMT (Network Management) comprend 3 services : le service
message NMT, le service message Boot up et le service Error control

 Message NMT est envoyé par le maître NMT pour forcer un esclave ou
tous les esclaves à transmettre aux autres l’état NMT
 Initialisation
 Pré-opérationnel (SDO autorisés)
 Opérationnel (PDO et SDO autorisés)
 Arrêté (PDO et SDO non autorisés)

NMT - Maître

NMT - Esclave NMT -NMT - SlaveNMT - esclave


Esclave

Schneider Electric - Training – M RUIZ – January 2009 10


Service NMT – Message Boot Up
 Le message Boot up est envoyé par l’équipement pour indiquer au
maître NMT qu’il a atteint l’état pré-opérationnel

Initialisation

Boot-up

Pré-opérationnel
Arrêté

Opérationnel

Schneider Electric - Training – M RUIZ – January 2009 11


Service NMT – Error Control
 Le service Error control permet de détecter les erreurs sur le bus
 Le service Error control peut gérer
 Le protocole Heartbeat : périodiquement (Heartbeat Producer Time) un esclave
envoie son état au maître
 Le protocole Node guarding : périodiquement (Guard Time) le maître envoie une
requête (Remote Transmission Request) aux esclaves pour connaître leur état

Schneider Electric - Training – M RUIZ – January 2009 12


Fichier EDS (Electronical Data Sheets)
 Le fichier EDS décrit les possibilités des nœuds CANopen
 Informations générales
 Information sur tous les objets du noeud
 Configuration des PDOs

 Le fichier EDS est un fichier ASCII fourni par le fabricant de l’équipement

Organisation
PDO1

Schneider Electric - Training – M RUIZ – January 2009 13


Cablâge CANopen

Processeurs
BMX P34 2010 / Borne SIGNAL
BMX P34 2030
1
2 CAN-L
3 CAN-GND
4
5
6 GND
Connecteur 7 CAN-H
SUBD 9-points
8
9

Schneider Electric - Training – M RUIZ – January 2009 14


Câblage CANopen – Offre globale
1
2
1
3

4 2
5

9 1

5 2
6 5 7
1 6
0
1
4

(1) TSX CAN TD M4 (9) VW3 CAN TAP2


(2) TSX CAN KCDF xxxT (10) VW3 CANN CARRxx
(4) TSX CAN KCDF 90TP (12) FTX CN 32 xx
(5) TSX CAN C x xx (13) FTX CNTL 12
(6) TSX CAN CxDx (14) AMO 2CA 001V000
(7) FTX CN 31 xx
Schneider Electric - Training – M RUIZ – January 2009 15
Diagnostic visuel de CANopen
CAN RUN Fa
CAN ERR
0
Etat opérationnel
Fa Initialisation en cours 1
0 Eta pré-opérationnel
1 Etat arrêté Sl

Sl Test et initialisation de l’esclave

Bus arrêté Fa

Fa Détection automatique de vitesse


2
2 Erreur compteur de dépassement
3 Défaut Heartbeat 3

4 Pas de message Sync


4
Sl CANopen ne peut pas démarrer
Sl
Pas d’erreur
Schneider Electric - Training – M RUIZ – January 2009 16
Configuration logicielle
 La configuration CANopen est complètement intégrée à Unity Pro (pas
d’outil externe pour configurer)

 CANopen est ouvert au travers du gestionnaire de catalogue matériel


qui permet :
 L’intégration d’équipements tiers dans Unity Pro
 L’optimisation de la taille mémoire du maître réservée pour les équipements
 La personnalisation des paramètres équipements

 La configuration du bus CANopen s’effectue en deux étapes :


 Etape 1 : configuration du maître (vitesse du bus, tables réservées pour les
PDO, tâche de l’échange)
 Etape 2 : configuration des esclaves (Fonctions, adressage des PDO)

Schneider Electric - Training – M RUIZ – January 2009 17


Configuration du maître
Accéder à la configuration du
1 processeur CANopen

2 Créer un IODDT pour CANopen

Configurer la vitesse de
3 transmission

4 Configurer la table des entrées /


sorties correspondant à vos
besoins

Modifier si nécessaire la
5 période Sync

Générer votre projet pour


6 vérifier que les tables sont en
accord avec votre besoin

Schneider Electric - Training – M RUIZ – January 2009 18


Configuration de l’esclave
Insérer un nouvel équipement
1 et définir son adresse ou
sélectionner l’équipement
existant à configurer

En fonction de l’équipement
2 utiliser un profil prédéfini ou
sélectionner une fonction

Utiliser les PDO prédéfinis or


3 changer la cartographie des
PDO en utilisant le
configurateur

Définir les valeurs initiales si


4 l’équipement nécessite une
configuration initiale

Générer votre projet pour


5 connaître les besoins des
tables d’entrées / sorties du
maître

Schneider Electric - Training – M RUIZ – January 2009 19


Etape 1 – Configuration du maître

Présentation de la
configuration du bus

Suivant le
processeur vous
pouvez configurer
le bus CANopen

Configuration du
Configuration des E/S
maître

Schneider Electric - Training – M RUIZ – January 2009 20


Etape 2 – Configuration de l’esclave
Choisir
l’équipement dans
la liste (*) et définir
son adresse

Accès au bus
CANopen

L’esclave est
présent dans le
bus CANopen (ex.
adresse 3)
Sélectionner un
nœud et insérer un
nouvel équipement

(*) La liste (catalogue) peut être modifiée au travers du Gestionnaire de catalogue matériel

Schneider Electric - Training – M RUIZ – January 2009 21


Etape 2 – Configuration de l’esclave (Suite)

La fonction détermine
le nombre de données
pour l ’échange des
PDO

Certains
équipements
complexes
permettent de
choisir une fonction

Schneider Electric - Training – M RUIZ – January 2009 22


Etape 2 –Configuration de l’esclave (Suite)
L’esclave transmet des
données au maître

Pour les équipements STB il


est possible d’associer un
fichier spécifique créé avec
L’esclave reçoit Advantys (version 2.3 mini) (*)
des données du
maître

Les PDO utilisent des


adresses topologiques
%IW , %QW et des List e des variables
variables internes %MW qui peuvent être
associées aux
PDO (par glisser /
déposer)
(*) Le fichier DCF est utiliser pour récupérer la configuration exacte d’un équipement
STB. Il est aussi possible de réaliser la configuration manuellement

Schneider Electric - Training – M RUIZ – January 2009 23


Etape 2 – Configuration de l’esclave (Mode
expert)

Valeurs initiales pour la


configuration de
l’équipement

Détection des erreurs


sur le bus CANopen
utiliser par le service
NMT (Node guarding ou
Heartbeat)

Réglage de la période

Schneider Electric - Training – M RUIZ – January 2009 24


Etape 2 – Configuration de l’esclave (Mode
expert)
Double cliquer sur Type ou
Inhibit pour définir la
communication PDO
(synchrone ou asynchrone)

PDO acyclique synchrone :


Type 0 : le message est envoyé de manière synchrone avec la
période Sync
Type 1 à 240 : le PDO est envoyé de manière synchrone et
cycliquement toutes les n périodes Sync (1 à 240)
Type 254 : le PDO est envoyé de manière asynchrone avec la
période Sync (la période est définie par l’équipement)
Type 255 : le PDO est envoyé de manière asynchrone avec la
période Sync quand la valeur change

Temps Inhibit: la communication est masquée pendant ce temps


Temps Event : temps pour gérer un événement pour démarrer un
PDO

Schneider Electric - Training – M RUIZ – January 2009 25


Programmation – Echanges implicites
Les PDO permettent des
échanges implicites entre le
maître (processeur M340) et
les esclaves en utilisant des
mots de lecture / écriture

Emission PDO

CANopen
Réception PDO

Schneider Electric - Training – M RUIZ – January 2009 26


Programmation – Adressage
% I / IW / ID / IF x y 0 0 ch i j
Q / QW / QD / QF

M / MW / MD / MF

Type d’objets (EBOOL / 3 pour PDOs Noeud Voie Rang Bit


BOOL / INT / DINT / 2 pour SDOs @
REAL)

Exemple
 Lire une entrée Advantys à l’adresse @ 4, voie 2, mot 3, bit 2
%IW \ 3. 4 \ 0 . 0 . 2 . 3 . 2

 Write control word on an LEXIUM @ 9, channel 4, word 3


%QW \ 3. 9 \ 0 . 0 . 4 . 3
Schneider Electric - Training – M RUIZ – January 2009 27
Programming – Explicit Exchanges
SDOs allow explicit exchanges
between the master (M340
processor) and the slaves
using READ_VAR /
WRITE_VAR requests

PLC Management of the request READ_VAR request

WRITE_VAR request CANopen

Schneider Electric - Training – M RUIZ – January 2009 28


Explicit Exchanges – Index / Sub Index
 On CANopen all requests are defined with an index (which defines the
function) and a subindex
Subindex

Index

Schneider Electric - Training – M RUIZ – January 2009 29


Explicit Exchanges – WRITE_VAR

Parameters Description

ADDM(‘0.0.2.node’) Address of exchange destination


0.0 : processor slot in rack 0
2 : channel is always 2 on
CANopen)
node (2) : device address
‘SDO’ SDO object type (in capitals)

Subindex / Index Double word or immediate value


identifying the SDO index /
subindex
Offset Number of words to write

EMIS (%MWi:L) Table of words containing the


data to write (minimum length = 1)
GEST (%MWk:4) 4 words to manage the exchange

Schneider Electric - Training – M RUIZ – January 2009 30


Explicit Exchanges – READ_VAR

Parameters Description

ADDM(‘0.0.2.node’) Address of exchange destination


0.0 : processor slot in rack 0
2 : channel is always 2 on
CANopen)
node (2) : device address
‘SDO’ SDO object type (in capitals)

Subindex / Index Double word or immediate value


identifying the SDO index /
subindex
Offset Number of words to write

GEST (%MWk:4) 4 words to manage the exchange

RECP (%MWi:L) Table of words containing the


data to be received (minimum
length = 1)

Schneider Electric - Training – M RUIZ – January 2009 31


SDO Management
Structure of the communication management table
Word Most significant byte Least significant byte
order
Data managed by the 1 Exchange number Activity bit
system
2 Operation report Communication report
Data managed by the 3 Timeout
user
4 Length

Schneider Electric - Training – M RUIZ – January 2009 32


SDO Management (Cont)
Performances of communication
 16 input / output messages per scan time of the MAST task
 For SDO exchange : 1 input / output message only per scan time of the
MAST task

16 Buffers read
IN and write / CPU
scan time
SDO
If xxx EF ….
SDO
Sca Then..

n

…………
1 Buffer read and
time
……. x16 write / CPU scan
time for CANopen
SDO

OUT

Schneider Electric - Training – M RUIZ – January 2009 33


Debug and Diagnostic - Processor

Red color indicates a


fault on CANopen

The processor gives access


to a quick diagnostic on
CANopen bus

Debug tab displays the


device in default

Fault tab describes the


default

Schneider Electric - Training – M RUIZ – January 2009 34


Debug and Diagnostic - Slave

You can access to a


device to diagnose it
(see following slides)

Red color indicates the


node in default

CANopen tree also gives


access to a quick diagnostic
of CANopen bus

Schneider Electric - Training – M RUIZ – January 2009 35


Read / Write SDOs
CANopen tab gives access
to reading / writing of SDOs
through index / subindex of
the device

Index / Subindex are


provided by the system
according with the EDS file

Schneider Electric - Training – M RUIZ – January 2009 36


Read Emergency Message

Fault tab gives access


to reading the
emergency message
(provided by the device)

Schneider Electric - Training – M RUIZ – January 2009 37


Read Inputs / Outputs of the Device
I/O objects tab gives
access to the inputs /
outputs available for the
device

Schneider Electric - Training – M RUIZ – January 2009 38


Read / Write PDOs

If you select the channel


Debug tab gives access
to reading / writing the
PDOs used

Schneider Electric - Training – M RUIZ – January 2009 39

Vous aimerez peut-être aussi