CANopen Chapitre 1 : Historique Chapitre 2 : Couche physique Chapitre 3 : Couche liaison Chapitre 4 : Couche application Chapitre 5 : Résumé caractéristiques principales P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 1 / 69 CANopen Chapitre 1 : Historique P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 2 / 69 Chapitre 1 : Historique Historique 1980-1983 : Création de CAN à l ’initiative de l ’équipementier allemand BOSCH pour répondre à un besoin de l ’industrie automobile. CAN ne définit qu ’une partie des couches 1 et 2 du modèle ISO. 1983-1987 : Prix des drivers et micro-contrôleurs intégrant CAN très attractifs car gros volume consommé par l ’automobile 1991 : Naissance du CIA = CAN in Automation : http://www.can-cia.de/ pour promouvoir les applications industrielles P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 3 / 69 Chapitre 1 : Historique Historique 1993 : Publication par le CiA des spécifications CAL = CAN Application Layer qui décrit des mécanismes de transmission sans préciser quand et comment les utiliser. 1995 : Publication par le CiA du profil de communication DS-301 : CANopen 2001 : Publication par le CIA de la DS-304 permettant d ’intégrer des composants de sécurité de niveau 4 sur un bus CANopen standard (CANsafe). P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 4 / 69 Chapitre 1 : Historique Les spécifications de référence 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 • 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 comment. Garantit l ’interopérabilité des produits par la description de profiles. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 5 / 69 Chapitre 1 : Historique CANopen et le modèle ISO Device Profile CiA DS-401 I/O modules Device Profile CiA DS-402 Drives Device Profile Device Profile CiA DS-404 CiA DS-4xx Measuring devices CiA DS-301 = Communication profile 7 APPLICATION 6 PRESENTATION Non implémentée 5 SESSION Non implémentée 4 TRANSPORT Non implémentée 3 RESEAU Non implémentée 2 LIAISON = LLC + MAC CAN 2.0 A et B + ISO 11898 1 PHYSIQUE P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 CAL= CAN Application Layer CAN 2.0 A et B + ISO 11898 ISO 11898 + DS-102 + DRP-301-1 Diapositive 6 / 69 CANopen Chapitre 2 : Couche physique Partie 1 : Caractéristiques du médium Partie 2 : Connectiques recommandées P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 7 / 69 Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium Couche physique de CANopen Device Profile CiA DS-401 I/O modules Device Profile CiA DS-402 Drives Device Profile Device Profile CiA DS-404 CiA DS-4xx Measuring devices CiA DS-301 = Communication profile 7 APPLICATION 6 PRESENTATION Non implémentée 5 SESSION Non implémentée 4 TRANSPORT Non implémentée 3 RESEAU Non implémentée 2 LIAISON = LLC + MAC CAN 2.0 A et B + ISO 11898 CAL= CAN Application Layer CAN 2.0 A et B + ISO 11898 1 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 PHYSIQUE ISO 11898 + DS-102 + DRP-301-1 Diapositive 8 / 69 Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium Description du médium 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 : Topologie : P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 5 ns / mètre nominal Type bus avec dérivations les plus courtes possibles Diapositive 9 / 69 Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium Débit - longueur du bus - section câble pour 32 stations maximum 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 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 10 / 69 Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium Débit - longueur du bus - section câble pour 100 stations maximum 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 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 11 / 69 Chapitre 2 : Couche physique - Partie 2 : Connectiques recommandées Connectiques recommandées Le CiA préconise dans sa recommandation DR-303-1 une liste de connecteurs classée en 3 catégories. Usage général SUB D 9 points connector DIN 41652, connecteur multipole (cable plat vers SUB-D 9pts), RJ10, et RJ45 Usage industriel Mini Style 5 pins, Micro Style 5pins, Open Style Usage particulier Connecteur rond 7 points, connecteur rond 8 points, connecteur rond 9 points, connecteur rond 12 points, Hand Brid Harting. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 12 / 69 Chapitre 2 : Couche physique - Partie 2 : Connectiques recommandées Connecteur SUB D 9 points DIN 41652 Mâle coté produit Pin Signal Description : 1: 2: 3: 4: 5: 6: 7: 8: 9: P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Reserved CAN_L = CAN_L bus line dominant low CAN_GND = CAN Ground Reserved (CAN_SHLD) Optional CAN Shield (GND) Optional Ground CAN_H = CAN_H bus line dominant high Reserved (CAN_V+) Optional CAN external positive supply Diapositive 13 / 69 Chapitre 2 : Couche physique - Partie 2 : Connectiques recommandées Connecteur RJ45 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 / V4: Reserved 5: Reserved 6: (CAN_SHLD) = Optional CAN Shield 7: CAN_GND = Ground / 0 V / V8 (CAN_V+) = Optional CAN external positive supply P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 14 / 69 Chapitre 2 : Couche physique - Partie 2 : Connectiques recommandées Connecteur 5-pin Mini Style : 7/8 Mâle coté produit Pin Signal Description : 1: (CAN_SHLD) = Optional CAN Shield 2: (CAN_V+) = Optional CAN external positive supply 3: CAN_GND = Ground / 0V / V4: CAN_H = CAN_H bus line (dominant high) 5: CAN_L = CAN_L bus line (dominant low) P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 15 / 69 Chapitre 2 : Couche physique - Partie 2 : Connectiques recommandées Connecteur Open Style Mâle coté produit Pin Signal Description : 1: CAN_GND = Ground / 0 V / V2: 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 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 16 / 69 Chapitre 2 : Couche physique - Partie 2 : Connectiques recommandées Fournisseurs recommandés 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/ P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 17 / 69 CANopen Chapitre 3 : Couche liaison Partie 1 : Format des trames Partie 2 : La sécurisation des échanges P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 18 / 69 Chapitre 3 : Couche liaison - Partie 1 : Format des trames CAN 2.0.A et CAN 2.0.B 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 identifieur codé sur 11 bits est utilisé par CANopen et la plupart des couches applicatives. CAN 2.0.B correspond au format de trame étendue avec un identifieur codé sur 29 bits est peu utilisé. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 19 / 69 Chapitre 3 : Couche liaison - Partie 1 : Format des trames Structure de la trame CAN 2.0.A Champ d ’arbitrage 1 6 0 à 64 Bit RTR Remote Transmission Request Champ de données 11 Début de trame SOF Taille de la trame sans bit stuffing : 47 à 111 bits 1 Indentifieur P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Champ de commande : compatibilité et longueur 15 1 11 7 Délimit. Délimit. CRC ACK Séquence de CRC Slot ACK Fin de trame EOF Diapositive 20 / 69 Chapitre 2 : Couche physique - Partie 1 : Caractéristiques du médium S1 S3 10 9 8 7 6 5 4 3 2 1 0 RTR S2 SOF Bits dominants et bits récessifs R Station 1 D Station 1 perd l ’arbitrage Station 2 Station 2 perd l ’arbitrage Station 3 Bus P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 21 / 69 Chapitre 3 : Couche liaison - Partie 1 : Format des trames Les 4 types de trames CAN Data Frame : ces trames transportent des données d ’un producteur vers des consommateurs sans garantie de traitement. Remote Frame : ces trames de polling sont émises par un maître vers des esclaves pour requérir la transmission d ’une trame de données. (utilisé pour le Node Guarding ou pour la transmission des PDOs configurés en polling ). Error Frame : ces trames sont transmises lorsqu ’une station détecte une erreur de transmission sur le bus. Overload Frame : ces trames sont émises pour demander un laps de temps supplémentaire entre des trames (de données ou de requête) successives. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 22 / 69 Chapitre 3 : Couche liaison - Partie 1 : Format des trames Data Frame CAN V2.0 A Trame de données SOF IDENT 1D 11X RTR 1D CTR DATA CRC ACK EOF 6X 0 à 64X 5X+1R 1X+1R 7R Intertrame 3R Remote Frame CAN V2.0 A Trame de requête SOF IDENT RTR CTR DATA CRC ACK EOF 1D 11X 1R 6X 0 à 64X 5X+1R 1X+1R 7R Intertrame 3R Un trame de donnée (Data frame) est prioritaire par rapport à une trame de requête (Remote frame). P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 23 / 69 Chapitre 3 : Couche liaison - Partie 1 : Format des trames Error Frame Erreur détectée Trame en cours de diffusion ERROR FLAG ERROR DELIMITER ACTIVE ERROR FLAG : 6D PASSIVE ERROR FLAG : 6R 8R Overload Frame EOF ou ERROR DELIMITER Trame précédente OVERLOAD FLAG 6D P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 OVERLOAD DELIMITER 8R Diapositive 24 / 69 Chapitre 3 : Couche liaison - Partie 2 : La sécurisation des échanges Les mécanismes de sécurisation Au niveau du bit : lors de la transmission de 5 bits identiques il 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 : CRC Delimiter, ACK Delimiter, End of Frame, Error Delimiter, Overload Delimiter sont intégrés pour permettre la vérification de la structure. Au niveau de la validité du contenu : une séquence de 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 que son message a bien été reçu par au moins une station (bit dominant). P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 25 / 69 Chapitre 3 : Couche liaison - Partie 2 : La sécurisation des échanges Compteurs d ’erreurs Chaque noeud comporte obligatoirement deux compteurs : TEC Transmit Error Counter, et 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). P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 26 / 69 Chapitre 3 : Couche liaison - Partie 2 : La sécurisation des échanges Valeur des compteurs / état du noeud Reset et configuration Erreurs actives REC > 127 ou TEC > 127 REC < 128 et TEC < 128 Erreurs passives 128 occurrences de 11 bits récessifs consécutifs (fin de trames sans erreurs) TEC > 255 Bus OFF P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 27 / 69 CANopen Chapitre 4 : Couche application Partie 1 : Concepts de base de CANopen Partie 2 : Objets et services CANopen P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 28 / 69 Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen CANopen s ’appuie sur CAL Device Profile CiA DS-401 I/O modules Device Profile CiA DS-402 Drives Device Profile Device Profile CiA DS-404 CiA DS-4xx Measuring devices CiA DS-301 = Communication profile 7 APPLICATION 6 PRESENTATION Non implémentée 5 SESSION Non implémentée 4 TRANSPORT Non implémentée 3 RESEAU Non implémentée 2 LIAISON = LLC + MAC CAN 2.0 A et B + ISO 11898 1 PHYSIQUE P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 CAL= CAN Application Layer CAN 2.0 A et B = ISO 11898-1 et 2 ISO 11898 + DS-102 Diapositive 29 / 69 Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen Couche application CANopen définit : comment les données sont transmises : Profil communication DS-301 commun à tous les produits Définit entre autre l ’allocation des identifieurs COB-ID pour chaque type de message. quelles données sont 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). P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 30 / 69 Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen Object Dictionary = OD Le dictionnaire d ’objet OD est un groupement ordonné d ’objets accessibles par : un index de 16 bits et éventuellement un sub-index sur 8 bits Il décrit l ’ensemble des fonctionnalités du produit. Cette description se matérialise 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…) P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 31 / 69 Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen Structure du « Object Dictionary » Index Objects Description 0x0000 Reserved 0x0001 – 0x009F Data Types Area 0x00A0 – 0x0FFF Reserved 0x1000 – 0x1FFF Communication profile Area Décrit les objets liés à la communication 0x2000 – 0x5FFF Manufacturer Specific Profile Area Décrit les objets ‘’métier’’ spécifiques au fabriquant. 0x6000 – 0x9FFF Standardised Device Profile Area Décrit les objets ‘’métiers’’ standardisés par le CiA.. 0xA000 – 0xFFFF Reserved P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Définit les différents types de variables utilisées : octets, mots, doubles mots, signés, non signés etc… Diapositive 32 / 69 Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen Profils CANopen Le profil de communication DS-301 : Décrit la structure générale de l ’OD, et des objets se trouvant dans la zone « Communication profile area » : index 1000 à 1FFF. Il s’applique à tous les produits CANopen. Les profils équipements DS-4xx : Décrivent pour les differents 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. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 33 / 69 Chapitre 4 : Couche application - Partie 1 : Concepts de base de CANopen Extrait du fichier EDS CANopen ATV58 [FileInfo] FileName=A58_F.eds FileVersion=1 FileRevision=2 Description=Carte Option ATV58 CreationTime=00:00AM CreationDate=12-05-2000 CreatedBy=Marie-Annick Menanteau, Schneider Electric [DeviceInfo] VendorName=Schneider Electric ProductName=ATV58_F ProductVersion=1 ProductRevision=1 BaudRate_10=0 BaudRate_20=0 BaudRate_50=0 BaudRate_100=0 BaudRate_125=1 BaudRate_250=1 BaudRate_500=1 BaudRate_800=0 BaudRate_1000=1 Granularity=0x8 VendorNumber=0x0200005a ProductNumber=0 SimpleBootUpMaster=0 ExtendedBootUpMaster=0 SimpleBootUpSlave=1 ExtendedBootupSlave=0…. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 [Comments] Lines=6 Line1=Used profile: 402 Line2=Manufacturer device name: VW3A58306 Line3=Hardware version: 1.0 Line4=Software version: 1.0 Line6= This is the EDS file for the CANopen Schneider Electric ATV58 drive module CAN Communication Adapter [MandatoryObjects] SupportedObjects=12 1=0x1000 2=0x1001 3=0x6040 4=0x6041 5=0x6042 6=0x6043 7=0x6044 8=0x6046 9=0x6048 10=0x6049 11=0x6060 12=0x6061 [1000] ParameterName=Device Type ObjectType=7 DataType=0x0007 AccessType=RO DefaultValue=0x10192 PDOMapping=0 Diapositive 34 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Profil de communication CANopen DS-301 Le profil de communication CANopen définit 4 fonctions standardisés : 1 . Administration du réseau : démarrage du bus, affectation des identifieurs, paramétrage, et surveillance NMT = Network ManagemenT (modèle maîtreesclave) 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 (peuvent être > 8 octets par segmentation) sans contrainte de temps : 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 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 35 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Administration du réseau : NMT Démarrage du bus Diagramme d ’état correspondant au « CANopen minimum boot-up » * (service obligatoire) Transitions effectuées par le maître NMT : Types d ’objet de communication autorisés : 1: Start_Remote_Node 2: Stop_Remote_Node 3: Enter_Pre-Operational_State 4: Reset_Node 5: Reset_Communication 6: Initialisation du nœud terminée a. NMT b. Node Guard c. SDO d. EMCY e. PDO. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 36 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Allocation des identifieurs L ’allocation des identifieurs peut s ’effectuer par 3 méthodes : En utilisant l’allocation par défaut : CANopen Predefined Set Cette allocation par défaut est obligatoire et disponible dans l ’état Pre-Opérational. Elle permet de réduire la phase de configuration du réseau Les données de process sont échangées entre le manager du bus et les esclaves Defini uniquement pour les 4 premiers PDOs : PDO1 à PDO4 Par application dans la l ’état Pre-Operational : Obligatoire pour les PDOs supérieurs à PDO4, ou pour le “PDO linking” (direct exchanges between slaves) Par application dans la l ’état Pre-Operational : Ecriture dans les objets correspondant du dictionnaire par service SDO P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 37 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Allocation par défaut des identifieurs Dans le but de réduire la phase de configuration du réseau un système obligatoire d ’allocation des identifieurs par défaut est défini. Cette allocation est effective dans l ’état « Pre operational » juste après la phase d ’initialisation. Elle est basée sur un partage de l ’identifieur COB-ID en 2 parties : 10 9 8 7 Function Code 6 5 4 3 2 1 0 Node ID Function code permet le codage de 2 PDO en réception, 2 PDO en émission, 1 SDO, 1 EMCY object, 1 Node Guardind Identifier, 1 SYNC object, 1 Time Stamp obect. Node ID correspond à l ’adresse du produit codée par exemple par des DIP switchs. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 38 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Allocation par défaut des identifieurs Objets en diffusion général Objet NMT SYNC TIME STAMP Function Code Bin COB-ID Hex COB-ID Dec 0000 0001 0010 0x000 0x080 0x100 0 128 256 L ’allocation par défaut des identifieurs n ’est utilisable que pour les produits utilisant les 4 premiers PDO (Le cinquième PDO recouvre la zone réservée aux SDO) Objets en diffusion point à point Objet Function Code Bin COB-ID Hex 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 PDO 3 en réception PDO 4 en émission PDO 4 en réception 0111 1000 1001 1010 0x381 à 0x3FF 0x401 à 0x47F 0x481 à 0x4FF 0x501 à 0x57F 897 à 1023 1025 à 1151 1153 à 1279 1281 à 1407 SDO en seveur 1011 0x581 à 0x5FF 1409 à 1535 SDO en client 1100 0x601 à 0x67F 1537 à 1663 NODE GUARD 1110 0x701 à 0x77F 1793 à 1919 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 39 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Allocation par défaut des identifieurs Master RxPDO_1_SL1 RxPDO_2_SL1 RxPDO_1_SL2 RxPDO_2_SL2 RxPDO_1_SL3 RxPDO_2_SL3 TxPDO_1_SL1 TxPDO_2_SL1 TxPDO_1_SL2 TxPDO_2_SL2 TxPDO_1_SL3 TxPDO_2_SL3 Esclave 1 TxPDO_1_SL1 TxPDO_2_SL1 RxPDO_1_SL1 RxPDO_2_SL1 Esclave 2 TxPDO_1_SL2 TxPDO_2_SL2 RxPDO_1_SL2 RxPDO_2_SL2 Tous les nœuds (esclaves) communiquent avec une station centale (maître) Esclave 3 TxPDO_1_SL3 TxPDO_2_SL3 RxPDO_1_SL3 RxPDO_2_SL3 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 40 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Modification de l ’allocation par défaut Permet d ’échanger des données directement sans passer par le maître (PDO linking). Produit X TxPDO_1_PX TxPDO_2_PX Utilisation du concept producteur-consommateur. RxPDO_1_PX RxPDO_2_PX Exemple : Commande d ’axes Produit Y TxPDO_1_PY TxPDO_2_PY Produit Z TxPDO_1_PZ TxPDO_2_PZ RxPDO_1_PY RxPDO_2_PY RxPDO_3_PY RxPDO_1_PZ RxPDO_2_PZ RxPDO_3_PZ P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 41 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Process Data Objects = PDO Ces services sont utilisés pour la transmission de données de process de faible taille (<= 8octets) en temps réel. Ils permettent à un équipement producteur de mettre à disposition d ’un ou plusieurs consommateurs une variable de taille maximum 64 bits sans overhead. Ce service n ’est pas confirmé. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 42 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Description des PDO Chaque PDO en émission ou réception est décrit par 2 objets dans le dictionnaire d ’object : PDO Communication Parameter indique comment est transmis ou reçu le PDO : Le COB-ID utilisé Le mode de transmission/réception utilisé Pour les PDO en émission, le temps minimum entre 2 messages (inhibit time) PDO Mapping Parameter indique quelles données sont transportées : La liste des objets du dictionnaire d ’objet OD La taille de chaque objet P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 43 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Objets TxPDO Communication parameter PDO en émission : Index 0x1800 à 0x19FF Index 0x1800 à 0x19FF SubIndex Nom Format Valeur par défaut 0 Nombre d’éléments Octet 3 Fonction du numéro de PDO et du node ID 1 COB-ID Double mot 2 Transmission type Octet 3 Inhibit time Mot P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Description Nombre d’éléments suivant 11 bits de poids faibble = COB-ID Bit 31 = indique si PDO actif ou non Bit 30 = Indique si accès par Remote frame est supporté ou pas. Dépend du Décrit comment est transmis le PDO : synchrone ou asynchrone, sur changement produit d’état, cycliquement, sur polling… 0 Temps minimum entre 2 transmission du même PDO (occupation bande passante) Diapositive 44 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Objets TxPDO Mapping parameter PDO en émission : Index 0x1A00 à 0x1BFF Index SubIndex Nom Format 0 Nombre d’éléments Octet er 0x1A00 à 0x1BFF 1 1 objet mappé Double mot 2 2ème objet mappé Double mot … … … 8 8ème objet mappé Double mot P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Valeur par défaut Description Dépend du Nombre d’objets mappés produit Byte 3 et 2 (octets poids fort) = Index Dépend du Byte 1 = Sub-Index produit Byte 0 = Longueur en bits Exemple : 0x64010110 Byte 3 et 2 (octets poids fort) = Index Dépend du Byte 1 = Sub-Index produit Byte 0 = Longueur en bits Exemple : 0x64010210 … … 0 Idem ci-dessus Diapositive 45 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Objets RxPDO Communication parameter PDO en réception : Index 0x1400 à 0x15FF Index 0x1400 à 0x15FF SubIndex Nom Format Valeur par défaut 0 Nombre d’éléments Octet 2 Fonction du numéro de PDO et du node ID 1 COB-ID Double mot 2 Transmission type Octet P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Description Nombre d’éléments suivant 11 bits de poids faibble = COB-ID Bit 31 = indique si PDO actif ou non Bit 30 = Indique si accès par Remote frame est supporté ou pas. Dépend du Décrit comment est traité le PDO reçu. produit Diapositive 46 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Objets RxPDO Mapping parameter PDO en réception : Index 0x1600 à 0x17FF Index SubIndex Nom Format 0 Nombre d’éléments Octet er 0x1600 à 0x17FF 1 1 objet mappé Double mot 2 2ème objet mappé Double mot … … … 8 8ème objet mappé Double mot P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Valeur par défaut Description Dépend du Nombre d’objets mappés produit Byte 3 et 2 (octets poids fort) = Index Dépend du Byte 1 = Sub-Index produit Byte 0 = Longueur en bits Exemple : 0x62000108 Byte 3 et 2 (octets poids fort) = Index Dépend du Byte 1 = Sub-Index produit Byte 0 = Longueur en bits Exemple : 0x62000208 … … 0 Idem ci-dessus Diapositive 47 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Mode de transmission des PDO Synchrone : par réception d ’un message SYNC Acyclique : - la transmission est pré-déclenchée par l ’occurrence d ’un événement dans l’équipement - la transmission est pré-déclenchée par une « Remote request » (polling) Cyclique : - la transmission est déclenchée périodiquement après chaque 1, 2 ou jusqu ’à 240 messages SYNC Asynchrone : - la transmission est déclenchée par l ’occurrence d ’un événement dans le profil de l ’équipement - la transmission est déclenchée par une « Remote request» P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 48 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Transmission synchrone acyclique des PDO Sur événement - Transmission type = 0 SYNC SYNC SYNC SYNC SYNC TxPDO_PX Evénement produit X Sur réception d ’une Remote Request (polling) - Transmission type = 252 SYNC Remote request vers produit X P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 SYNC TxPDO_PX SYNC SYNC Remote SYNC request vers TxPDO_PX produit X Diapositive 49 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Transmission synchrone cyclique des PDO Cyclique sur n signaux de synchro - Transmission type = 1 à 240 SYNC SYNC SYNC SYNC TxPDO_PX Exemple si n = 3 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 SYNC SYNC SYNC (nombre de message SYNC) SYNC SYNC TxPDO_PX SYNC SYNC SYNC TxPDO_PX Exemple si n = 3 Diapositive 50 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Transmission asynchrone des PDO Sur événement - Transmission type=254 événement spécifique, 255 événement défini dans profil SYNC SYNC SYNC SYNC SYNC Evénement TxPDO_PX produit X Sur réception d ’une Remote Request (polling) - Transmission type = 253 SYNC SYNC Remote request vers produit X TxPDO_PX P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 SYNC SYNC Remote SYNC request vers produit X TxPDO_PX Diapositive 51 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Transmission des PDO : Inhibit time Pour garantir que des objets ayant un niveau faible de priorité puisse être transmis, il est possible d ’affecter un temps minimum entre 2 transmission d ’un même PDO. Cette valeur est renseignée dans le paramètre « Inhibit time » des objets TxPDO communication parameters index 0x1800 à 0x19FF. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 52 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Réception synchrone acyclique des PDO Sur événement - Transmission type = 0 SYNC SYNC SYNC SYNC SYNC Rx_PDO_PX Tx_PDO_PX Prise en compte du PDO reçu P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 53 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Réception synchrone cyclique des PDO Cyclique sur n signaux de synchro - Transmission type = 1 à 240 SYNC SYNC SYNC SYNC RxPDO_PX SYNC SYNC SYNC T_PDO_PX Exemple si n = 3 SYNC SYNC RxPDO_PX SYNC SYNC T_PDO_PX Exemple si n = 3 Prise en compte du PDO reçu P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 SYNC Prise en compte du PDO reçu Diapositive 54 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Réception asynchrone des PDO Sur événement - Transmission type=254 SYNC SYNC SYNC SYNC SYNC RxPDO_PX T_PDO_PX Prise en compte du PDO reçu P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 55 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Service Data Objects = SDO 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 (manager du bus) d ’accéder au dictionnaire d ’objets d ’un équipement serveur (stations 1 à 127) en écriture ou en lecture 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-ID : un pour la requête, l ’autre pour la réponse. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 56 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Special Function Objects = SFO SYNC = Synchronization Object : Cet objets est utilisé 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 manager du bus émet le message SYNC à une période communication (cycle period) définie lors de la configuration. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 57 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Special Function Objects = SFO 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. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 58 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Special Function Objects = SFO EMCY Object : Les objets EMCY sont utilisés pour transmettre des défauts applicatifs associés à chaque station (courant, tension, température, etc…) P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 59 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Special Function Objects = SFO 2 mécanismes permettent de surveiller l ’état des stations présentes sur le bus. Le Node guarding Fonctionne suivant le concept maître esclave (polling) permet au manager du bus de demander (Remote request) l ’état de chaque station à une période définie par configuration. Le Heartbeat Fonctionne suivant le concept producteur consommateur. L ’état de la station est produit cycliquement à une période définie par configuration. Ce mécanisme nouvellement spécifié remplace le node guarding sur les nouveaux produits (meilleurs utilisation de la bande passante). P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 60 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Special Function Objects = SFO Node guard Object : Le maitre NMT surveille l ’état des esclaves connectés sur le bus en émettant périodiquement (Guard time) une remote frame Node guard object à chaque esclave. Dès réception ,l ’esclave répond au maître. Les esclaves peuvent optionnellement surveiller le maître NMT : 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. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 61 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Special Function Objects = SFO 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 ». P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 62 / 69 Chapitre 4 : Couche application - Partie 2 : Objets et services CANopen Les Special Function Objects = SFO 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 ». P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 63 / 69 CANopen Chapitre 5 : Résumé des caractéristiques principales P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 64 / 69 Chapitre 5 : Résumé des caractéristiques principales Couche physique Medium : Paire torsadée blindée 2 ou 4 fils (si alimentation) Topologie : Type bus Avec dérivations courtes et résistance fin de ligne Distance maximum : 1000 m Débit : 9 débits possibles de 10 Kbit/s à 1Mbits/s Fonction de la longueur du bus et de la nature du câble : 1000 m à 10Kbits/s, 25 m à 1 Mbits/s, Nbre max équipements : 127 1 maître et 126 esclaves P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 65 / 69 Chapitre 5 : Résumé des caractéristiques principales Couche liaison Méthode d ’accès au médium : CSMA/CA Chaque équipement peut émettre dès que le bus est libre. Un principe de bits dominants ou récessifs permet lors d ’une collision un arbitrage bit à bit non destructif. La priorité d ’un message est donné par la valeur de l ’identifieur appelé COB-ID (Communication Object IDentifieur) 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. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 66 / 69 Chapitre 5 : Résumé des caractéristiques principales Couche liaison Modèle de communication : Producteur / Consommateur Chaque message possède un identifieur unique situé en début de trame. La valeur de cet identifieur 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. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 67 / 69 Chapitre 5 : Résumé des caractéristiques principales Couche application CANopen définit : comment les données sont transmises : Profil communication DS-301 commun à tous les produits Définit entre autre l ’allocation des identifieurs COB-ID pour chaque type de message. quelles données sont 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) matérialisé par un fichier EDS. P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 68 / 69 Chapitre 5 : Résumé des caractéristiques principales Couche application 4 types de services sont standardisés : 1 . Administration du réseau : paramétrage, démarrage, surveillance (maîtreesclaves) 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 (peuvent être > 8 octets par segmentation) sans contrainte de temps : 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 P&T - GPS - Training PhW - CANopen_lev2_fr 06/ 2004 Diapositive 69 / 69