Seitennavigation
- Zum Anfang der Seite
CANopen - Höherschichtiges CAN-Protokoll
CANopen ist ein "Layer 7"-CAN-Protokoll , das Kommunikations- und Gerätefunktionen für CAN-basierte Systeme definiert. CANopen ist eine standardisierte, hochflexible und hochkonfigurierbare eingebettete Netzwerkarchitektur, die in Branchen wie Eisenbahn, Medizin, Industrie, Landwirtschaft, Nutzfahrzeuge, Marine, Off-Highway, Fabrikautomatisierung, Luft- und Raumfahrt eingesetzt wird. CANopen wird auch für geschlossene, unternehmensspezifische Embedded-Netzwerke immer beliebter.
Die CANopen-Profilfamilie spezifiziert standardisierte Kommunikationsmechanismen und Gerätefunktionalitäten. Der CANopen-Standard wird von der "CAN in Automation (CiA) International Users and Manufacturers Group" gepflegt und kann ohne Lizenz implementiert werden.
Vorteile
- Offene Architektur
- Echtzeitübertragung von Prozessdaten ohne Protokoll-Overhead
- Modular und skalierbar
- Interoperabilität und Austauschbarkeit
- Profilkonzept ähnlich Interbus-S und Profibus
- Unterstützt von vielen internationalen Herstellern
Grundlagen
CANopen Standard

Entwickelt wurden die Grundlagen des Standards in einem geförderten EU-Projekt. Im Jahre 1995 wurden die bis dahin erstellten Spezifikationen an den CiA e.V. (CAN in Automation) übergeben. Seitdem wird der Standard im Rahmen der CAN-Nutzerorganisation gepflegt und weiterentwickelt. Er ist seit 2002 als Europäische Norm (EN 50325-4 2002 Part 4: CANopen) verfügbar.
CANopen Gerätestruktur
Der CANopen-Standard beschreibt den Austausch von Daten in einem CAN-basierenden Netzwerk. Dabei werden sowohl die grundlegenden Kommunikationsmechanismen (Kommunikationsprofil) als auch die Funktionalität der kommunizierenden Geräte (Geräteprofil) definiert. Das heißt, unter CANopen wird auch die Interpretation von Prozessdaten, die über den Bus übertragen werden festgelegt.
Objektverzeichnis
Jedes CANopen-Gerät stellt interne Daten (Prozessdaten, Parameter), die in einem Objektverzeichnis organisiert sind, über eine definierte Schnittstelle auf dem Bus zur Verfügung. Auf Einträge im Objektverzeichnis wird über einen 16 Bit großen Index und zusätzlich über einen 8 Bit großen Subindex zugegriffen. Um die Struktur für den Anwender übersichtlicher zu gestalten, wird der Indexbereich in logische Segmente unterteilt. Der Name eines Gerätes kann zum Beispiel vom Index 0x1008 (Sub-Index 0) gelesen werden.
Index (hex) | Object |
0000 | not used |
0001-025F | Data Types |
0260-0FFF | Reserved for further use |
1000-1FFF | Communication Profile Area |
2000-5FFF | Manufacturer Specific Profile Area |
6000-9FFF | Standardized Device Profile Area |
A000-AFFF | Network variable area |
B000-BFFF | System variable area |
C000-CFFF | Reserved for further use |
Kommunikationsprinzipien
Unter CANopen gibt es zwei grundlegende Arten der Kommunikation über den Bus.
SDO
Service-Daten-Objekte (SDO) erlauben den wahlfreien Zugriff auf beliebige Einträge im Objektverzeichnis. Da diese Einträge durchaus die maximal zulässige Größe einer CAN-Nachricht von 8 Bytes überschreiten können, wird über das SDO eine Segmentierung der Daten durchgeführt. Der SDO-Server bietet einem SDO-Client Zugriff auf sein Objektverzeichnis. Der Client kann Daten vom / zum Server hochladen (lesen) oder herunterladen (schreiben).
PDO
Werden Informationen zyklisch an ein oder mehrere Geräte gesendet, ist die Verwendung von Prozessdatenobjekten (PDO) sinnvoll. Grundsätzlich ist ein PDO eine CAN-Nachricht, die vollständig konfigurierbar ist. Jedes CANopen-Gerät kann mehrere Sende- und Empfangs-PDOs haben. PDOs werden mit den entsprechenden Einträgen im Objektverzeichnis konfiguriert. Diese speziellen Einträge ermöglichen das Ändern der CAN-ID sowie das Mapping von Bytes der Nachricht auf Objekte des Objektverzeichnisses.
Netzwerkstruktur
In einem CANopen-Netzwerk können bis zu 127 logische Geräte angesprochen werden. Eines dieser Geräte muss dabei über CANopen-Master-Funktionalität verfügen. Das heißt, dieser Master ist in der Lage andere Geräte - die Slaves genannt werden - zu überwachen und deren Zustand zu verändern. Jedes Gerät wird dabei eindeutig über seine Knotenadresse identifiziert (1..127).

Spezifikation
CANopen Dokumente
Die CANopen-Spezifikationen können von der Homepage des CiA. e.V. bezogen werden. Die wichtigsten Spezifikationsdokumente sind dabei:
- DS 301 - Dieses Dokument ist auch als Kommunikationsprofil bekannt und beschreibt die grundlegenden Dienste und Protokolle, die unter CANopen verwendet werden
- DS 302 - Framework für programmierbare Geräte (CANopen Manager, SDO Manager)
Informationen zu Kabeln und Steckverbindern finden sich in DR 303-3.
Das Verhalten vieler Geräteklassen ist unter CANopen bereits über sogenannte Geräteprofile (DS 4xx) festgelegt. Diese Profile beschreiben:
- Laufzeitverhalten
- Gerätespezifische Objekte im Objektverzeichnis
- Fehlerbehandlung
- Standardkonfiguration von PDOs
CANopen Entwicklungsprozess




Tools für CANopen
Die Softwaretools von Vector bieten umfangreiche Möglichkeiten für Simulation, Entwicklung, Analyse, Test und Diagnose von CANopen-Systemen und -Komponenten.

Tools | |
---|---|
Entwicklung und Test für CANopen
| |
Analyse für CANopen
| |
Projektierung und Konfiguration von CANopen-Netzwerken
| |
EDS-Editor für CANopen
|
Hardware für CANopen
Softwarewerkzeuge für Entwicklung, Simulation, Test und Pflege von verteilten Systemen benötigen leistungsfähige und flexible Hardwareschnittstellen.
Vector bietet Ihnen Interfaces für CAN, LIN, J1708, Ethernet/IP und FlexRay sowie Treibersoftware und Programmierschnittstellen zum Einsatz mit den Vector Softwarewerkzeugen und in kundenspezifischen Lösungen.
Bus System | Interface | PC-Anbindung |
---|---|---|
CAN, CAN FD, LIN and J1708: | USB (RT PC) PCIe | |
Ethernet und CAN / CAN FD: | USB | |
FlexRay und CAN / CAN FD: | USB (RT PC) | |
* = nicht "CAN FD"-fähig
Zusätzliche Informationen
Haben Sie technische Fragen und suchen passende Antworten? Unsere Knowledge Base hält die wichtigsten FAQs für Sie bereit.