CANopen - Kommunikationsprofil
Das CANopen-Kommunikationsprofil (dokumentiert in CiA DS-301) regelt, wie die Geräte Daten miteinander austauschen. Wie bei allen anderen Feldbus-Protokollen werden hierbei Echtzeitdaten und Parameterdaten unterschieden. CANopen ordnet diesen, vom Charakter her völlig unterschiedlichen Datenarten, jeweils passende Kommunikationselemente zu.
Prozessdatenobjekte (PDO)
Der Prozessdatenaustausch mit den CANopen-PDOs ist „CAN pur“, also ohne Protokoll-Overhead. Die Broadcast-Eigenschaften von CAN bleiben voll erhalten. Eine Nachricht kann von allen Teilnehmern gleichzeitig empfangen und ausgewertet werden. Die Kommunikation mit den CANopen-PDOs entspricht dem Producer/Consumer-Modell. Daten werden von ihrem „Produzenten“ (z.B. einer Ein-/Ausgabebaugruppe) auf den Bus gelegt und von einer beliebigen Anzahl von „ Konsumenten“ empfangen und verarbeitet. Die PDOs werden im Allgemeinen ereignisorientiert, zyklisch oder auf Anforderung als Broadcast-Objekte übertragen. Innerhalb eines PDO können maximal 8 Byte Daten übertragen werden. In Verbindung mit einer Synchronisationsnachricht kann das Senden sowie die Übernahme von PDOs netzwerkweit synchronisiert werden ("synchrone PDOs"). Damit lassen sich sowohl die Busbelastung als auch die Reaktionszeit des Netzes auf ein Minimum reduzieren. CANopen erreicht eine hohe Kommunikationsleistung bei vergleichsweise geringer Baudrate. Die Zuordnung von Anwendungsobjekten auf ein PDO ist über eine im Objektverzeichnis (OV) abgelegte Strukturbeschreibung ("PDO-Mapping") einstellbar und damit den jeweiligen Einsatzanforderungen eines Gerätes anpassbar.
Servicedatenobjekte (SDO)
Die SDOs dienen in erster Linie der Übertragung von Parametern während der Gerätekonfiguration sowie allgemein der Übertragung längerer Datenbereiche. Die Übertragung von SDOs erfolgt als bestätigter Datentransfer mit jeweils zwei CAN-Objekten in Form einer Punkt-zu-Punkt-Verbindung zwischen zwei Netzknoten. Die Adressierung des entsprechenden Objektverzeichniseintrages erfolgt durch Angabe von Index und Subindex des Eintrags. Es können Nachrichten unbegrenzter Länge übertragen werden, was allerdings mit einem zusätzlichen Protokoll-Overhead verbunden ist.
Objektverzeichnis
Das Objektverzeichnis (OV) strukturiert die Daten eines CANopen-Gerätes in einer übersichtlichen tabellarischen Anordnung. Es enthält sämtliche Geräteparameter sowie alle aktuellen Prozessdaten, die damit auch über das SDO zugänglich sind. Das Objektverzeichnis ist in Bereiche unterteilt, die allgemeine Angaben über das Gerät (Geräteidentifikation, Herstellername, etc.) sowie Kommunikationsparameter enthalten bzw. die spezifische Gerätefunktionalität beschreibt. Die Identifizierung eines Eintrags ("Objekt") des Objektverzeichnisses erfolgt über einen 16-Bit-Index und einen 8-Bit-Subindex. Über die Einträge des Objektverzeichnisses werden die "Anwendungsobjekte" eines Gerätes wie z.B. Ein- und Ausgangssignale, Geräteparameter, Gerätefunktionen oder Netzwerkvariablen in standardisierter Form über das Netzwerk zugänglich gemacht.
Index (hex) | Objekt |
0000 | Reserved |
0001-001F | Static Data Types |
0020-003F | Complex Data Types |
0040-005F | Manufacturer Specific Data Types |
0060-007F | Device Profile Specific Static Data Types |
0080-009F | Device Profile Specific Complex Data Types |
00A0-0FFF | Reserved for further use |
1000-1FFF | Communication Profile Area |
2000-5FFF | Manufacturer Specufic Profile Area |
6000-9FFF | Standardized Device Profile Area |
A000-FFFF | Reserved for further use |