CAN in Automation (CiA)

Optimierung der PDO-Kommunikation in CANopen-Netzwerken

07.04.2009 | Autor / Redakteur: Holger Zeltwanger / Ines Stotz

Das Prinzip des synchronen Sendens und Empfangens von PDOs
Das Prinzip des synchronen Sendens und Empfangens von PDOs

Firmen zum Thema

Für die Übertragung zeitkritischer Prozessdaten wird in CANopen-Netzwerken das PDO-Protokoll verwendet. Dabei handelt es sich um eine unbestätigte CAN-Nachricht, die keinen zusätzlichen Protokoll-Overhead benötigt. Die PDO-Kommunikation lässt sich bezüglich der Übertragungsart an die Anforderungen der Anwendung anpassen. Dabei kann der Systementwickler auf der Sende- und der Empfangsseite auch unterschiedliche Übertragungsarten konfigurieren, um so eventuell das Verhalten der CANopen-Geräte zu optimieren.

CANopen basiert auf der in ISO 11898-1 (CAN-Protokoll) genormten Datenverbindungsschicht. CAN lässt sich zwar sehr preisgünstig in Mikrocontroller sozusagen „on-chip“ implementieren, aber die maximale Busbandbreite ist auf ein Mbit/s begrenzt. Dies entspricht einer Nettogeschwindigkeit von ca. 500 kbit/s. Oder anders ausgedrückt, man benötigt für die Übertragung von acht-Byte-Nutzdaten rund 120 Bitzeiten. Bei voller Busauslastung und einer Geschwindigkeit von 1 Mbit/s kann man rund 8000 Nachrichten mit jeweils acht Byte übertragen.

Allerdings darf man den Bus nicht permanent mit 100-Prozent-Buslast fahren, da ansonsten unerwünschte Ausfälle von Teilnehmer eintreten können, wenn die Kommunikation durch externe Störungen beeinträchtigt wird. Eine durchschnittliche Buslast von knapp unter 50 Prozent ist empfehlenswert. Andere Bussysteme sind zwar schneller als CAN, aber die Übertragungsgeschwindigkeit sagt nichts über den Systemdurchsatz aus.

Bei einer periodischen, mit einem lokalen Zeitgeber getriggerten Übertragung, sind abhängig von der Anwendung viele Daten redundant. Bei einer ereignisgesteuerten Übertragung – wie bei CAN üblich – wird diese Redundanz vermieden. Die redundante Übertragung von Daten ist nicht wünschenswert, da mit steigender Übertragungsgeschwindigkeit, die Störanfälligkeit drastisch zunimmt. Die kann man zwar technisch bis zum einem gewissen Grad beherrschen, aber die dazu erforderlichen elektrischen und elektromechanischen Lösungen kosten Geld. Außerdem ist jede Datenübertragung mit einem gewissen Prozentsatz fehlerhaft oder die empfangenen Daten werden nicht richtig interpretiert. Dies ist besonders ärgerlich, wenn es sich um redundante Daten handelt, die man eigentlich nicht benötigt.

Daten intelligent übertragen

Deshalb gilt allgemein: Je geringer die Datenrate, desto weniger Probleme hat man mit Störungen. Anstatt bei zusätzlichen Kommunikationsfunktionen die Übertragungsrate zu erhöhen, kann man versuchen, durch eine „intelligente“ Übertragung von Daten, die erforderliche Busbandbreite zu minimieren. In CANopen gibt es dazu mehrere Möglichkeiten. Neben einer kompakten Kodierung von Prozessdaten und deren geschicktes Zusammenstellen in ein PDO (PDO-Mapping) kann der Systementwickler vor allem durch die Wahl einer optimalen Übertragungsart (transmission type) die PDO-Last reduzieren.

Die aus der SPS-Programmierung bekannten periodische Übertragung von Daten (manchmal auch als zyklisch bezeichnet), die auch in einigen Bussystemen und industriellen Ethernet-Lösungen genutzt wird, fordert eine hohe Übertragungsgeschwindigkeit mit den oben genannten Nachteilen. Außerdem müssen die Mikrocontroller schnell genug die empfangenen Daten abspeichern können. Hinzu kommt also ein Bedarf an schnellen Speicherbausteinen. Aber auch die sendende Seite muss die Daten schnell genug produzieren können. Deshalb ist eine rein ereignisgesteuerte Übertragung der periodischen meist überlegen.

Ereignis- und Zeitgeber-getriggerte PDOs

Die in CAN-Anwendungen bevorzugte Übertragungsart ist das Ereignis-getriggerte Senden von Nachrichten. Das auslösende Ereignis kann die Änderung eines Datums sein, d.h. jede Änderung eines Sensorwertes, der in dem PDO übertragen wird, initiiert eine entsprechende PDO-Übertragung. Das Ereignis kann auch das periodische Ablaufen des PDO-spezifischen Zeitgebers (event timer) sein. Die Periode des Event-Timer ist in Subindex 5 der PDO-Kommunikationsparameter festgelegt. Dieser Wert ist in der Regel per SDO (Servicedatenobjekt) konfigurierbar.

Festlegung eines Übertragungsfensters für ein PDO mit Hilfe der Inhibit- und der Event-Zeitgeber
Festlegung eines Übertragungsfensters für ein PDO mit Hilfe der Inhibit- und der Event-Zeitgeber

Auch eine Kombination der Ereignis- und Zeitgeber-Triggerung ist möglich. In diesem Fall erfolgt eine PDO-Übertragung spätestens nach dem Ablauf des Event-Timer. Falls vor Ablauf des Event-Timer sich ein im PDO übertragener Wert sich ändert, wird das PDO schnellst möglich gesendet. Verwendet man zusätzlich noch die Inhibit-Zeit, so kann man Zeitfenster definieren, in denen das PDO gesendet wird. Die Inhibit-Zeit ist im Subindex 4 des PDO-Konfigurationsparameter festgelegt. Definierte Zeitfenster für das Senden von PDOs vermeidet bei entsprechender Konfiguration sehr unterschiedliche Buslasten. Voraussetzung ist allerdings, dass die lokalen Zeitgeber von Zeit zu Zeit synchronisiert werden. Dazu gibt es in CANopen beispielsweise die Time-Nachricht, die eine globale Zeit mit einer Genauigkeit von einer Millisekunde an alle Teilnehmer verteilt.

 

Holger Zeltwanger, Managing Director, CAN in Automation:

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 296484 / Feldkommunikation)