You are on page 1of 34

Mise en service dun rseau CANopen

Note dapplication

A42010d, Franais Version 1.0.0 31/10/2002

ii General

Copyright 2001 by WAGO Kontakttechnik GmbH Tous droits rservs.

WAGO Kontakttechnik GmbH Hansastrae 27 D-32423 Minden Phone: +49 (0) 571/8 87 0 Fax: +49 (0) 571/8 87 1 69 E-Mail: info@wago.com Web: http://www.wago.com

Technical Support Phone: +49 (0) 571/8 87 5 55 Fax: +49 (0) 571/8 87 4 30 E-Mail: support@wago.com

WAGO Contact SA Paris Nord 2 BP 50 065 95947 Roissy-Ch.-de-Gaulle Cedex Tel. : Fax : Web: +33 (0) 1 48 17 25 90 +33 (0) 1 48 63 25 20 http://www.wago.com

E-Mail : info-fr@wago.com

Support technique Tel. : +33 (0) 1 48 17 25 90 Fax : +33 (0) 1 48 17 25 92 E-Mail : support.fr@wago.com Toutes les mesures imaginables ont t prises pour garantir l'exactitude et la compltude de la prsente documentation. Comme il est impossible, malgr un travail consciencieux, d'viter toutes les erreurs, nous recevrons avec gratitude vos remarques et suggestions. Nous attirons votre attention sur le fait que dans ce manuel, les dsignations de logiciels et de matriels et plus gnralement les noms de marques des entreprises concernes sont soumis une protection des marchandises, une protection des marques ou une protection lie aux droits de brevet.
Note dapplication A42010d

Sommaire

iii

SOMMAIRE
1 Informations importantes ......................................................................... 2 1.1 Bases juridiques ..................................................................................... 2 1.1.1 Protection des droits dauteur ................................................................ 2 1.1.2 Qualification du personnel..................................................................... 2 1.1.3 Utilisation dans le cadre prvu .............................................................. 2 1.2 Domaine de validit ............................................................................... 3 1.3 Symboles................................................................................................ 3 2 3 Description.................................................................................................. 4 Matriel requis ........................................................................................... 4

4 Solution ....................................................................................................... 4 4.1 Principes du CANopen .......................................................................... 4 4.1.1 Fonctionnement ..................................................................................... 4 4.1.2 PDO (Process Data Object) ................................................................... 5 4.1.3 SDO (Service Data Object).................................................................... 6 4.1.4 NMT (Network Management Tool) ...................................................... 7 4.2 Exemple de configuration de rseau...................................................... 8 4.2.1 Configuration point point ................................................................. 8 4.2.2 Gestion des variables rseau dans le programme .................................. 9 4.2.3 Gestion dune entre analogique ......................................................... 12 4.3 Fonctionnalits avances. .................................................................... 14 4.3.1 Node guarding et Heartbeat monitoring .............................................. 14 4.3.2 Objets EMERGENCY ......................................................................... 18 4.3.3 Modes de transmission......................................................................... 22 4.3.4 Paramtres spcifiques au Tx PDO ..................................................... 24 4.4 Dictionnaire dobjet ............................................................................. 25 4.4.1 Zone rserve la communication ...................................................... 26 4.4.2 Zone rserve au constructeur ............................................................. 27 4.4.3 Zone rserve aux paramtres standards ............................................. 28 4.4.4 Zone rserve....................................................................................... 29

Note dapplication A42010d

Informations importantes

1 Informations importantes
Pour assurer l'utilisateur une installation et une mise en service rapides des appareils dcrits dans ce manuel, il est ncessaire de lire et de respecter scrupuleusement les informations et les explications suivantes.

1.1 Bases juridiques


1.1.1 Protection des droits dauteur
Ce manuel, y compris toutes les illustrations qui s'y trouvent, est protg par la lgislation sur les droits d'auteur. Toute autre utilisation de ce manuel s'cartant de la rglementation concernant les droits d'auteur est interdite. Sa reproduction, sa traduction dans une autre langue, de mme que son archivage et modification lectronique et phototechnique ncessitent une autorisation expresse crite de WAGO Kontakttechnik GmbH, Minden. Toute infraction fera lobjet dune demande de dommages et intrts.

1.1.2 Qualification du personnel


L'utilisation des produits telle qu'elle est dcrite dans ce manuel s'adresse exclusivement des personnes possdant une formation dans la programmation d'un API, des personnes formes en lectricit ou des personnes places sous la responsabilit de personnes formes en lectricit, et qui de plus sont familiarises avec les normes en vigueur. WAGO Kontakttechnik GmbH dcline toute responsabilit pour des mauvaises manipulations ou des dommages causs sur des produits WAGO ou des produits tiers, dus au non-respect des informations contenues dans ce manuel.

1.1.3 Utilisation dans le cadre prvu


Les composants sont livrs depuis l'usine pour chacun des cas d'application avec une configuration fixe, matrielle et logicielle. Les modifications ne sont permises que dans le cadre des possibilits contenues dans les manuels. Toute autre modification sur les matriels et logiciels, de mme qu'une utilisation non conforme la rglementation entrane l'exclusion de la responsabilit de la socit WAGO Kontakttechnik GmbH. Veuillez vous adresser directement la socit WAGO Kontakttechnik GmbH pour toute demande de modification, voire de nouvelle configuration.

Note dapplication A42010d

Informations importantes

1.2 Domaine de validit


Cette note dapplication est base sur des versions logicielles et matrielles spcifiques, ainsi que sur la documentation sy rfrant. La validit de cette note dapplication est donc limite linstallation dcrite. De nouvelles versions logicielles et matrielles pourraient donner lieu des manipulations diffrentes. Veuillez respecter les descriptions dtailles dans les manuels respectifs.

1.3 Symboles
Danger Respecter imprativement ces informations afin de prserver toute personne dun ventuel dommage
Avertissement Respecter imprativement ces informations afin de prserver lappareil de tout dommage matriel
Attention Respecter imprativement les conditions additionnelles permettant dassurer un fonctionnement sans erreur ESD (Electrostatic Discharge Dcharge lectrostatique) Attention aux composants sensibles aux dcharges lectrostatiques. Respecter les mesures de prcaution pour le maniement des composants risques.
Remarque Procdures ou conseils pour une utilisation efficace de lappareil et pour une optimisation logicielle

Informations complmentaires Renvoi des rfrences de littrature supplmentaires, manuels, fiches techniques, et pages INTERNET

Note dapplication A42010d

Description

2 Description
Cette note dapplication est destine guider lutilisateur dans la configuration dun rseau CANopen. Le protocole CANopen est en effet relativement complexe mettre en uvre mais cest un outil puissant. Au travers de cet note dapplication, nous en profiterons pour revoir les bases du protocole afin den comprendre le fonctionnement. Nous montrerons un exemple concret avec la configuration dun rseau simple.

3 Matriel requis
Coupleur ou contrleur de bus de terrain Bornes dentres/sorties Borne finale de bus 750-307, 750-337, 750-837 750-xxx 750-600

Logiciel de programmation WAGO I/O pro 32 759-332 Matre CANopen

4 Solution
4.1 Principes du CANopen
4.1.1 Fonctionnement
Le CANopen est un protocole orient objet. Ce sont des objets de communication qui transmettent les informations. Chacun de ces objets possde un COBID (Communication Object Identifier) qui est une sorte de carte didentit de lobjet, cest celle-ci qui dtermine les priorits, au cas o deux trames se trouveraient en mme temps sur le rseau. Car il sagit l dun protocole qui vite les collisions CSMA/CA (Carrier sense multiple access / collision avoidance). Cest une sorte darbitrage qui est effectu entre les diffrentes stations, selon le COB-ID de lobjet de communication qui est mit. Le COB-ID est au dbut de chaque trame. On peut envoyer un maximum de 8 octets de donns par trame. Voyez ci-aprs les diffrents types dobjets de communications.

Note dapplication A42010d

Solution

4.1.2 PDO (Process Data Object)


Les PDOs sont les objets de communications les plus actifs puisque ce sont eux qui ralisent la transmission et la rception des donnes entre les diffrents nuds en mode oprationnel. Il existe deux types de PDOs : Les transmit PDOs (Tx PDOs) et les receive PDOs (Rx PDOs). 32 Tx PDOs et 32 Rx PDOs sont votre disposition sur les ttes de stations 750-337 et 750-837 alors que le 750-307 en met 5 votre disposition. Tx PDO : Ce sont les objets transmettant la valeur des entres avec lesquels ils sont mapps. Par dfaut, la transmission se fait aprs chaque changement de valeur de la ou des entres qui lui sont mapps (voir 4.3.3). Ces donnes sont transmises vers chacun des receive PDOs ayant le mme COB-ID que le Tx PDO en question. Rx PDO : Ce sont les objets recevant les donnes des transmit PDOs ayant le mme COB-ID. Un Rx PDO recopie les donnes qui lui sont transmises sur les sorties qui lui sont mappes. On peut donc paramtrer la communication des PDO ainsi que son mapping, tout cela se fait par lintermdiaire du dictionnaire dobjet dans des registres dfinis aux adresses suivantes : INDEX du dictionnaire dobjet: 0x1400 0x141f : Paramtre de communication Rx PDO Sous index : 0 1 Nom dobjet Nbr max de sous index COB-ID COB-ID 2 Idx 0x1400 (Rx1) Idx 0x1401 (Rx2) Valeur par dfaut (accs) 2 (R) 0x200+Node ID (RW) 0x300+Node ID (RW) 255 (RW)

Type de transmission

Pour des explications concernant le type de transmission, se rfrer au 4.3.3 0x1600 0x161f : Paramtre de mappage Rx PDO Sous index : 0 18 Nom dobjet Nbr objets mapps Objet1 objet8 Accs RW RW

0x1800 0x181f : Paramtre de communication Tx PDO


Note dapplication A42010d

Solution

Sous index : 0 1

Nom dobjet Nbr max de sous index COB-ID COB-ID

Valeur par dfaut (accs) 5 (R) 0x180+Node ID (RW) 0x280+Node ID (RW) 255 (RW) Idx 0x1800 0 (RW) 0 (RW) 0 (RW)

Idx 0x1800 (Tx1) Idx 0x1801 (Tx2)

2 3 4 5

Type de transmission Temps dinhibition Rserv Temps dvnement

Pour des explications concernant le type de transmission, se rfrer au 4.3.3., le temps dinhibition et le temps dvnement, se rfrer au 4.3.4. 0x1A00 0x1A1f : Paramtre de mappage Tx PDO Sous index : 0 18 Nom dobjet Nbr objets mapps Objet1 objet8 Accs RW RW

Nota : Les objets mapper se trouvent dans le dictionnaire dobjet, se rfrer au manuel CANopen des coupleurs / contrleurs 750-337 et 750-837 pour accder au dtail du dictionnaire dobjet.

4.1.3 SDO (Service Data Object)


Les trames SDO permettent la configuration du rseau, elles sont envoyes par le matre destination dune autre station. Cela peut tre des requtes de type lecture ou criture. COB-ID : Rx SDO 600+NODE-ID Tx SDO 580+NODE-ID Constitution de la trame : COB-ID 8 octets de donns

Exemple : Mappage des 8 premires sorties digitales avec le Rx PDO 1 de la station numro 2.

_On envoie sur le rseau la trame suivante :


Note dapplication A42010d

Solution

602

23 00 16 01 08 01 00 21

602 est le COB-ID du Rx SDO de la station 2. 23 le code fonction (criture de 4 octets de donns) 00 16 (lire lenvers 16 00) 0x1600 est lindex des paramtre de mapping du Rx PDO 1. 01 est le sous index o lon crit lobjet mapp avec le PD0. 08 01 00 21 (lire lenvers 21 00 01 08) est lobjet que lon crit dans le sous index 01 de lindex 0x1600. Cela a pour effet de mapper cet objet avec le Rx PDO 1. 21 00 est lindex de lobjet (sorties digitales), 01 le sous index (premier bloc) 08 est le nombre de bit dans le bloc. _ On reoit sur le rseau la trame suivante qui confirme le succs de lopration : 582 60 00 16 01 xx xx xx xx

4.1.4 NMT (Network Management Tool)


Les oprations NMT permettent de changer ltat dun ou plusieurs nuds du rseau. Ces oprations sont les plus prioritaires, cest pourquoi leur COB-ID est de 0. Voici les diffrents tats pouvant tre pris par un nud et la trame NMT qui fait basculer la station dans ltat correspondant : Reset Node : COB-ID 0 1er octet de donn 0x81 2eme octet de donne 0x NODE-ID

Lopration Reset Node permet de rinitialiser le nud. Stop Remote Node : COB-ID 0 1er octet de donn 2 2eme octet de donne 0x NODE-ID

Lopration Stop Remote Node permet disoler le nud et ainsi il ne peut plus communiquer, sauf ragir une commande NMT. Les sorties peuvent changer dtat selon la configuration des objets 0x6206, 0x6207, 0x6443 et 0x6444 (voir 4.3.1.4). Pr-oprationnel : COB-ID 0 1er octet de donn 0x80 2eme octet de donne 0x NODE-ID

Cet tat arrte la communication via les PDOs et permet leur configuration. Oprationnel : COB-ID 1er octet de donn
Note dapplication A42010d

2eme octet de donne

Solution

0x NODE-ID

Cet tat permet la communication via les PDOs.

4.2 Exemple de configuration de rseau


Afin de comprendre le processus nous allons configurer ensemble un rseau comprenant : Un matre CANopen qui ne sera utilis que pour la configuration du rseau puis pour sa supervision. Toutes les trames que lon devra envoyer sur le rseau pour la configuration le seront par ce matre. Un contrleur CANopen 750-837 auquel nous affecterons ladresse1, un coupleur CANopen 750-337 auquel nous affecterons ladresse2 (pour les affectations dadresse, se rfrer au manuel du coupleur / contrleur CANopen).

4.2.1 Configuration point point


Cette configuration est la plus simple, elle ne fait pas appel au programme du contrleur et pourrait tre par consquent ralise avec 2 coupleurs. La configuration par dfaut ayant dj en partie paramtrer les PDOs, cela simplifie les choses. Le but est de recopier une entre TOR prsente de la station 1 sur une sortie TOR de la station 2. Pour cela, la dmarche est la suivante : 4.2.1.1 Mode pr-oprationnel Effectuer un reset node sur le coupleur 750-337 (nud 2). Pour cela voir 4.1.4 Il faut que les 2 nuds soit en mode pr-oprationnel, pour cela, envoyer une commande NMT laide de votre matre CANopen : COB-ID 1er octet de donn 0 0x80 2eme octet de donne 0x 00

Ainsi, tous les nuds du rseau basculent en mode pr-oprationnel, la LED RUN doit clignoter en vert sur chaque station. 4.2.1.2 Affectation du COB-ID Le TxPDO l de la station 1 tant mapp par dfaut avec la premire entre TOR, le RxPDO 1 de la station 2 tant mapp par dfaut avec la premire sotie TOR, suffit pour raliser cet application daffecter au TxPDO 1 de la station 1 le mme COB-ID que celui du RxPDO 1 de la station 2, savoir 0x202.
Note dapplication A42010d

Solution

Pour cela il faut dabord dsactiver le TxPDO l de la station 1 en crivant 0x80 00 00 00 dans lindex 1800 sous Idx 01 laide de la trame SDO suivante : 601 23 00 18 01 00 00 00 80

Maintenant, crire le COB-ID 0x202 : 601 4.2.1.3 Mode oprationnel Afin de basculer tous les nuds en mode oprationnel, envoyer la trame NMT suivante : COB-ID 1er octet de donn 0 1 2eme octet de donne 00 23 00 18 01 02 02 00 00

La led RUN doit tre constamment verte sur chacune des stations. La configuration 'point point' est dsormais termine. 4.2.1.4 Sauvegarde de la configuration : La sauvegarde de la configuration se fait en crivant dans lIdx 0x1010 sous Idx 1 (double mot) les caractres suivant : 0x65, 0x76, 0x61, 0x73 (poids fort vers poids faible) qui signifient save en code ASCII. Pour sauvegarder la configuration du nud 1 : 601 22 10 10 01 73 61 76 65

Pour sauvegarder la configuration du nud 2 (qui na dailleurs pour linstant pas t modifi mais qui le sera bientt) : 602 22 10 10 01 73 61 76 65

4.2.2 Gestion des variables rseau dans le programme


Cette application que nous voulons raliser ncessite un programme ralis avec WAGO I/O pro 32 dj raliser pour vous. Il suffira alors de le tlcharger dans le contrleur aprs avoir configurer le rseau comme il se doit. But : Actionner la neuvime sortie TOR (1ere du 2eme bloc de 8bits)de la station 2 (S22) lorsque lentre 2 de la station 1 (E12) et lentre 1 de la station 2 (E21) sont au niveau haut. Cest le programme, prsent dans la station 1 qui donnera lordre dactiver la sortie virtuelle S22 qui sera mappe avec un PDO. Lentre 2 de la station 1 (E12) tant elle-mme sur la station 1, elle na pas besoin dtre mappe avec un PDO. Par contre, le programme besoin de recevoir linformation E21 via
Note dapplication A42010d

10

Solution

le rseau, donc via un PDO qui doit tre mapp avec une variable virtuelle du contrleur, variable accessible pour le programme. 4.2.2.1 Mappage sur la station 1 Nous devons donc mapper 1 Tx PDO avec la sortie virtuelle du contrleur S22 (entre IEC-1131 du point de vue du dictionnaire dobjet) et 1 Rx PDO avec une entre virtuelle (sortie IEC-1131 dans le dictionnaire dobjet) pour activer E21 dans le programme. Mettre le nud en mode pr-oprationnel Dsactiver le Tx PDO2 : Il suffit dcrire 0x80 00 00 00 la place du COB-ID qui se trouve dans le sous Idx 1, Idx 1801(paramtres de communication du Tx PDO 2). Dsactiver le Mapping du Tx PDO2. Il suffit dcrire 00 dans le sous Idx 0 de lIdx 0x1A01 (paramtre de mapping du Tx PDO 2). Mapper le Tx PDO2 avec la sortie virtuelle du programme (adresse dans le programme %QX256.0) c'est dire avec un objet dentre digitale IEC1131 du dictionnaire dobjet. Il suffit dcrire dans le sous Idx 1 de lIdx 0x1A01 ladresse dans le dictionnaire dobjet de lobjet que lon veut affecter ce Tx PDO2. Ladresse de lobjet entre boolenne est 0xA080, sous Idx 1. La trame SDO est la suivante : 601 22 01 1A 01 08 01 80 0A 22 est le code fonction 01 1A lire lenvers 0x1A01 est lIdx o lon va crire. 01 le sous Idx o lon va crire. 08 le nbr de bit de llment, cela doit toujours tre 8. 01 le sous Idx de llment mapp 80 0A lire lenvers 0x0A80 lIdx de llment mapp

Ractiver le mapping du Tx PDO2. Il suffit dcrire 01 (nombre dobjet mapp avec le PDO) dans le sous Idx 0 de lIdx 0x1A01 (paramtre de mapping du Tx PDO 2).
Note dapplication A42010d

Solution

11

Ractiver le Tx PDO2 en lui appropriant un COB-ID lui permettant de communiquer avec le Rx PDO 2 de la station 2 qui active S22 ,ce COB-ID est par dfaut 0x302. Il suffit donc dcrire 0x302 dans le sous Idx 1, Idx 1801.

Dsactiver le Rx PDO 1 Pour cela, crire 0x80 00 00 00 dans le sous Idx 1de lIdx 0x1400.

Dsactiver le mapping du Rx PDO 1 Pour cela, crire 00 dans le sous Idx 0 de lIdx 1600

Mapper le Rx PDO 1 avec lentre virtuelle du programme (adresse dans le programme %IX256.0), c'est dire avec un objet de sortie digitale IEC1131 du dictionnaire dobjet. Ecrire 0xA500 01 08 dans lIdx 1600, sous Idx 01.

Ractiver le mapping du Rx PDO 1 Il suffit dcrire 01 (nombre dobjet mapp avec le PDO) dans le sous Idx 0 de lIdx 0x1600 (paramtre de mapping du Rx PDO 1).

Ractiver le Rx PDO1 en lui appropriant son COB-ID par dfaut 0x201. Ecrire 0x201 dans le sous Idx 1 de lIdx 0x1400

4.2.2.2 Mappage sur la station 2 Sur ce nud, nous devons donc mapper un Rx PDO (le deuxime) avec la sortie S22 activer et un Tx PDO avec lentre E21 dont le COB-ID devra tre identique celui du Rx PDO 1 de la station 1. Mettre le nud en mode pr-oprationnel Dsactiver le Rx PDO2 : Ecrire 0x80 00 00 00 dans lIdx 1401, sous Idx 1. Dsactiver le Mapping du Rx PDO2. Ecrire 00 dans lIdx 1601, sous Idx 00 Mapper le Rx PDO 2 avec la sortie physique S22. Ecrire 0x 6200 02 08 dans lIdx 1601 sous Idx 1 Note dapplication A42010d

Ractiver le mapping du Rx PDO 2

12

Solution

Il suffit dcrire 01 (nombre dobjet mapp avec le PDO) dans le sous Idx 0 de lIdx 0x1601 (paramtre de mapping du Rx PDO 2). Ractiver le Rx PDO2 en lui appropriant son COB-ID par dfaut 0x302. Ecrire 0x302 dans lIdx 1401 sous Idx 01 Dsactiver le Tx PDO1 : Ecrire 0x80 00 00 00 dans lIdx 0x1800 sous Idx 1 Dsactiver le Mapping du Tx PDO1. Ecrire 00 dans lIdx 0x1A00 sous Idx 0 Mapper le Tx PDO1 avec la premire entre physique E21. Ecrire 0x6000 01 08 dans lIdx 0x1A00 sous Idx 1 Ractiver le mapping du Tx PDO1 Ecrire 01 dans lIdx 0x1A00 sous Idx 0 Ractiver le Tx PDO1 en lui affectant un COB-ID, en loccurrence, le mme que le Rx PDO 1 de la station 1 (0x201). Ecrire 0x201 dans lIdx 1800 sous Idx 1 -Mettre les 2 nuds en mode oprationnel -Tlcharger le projet CANmaster.pro dans le contrleur 750-837 (station 1) -Lancer le programme.

4.2.3 Gestion dune entre analogique


La gestion dune entre analogique est particulire car la valeur quelle renvoie est si prcise quelle est en constante variation. Cet variation constante peu entraner un encombrement du bus CANopen si le mode de transmission du PDO est asynchrone, cest dire sur changement dtat, or chaque PDO est configur ainsi par dfaut. Cest pou cela que, par dfaut la gestion des entres analogique est dsactive. Nous allons transmettre la valeur de cette entre analogique qui se trouvera sur la station 2 via le Tx PDO 2 configurer par dfaut, autrement dit en mode asynchrone. Il va donc falloir paramtrer lobjet qui sera mapp avec le PDO de manire ce que la valeur ne change pas en permanence. Nous utiliserons un delta de variation minimale de lentre pour que la valeur soit transmise au PDO.

Note dapplication A42010d

Solution

13

Le but de lapplication est de crer une horloge sur la sortie physique numro 1 de la station 1 dont la frquence est proportionnelle la valeur du premier canal dentre analogique prsent sur la station 2. 4.2.3.1 Mappage et configuration sur la station 2 mettre le nud en mode pr-oprationnel Mappage du Tx PDO 2 avec le premier canal dentre analogique. Dsactiver le Tx PDO 2 Dsactiver le mapping du Tx PDO 2 Ecrire 0x6401 01 16 (adresse de lobjet reprsentant le premier canal dentre analogique) dans lIdx 1A01 sous Idx 1. Ractiver le mapping du Tx PDO 2 Ractiver le Tx PDO 2 en lui affectant le COB-ID 0x301 Nous allons dterminer la manire dont la valeur analogique doit tre remonte dans le Tx PDO 2 :

Configuration de la remonte de linformation analogique vers le PDO Ecrire 4 dans lIdx 0x6421 sous Idx 1 pour que la remonte dinformation se fasse si la valeur a chang de plus de delta depuis le prcdent envoie. Dterminer delta, nous lui donnerons la valeur 0x100 en crivant 0x100 dans lIdx 0x6426 sous Idx 1

-Permettre la remonte des informations analogiques Ecrire 1 dans lIdx 0x6423 sous Idx 0 4.2.3.2 Mappage sur la station 1 -Mettre le nud en mode pr oprationnel -Mapper le Rx PDO 2 avec la deuxime sortie non signe 16 bits IEC1131 du dictionnaire dobjet (entre virtuelle dans contrleur %IW257). Dsactiver le Rx PDO 2 Dsactiver le mapping du Rx PDO 2 Ecrire 0xA580 02 16 dans lIdx 1601 sous Idx 1
Note dapplication A42010d

14

Solution

Ractiver le mapping du Rx PDO 2 Ractiver Rx PDO 2 en lui affectant son COB-ID par dfaut 0x301 -Mettre les nuds en mode oprationnel -Tlcharger puis lancer le projet CANmaster.pro

4.3 Fonctionnalits avances.


4.3.1 Node guarding et Heartbeat monitoring
Le Node guarding et le Heartbeat monitiring sont deux protocoles de scurit rseau. Il ont pour but de dceler les ruptures de communication, les changements dtat des nuds et les ventuels erreurs physiques sur les stations. Ces deux protocoles ont un but commun, ils ont revanche chacun leur manire de fonctionner. Il est impossible dutiliser les 2 protocoles en mme temps, faites votre choix selon le protocole le plus adapt votre rseau. 4.3.1.1 Heartbeat monitoring Le heartbeat monitoring prsente lavantage de fonctionner sans envoyer de trames RTR, le nud envoie par lui mme une trame indiquant son tat (gnrateur de message Heartbeat) et est capable de surveiller dautres nuds en reevant leurs trames (consommateur de messages Heartbeat). Il suffit dun simple coupleur 750-337 pour surveiller 5 nuds, idem pour le 750-837. Chaque coupleur ou contrleur possde un gnrateur de message Heartbeat qui indique ltat du nud. Lobjet pour activer et dfinir la priode denvoie de trame se trouve ladresse 0x1017 du dictionnaire dobjet. Cest un mot non sign dont lunit est le milli-seconde. Si la valeur est 0, le consomateur est dsactiv, sinon il est actif. Composition du registre 0x1017 Producer heartbeat Time (mot non sign) : Sous Idx 0 : temps entre deux envoie de trame heartbeat. Chaque coupleur ou contrleur possde 5 consommateurs de message Heartbeat. Pour les activer, dfinir le temps maximal entre deux rceptions de messages Heartbeat. Si aucun message Heartbeat nest arriv aprs ce temps, la station consommatrice passe en mode Heartbeat failure, le nud passe en position de repli. Lobjet pour activer et dfinir les consommateur se trouve ladresse 0x1016, sous Idx 1 5 du dictionnaire dobjet (chaque sous Idx reprsente 1 consomateur). Cest un double mot, si la valeur est 0 le consomateur est dsactiv, sinon il est actif.

Note dapplication A42010d

Solution

15

Composition du registre 0x1016, sous Idx 1 5, Consumer heartbeat Time (double mot) : Mot poids fort,Octet poids fort : 0x00 Mot poids fort, Octet poids faible : Module ID du nud dont il faut recevoir les trames Heartbeat. Mot poids faible : Heartbeat time en milli-secondes. 4.3.1.2 Node guarding Le Node guarding ncessite un NMT master. Ce matre envoie une trame RTR (voir 4.3.3.1) sur le COB-ID du Node Guarding (0x700 + Node ID)de la station sous surveillance. En retour la station esclave renvoie au matre une trame Node Guarding dans laquelle elle indique son tat. (La mise sous tension du nud provoque galement lenvoie dune trame Node guarding, dans ce cas avec la valeur 00) Ainsi le matre peut surveiller chaque nud, il envoie une trame tous les Node guard time, et passe en erreur sil na pas eu de rponse au bout de (node guard time * life time factor). Chaque esclave doit avoir un guard time configurer et un lifetimefactor afin de passer en erreur lui aussi au cas o le matre naurai pas envoy de requte RTR cest lchec du node guarding. Registre 0x1000C , Guard time (mot) : Cette objet indique le Guard time en ms. Un matre NMT interroge priodiquement le NMT slave, cette priode doit tre le guard time. Registre 0x1000D, Life time factor (octet): Cet objet indique le life time factor, si le NMT slave na pas t interrog avant le life time(=life time factor*Guard time), alos cest un chec du Node Guarding le nud passe en position de repli. 4.3.1.3 Echec des protocoles de scurit Node guarding : Si aucune trame Node guarding de type RTR nest reu avant le lifetime (node guard time * life time factor) cest l chec du Node guarding. Cela veut dire que le communication avec le matre a t rompue. Heart beat :

Note dapplication A42010d

16

Solution

Si le consommateur Heartbeat na pas reu de trame avant le Heartbeat time, cest lchec du Heartbeat protocole. Cela veut dire que la communication avec la station gnratrice a t interrompue. Dans les 2 cas le nud passe en position de repli : Lvenement est signal par un blink code (clignotement des LEDs du coupleur / contrleur), une trame EMERGENCY est envoye sur le rseau (voir 4.3.2.3 ) , les sorties passent ltat dfini dans les objets 0x6206, 0x6207, 0x6443, 0x6444 et enfin le coupleur / contrleur se met dans ltat dfini dans lobjet 0x67FE (voir 4.3.1.4).Ds que le protocole de scurit est de nouveau en tat de marche, cela est montr par un EMCY message (voir 4.3.2.23) envoy sur le rseau. Quant ltat du nud et de ses sorties, il restent inchang. 4.3.1.4 Position de repli du nud ou des sorties en cas dechec des protocoles de scurit ou passage en mode STOP Registre 0x6206 : Activation de la position de repli des Sorties digitales Cette objet dfini les sorties digitales qui doivent changer dtat en cas de passage en position de repli. Chaque sous Idx de 1 32 reprsente un bloc de 8 sorties digitales. Chaque sous Idx est un octet o chaque bit reprsente une sortie digitale, le bit de poid faible tant la premire sortie du bloc en partant de la gauche. Le sous Idx 0 reprsentant le nombre de blocks de 8 sorties digitales. Exemple : Si lon dsire changer ltat des sorties 2 et 3 du premier block de sorties digitales, il faudra crire : Sous Idx 1 : 6 (0000 0110 en binaire). Registre 0x6207 : Position de repli des Sorties digitales Cet objet est utilis pour savoir quelle valeur une sortie dont la position de repli aura t activ dans lIdx 0x6206 devra prendre. Le sous Idx 0 contient le nombre de blocks de 8 sorties digitales. Chaque sous Idx de 1 32 reprsente un bloc de 8 sorties digitales. Chaque sous Idx est un octet o chaque bit reprsente une sortie digitale, le bit de poid faible tant la premire sortie du bloc en partant de la gauche. Par exemple, suivant la configuration de lIdx 0x6206 dfinie dans lexemple prcdent : Si lon veut mettre la sortie 2 1 et la sortie 3 0 : Sous Idx 1 : 2 (en binaire 0000 0010) Registre 0x6443 : Activation de la position de repli des Sorties analogiques
Note dapplication A42010d

Solution

17

Cette objet dfini les sorties analogiques qui doivent changer dtat en cas de passage en position de repli. Chaque sous Idx de 1 128 reprsente 1 canal de sortie analogique. Chaque sous Idx est un octet, si sa valeur est de 1 le canal prendra la valeur dfini dans lindex 0x6444, si sa valeur est 0 alors il ne changera pas de valeur. Le sous Idx 0 reprsentant le nombre de canaux de sortie analogique. Exemple : Si lon dsire changer la valeur des canaux de sortie 2 et 3, il faudra crire : Sous Idx 1 : 0 Sous Idx 2 : 1 Sous Idx 3 : 1

Registre 0x6444 : Position de repli des Sorties analogiques Cest dans cet Idx que lon dfini la valeur que doit prendre un canal analogique en cas de position de repli si celle-ci est activ dans lIdx 0x6443. Chaque sous Idx de 1 128 reprsente 1 canal de sortie analogique. Chaque sous Idx est un mot non sign, si sa valeur est de 1 le canal prendra la valeur dfini dans lindex 0x6444, si sa valeur est 0 alors il ne changera pas de valeur. Le sous Idx 0 reprsentant le nombre de canaux de sortie analogique. Exemple : Si lon dsire donner la valeur nulle aux canaux de sortie 2 et 3, il faudra crire : Sous Idx 2 : 0x0000 Sous Idx 3 : 0x0000

Registre 0x67FE : Position de repli de ltat du nud Cet Idx dfini ltat dans lequel le nud doit basculer en cas de faute de communication (chec) du Node Guarding ou du Heart beat Monitoring. Le sous Idx 0 contient le nombre de sous Idx cest dire 1. Le sous Idx 1 contient laction effectuer : Sa valeur par dfaut est 0 : Changement dtat vers le mode pr-oprationnel seulement si ltat en cours tait oprationnel. 1 : Pas de changement dtat 2 : Bascule vers ltat STOP

Note dapplication A42010d

18

Solution

4.3.2 Objets EMERGENCY


4.3.2.1 Evnements provoquant lenvoie dune trame EMCY Les objets EMERGENCY (messages urgents) sont des objets haute priorit qui sont diffuses en broadcasting ( toutes les stations du rseau) dans le cas o une erreur survient, un message est galement envoy au cas o le problme reflt par lerreur a t rsolue : Aprs un RESET NODE ou un RESET COMMUNICATION : Si aucune configuration na t sauvegarde. (si la configuration par dfaut vous convient, la sauvegarder pour que ce message napparaisse plus sur le rseau) Si la configuration de la station a change depuis la dernire sauvegarde(exemple: un module t retir ou ajouter sur la station). A nimporte quel moment : Sil y a un module de retir sur une station. Si un module est en erreur (exemple : un courant insuffisant sur une borne dentre analogique) Sil y a un chec des protocoles Node Guarding ou un chec Heartbeat ou SYNC. Mais un message EMERGENCY peut galement tre envoy sur le rseau titre informatif : -Si une sauvegarde de configuration est effectue, si le champ derreur a t vid (Idx 0x1003, sous Idx 0, voir 4.3.2.6). 4.3.2.2 COB-ID dun message EMCY Le COB-ID par dfaut dun objet EMCY est 0x80+node ID. Le COB-ID dun message envoy par la station 2 sera donc 0x82. Cependant il est possible de le changer par lintermdiaire de lobjet suivant : Index 0x1014, COB-ID Emergency Object (double mot) Sous Idx 0 : Bit 31 : mettre ce bit 1 pour affecter un nouveau COB-ID Bit 30 11 : bits rsevs, toujours 0. Bit 10 0 : COB-ID du message EMCY. Soit le bit 31 le bit de poids fort.

Note dapplication A42010d

Solution

19

4.3.2.3 Composition dune trame EMCY


Byte 0 1 23 7 signification Le champ des erreurs apparues a t vid, on a crit 0 dans l'Idx 0x1003 sous Idx 0, La configuration Hardware a t change, elle ne corespond pas la configuration sauvegarde, pas de configuration sauvegarde, Ce message peut arriver aprs une mise sous tension ou un reset node/communication, Erreurs Flash: Une erreur est apparue lors de la sauvegarde de la configuration en mmoire Flash, La configuration programme ne corespond pas avec l'actuel, PP: Emplacement du module physique o l'erreur est apparue, LL: Emplacement logique du module physique o l'erreur est apparue, SS: Cause de l'erreur, Overflow des EMCY messages envoyer, (ne peut arriver que quand le temps d'inhibition pour les messages EMCY a t activ) Le temps entre deux objets de synchronisation est est plus long que la priode de synchronisation, Overflow du buffer de rception interne, l'tat du nud et les sorties changent selon les objets expliqus dans le 4,3,1,4 Overflow du buffer de transmission interne, l'tat du nud et les sorties changent selon les objets expliqus dans le 4,3,1,4 Contrleur CAN en mode erreur passive, Le temps entre deux messages node guarding est plus grand que le temps guard time*lifetime factor, Le temps entre deux messages Heartbeat is plus grand que le configur, KK: Nud qui a dtect le time overflow, Le PDO a t envoy avec un nombre de d'octets infrieur ce qui a t configur dans le profil de communication, les sorties restent inchanges, SS: Valeur configure (voir Idx 0x1600 sous Idx 0) II: Valeur actuelle, nombre d'octets envoys NN: nombre de PDO (1,,32) code registre Code additionnel d'erreur d'erreur 0x0000 0x00 00 00 00 00 00

Nom

0x5000

0x81

00 01 00 00 00

0x5000

0x81

00 02 00 00 00

0x5000

0x81

00 03 PP LL SS

0x5000

0x81

00 09 00 00 00

0x8100

0x81

00 04 00 00 00

0x8110

0x11

00 01 00 00 00

0x8110

0x11

00 02 00 00 00

0x8120 0x8130

0x11 0x11

00 03 00 00 00 00 04 00 00 00

0x8130

0x11

00 05 KK 00 00

0x8210

0x81

00 05 SS II NN

Note dapplication A42010d

20

Solution

0x8130

0x11

00 05 KK 00 00

0x8210

0x81

00 05 SS II NN

Le temps entre deux messages Heartbeat is plus grand que le configur, KK: Nud qui a dtect le time overflow, Le PDO a t envoy avec un nombre de d'octets infrieur ce qui a t configur dans le profil de communication, les sorties restent inchanges, SS: Valeur configure (voir Idx 0x1600 sous Idx 0) II: Valeur actuelle, nombre d'octets envoys NN: nombre de PDO (1,,32) Le PDO a t envoy avec un nombre de d'octets suprieur ce qui a t configur dans le profil de communication, SS: Valeur configure (voir Idx 0x1600 sous Idx 0) II: Valeur actuelle, nombre d'octets envoys NN: nombre de PDO (1,,32) Erreur sur un module de la station, nud pass en mode STOP, PP: Position du module Message de diagnostique: DD: Octet de diagnostique, PP: Position du module, SK: Etat de l'erreur et numro de canal, NN: Nombre de module en erreur

0x8220

0x81

00 08 SS II NN

0xFF00

0X81

00 06 PP 00 00

0xFF00

0x81

DD 07 PP SK NN

4.3.2.4 Messages de diagnostique des modules Lorsquune erreur survient sur un module qui supporte le diagnostique, celuici est transmit dans le champ code additionnel du message EMCY. Le Code additionnel dun message EMCY de diagnostique se compose ainsi : DD 07 PK SK NN

DD : Octet de diagnostique spcifique au module. Valeur 0 si lerreur a t rectifie. 07 : Identifiant du message de diagnostique. PK : Position du module SK : Les bits 0 et 1 indiquent le numro de canal du module en erreur. (1 4) Les bits 2 7 nont pas de signification. Le bit 8 indique si lerreur est active ou a t rectifie : Bit 8=1 Erreur dtecte, Bit 8=0 Erreur rectifie. Exemple :

Note dapplication A42010d

Solution

21

Un module 750-506 dtecte la rupture du fil le reliant lactionneur (ou practionneur) sur le canal 1. Ce module se trouve la position 17. Le message EMCY de diagnostique suivant est envoy sur le rseau :
Diagnostique

Code d'erreur 00 FF

Registre d'erreur

Erreur Module dtecte(bit Bit 2 1, Message insr la 8 1), canal rupture du fil diagnostique position 17 1 (bit 0 1) 1 Erreur 81 4 7 11 81

Le fil vient dtre remplac, il ny a donc plus derreur et cela est signal par le message EMCY suivant :
Diagnostique

Code d'erreur 00 00

Registre d'erreur

Erreur Module dtecte(bit Bit 2 1, Message insr la 8 1), canal rupture du fil diagnostique position 17 1 (bit 0 1) 0 Erreur 81 0 7 11 1

4.3.2.5 Index 0x1001, registre derreur Ce registre apparat dans les messages EMCY, il est accessible uniquement en lecture, cest un octet. Composition de loctet du registre derreur :
Bit 0 1 2 3 4 5 6 7 Signification Erreur gnralle Courant Tension Temprature Communication Spcifique au profil du systme Non significatif Spcifique au constructeur

Note dapplication A42010d

22

Solution

4.3.2.6 Index 0x1003, champ des erreurs apparues Cette Index contient plusieurs sous Idx dans lesquels lon sauvegarde les erreurs survenues. Seul le code derreur de la trame EMCY ainsi que les 2 premiers octets du code additionnel sont sauvegards. Le sous Idx 0 (octet)contient le nombre derreur sauvegardes. Il est possible den sauvegarder jusqu 20, ensuite le sous Idx 20 sera craser larriver dune nouvelle erreur, pour viter cela, crire 0 dans le sous Idx 0 pour recommencer la sauvegarde depuis le sous Idx 1. Sous Idx 1 20 (double mot): Le mot de poids fort contient les 2 premiers octets du code additionnel. Le mot de poids faible contient le code derreur qui est apparu.

4.3.3 Modes de transmission


Les Tx PDOs peuvent transmettre linformation de plusieurs manires, selon diffrents protocoles (et les Rx PDOs changer leur valeur de la manire suivante). Paramtrage du mode de transmission : Ecrire le code correspondant (voir tableau ci-dessous) au mode de transmission que vous voulez associ au PD0 dans le sous Idx 2 des paramtre de communication. Pour les Rx PDO (voir page 5), les paramtres de communication se trouvent partir de lIdx 0x1400 (RxPDO 1) jusquau 0x141F (RxPDO 32). Pour les TxPDO, les paramtre de communication sont lIdx 0x1800 jusquau 0x181F (voir page 6).
Transmission du PDO Tx PDO code associ

Rx PDO Change les sorties aprs Transmission chaque synchrone synchronisati chaque on selon le synchronisation dernier PDO reu, Change les sorties aprs Transmission synchrone, toutes chaque synchronisati 1 240 les n synchronisations on selon le dernier PDO (n = 1 240) reu,

Note dapplication A42010d

Solution

23

Transmission du PDO Tx PDO Rx PDO

code associ

La valeur est lu lors d'une synchronisati on mais pas Non support envoye, Cette valeur lue est envoy sur requte RTR RTR vnemetielle

252

253 254 255

vnemetielle vnemetielle vnemetielle vnemetielle

4.3.3.1 Mode de transmission synchrone Le COB-ID par dfaut dune trame SYNC est 0x80 Les trames SYNC sont envoyes par le NMT MASTER. On rgle le temps maximale quil doit y avoir entre deux trames de SYNC dans lindex 0x1006 en us. Si le mode de transmission dun PDO de la station est SYNC, la transmission de linformation se fait tous les n rceptions de trame SYNC. La valeur de n scrit dans lindex paramtres de communication 0x1800 sous Index 2. En cas derreur (temps entre 2 trames SYNC trop long) cela est signal par un EMERGENCY message. Index 0x1005, COB-ID messages SYNC Sous Idx 0 : double mot, accs lecture criture, par dfaut :0x80 Bit 31 bit 11 : toujours 0 ; Bit 10 0 : COB-ID. Index 0x1006, priode de synchronisation Sous Idx 0 : double mot, accs lecture criture, par dfaut : 0. Cette objet dfinit la valeur de la priode de synchronisation, lunit est 2ms. Si aucune trame de synchronisation ne parvient la station pass ce temps cela est signal par un Emergency message. Lorsque la valeur est 0, la synchronisation nest pas surveille.

Note dapplication A42010d

24

Solution

4.3.3.2 Mode de transmission vnementiel La transmission se fait aprs chaque changement de valeur (Attention avec les entres analogiques, cela peut encombrer le rseau)sur les entres associes aux Tx PDOs.

4.3.3.3 Mode de transmission RTR Cest aprs envoie dune requte RTR par le matre indiquant le COB-ID du PDO que lon veut entendre, que le dit PDO met. Par exemple, si le mettre besoin de connatre la valeur des entres mappes sur un Tx PDO dont le COB-ID est 0x181, le matre envoie une trame de type RTR avec le COB-ID 0x181.

4.3.4 Paramtres spcifiques au Tx PDO


Les paramtres des Tx PDOs se trouvent partir de lIdx 0x1800 (voir page 6) 4.3.4.1 Temps dinhibition Cest le temps minimales entre deux missions, cela peut tre rgl pour les PDOs et les messages EMERGENCY. Cela est gnralement utilis dans le cas dun mode de transmission vnementiel pour un Tx PDO mapp avec une entre analogique, lentre analogique variant sans cesse, le bus pourrait tre encombr, le temps dinhibition vite ce dsagrment. Lunit est 100us. Pour changer le modifier, dsactiver le PDO en mettant le bit de poids le plus fort de son COB-ID 1. 4.3.4.2 Temps dvnement Cette fonctionnalit est uniquement utilisable avec les transmissions de type vnementiel, car elle sert crer un vnement. Au bout de ce temps dvnement, un vnement est cr mme si lentre na pas change de valeur, le timer est remis 0 chaque vnement. Si ce temps est infrieur au temps dinhibition, un nouvelle vnement est cre aprs coulement du temps dinhibition. Cela permet de recevoir linformation mme si celle si ne change pas en mode vnementiel. Lunit est le milli-seconde.

Note dapplication A42010d

Solution

25

4.4 Dictionnaire dobjet

Page 26 Page 27 Page 28 Page 29

Note dapplication A42010d

26

4.4.1 Zone rserve la communication

Page 21 ! Page 22 ! Page 23 !

Page 15 ! Page 9 !

Page 18 ! Page 24 ! Page 14!

Page 5 ! Page 5 ! Page 6 ! Page 6 !

Note dapplication A42010d

27

4.4.2 Zone rserve au constructeur


Cest dans cette zone notamment que lon trouve les bornes dinterface srie (rf. 750-65x). Exemple : Une 750-650 se trouve dans 2 sous Idx (1 et 2) de lIdx 0x2400 et 0x2500 car elle prend 2 mots en entre et 2 mots en sorties. Par contre, une 750-650/000-001 qui occupe 3 mots en entre et 3 mots en sortie se trouve dans le sous Idx 1 de lIdx 0x3200 et 0x3300.

Note dapplication A42010d

28

4.4.3 Zone rserve aux paramtres standards

Note dapplication A42010d

29

4.4.4 Zone rserve


Cest dans cette zone que lon retrouve les entres / sorties virtuelles que possdent les contrleurs. Remarque : Les entres virtuelles du contrleur sont affecter aux objets de sorties, qui eux se mappent avec les Rx PDO. Ce qui est logique puisqu lon crit sur une entre virtuelle. A linverse les sorties virtuelles du contrleur sont affecter aux objets dentre, qui eux se mappent avec les Tx PDO.

Note dapplication A42010d

30

Note dapplication A42010d

31

Note dapplication A42010d

WAGO Kontakttechnik GmbH Postfach 2880 D-32385 Minden Hansastrae 27 D-32423 Minden Phone: 05 71/8 87 0 Telefax: 05 71/8 87 1 69 E-Mail: info@wago.com Internet: http://www.wago.com

You might also like