CANopen-Geräteprofil für E/A-Module

Kommunikation à la CiA

Um eine zumindest partielle Austauschbarkeit unterschiedlichster E/A-Geräte zu erreichen, wurde von CAN in Automation (CiA) ein CANopen-Geräteprofil für generische E/A-Module entwickelt. Die Version 2.0 definiert das Kommunikationsverhalten der Prozessdatenobjekte und beschreibt auch deren Default-Mapping.

Die Version 2.0 des CANopen-Geräteprofiles für Ein-/Ausgabe-Module (CiA DS-401) definiert nicht nur die Kommunikations-, Konfigurations- und Anwendungsobjekte, sondern legt auch deren Default-Verhalten nach dem Einschalten der Versorgungsspannung sowie dem Zurücksetzen des Gerätes fest.
Im Falle eines gravierenden Kommunikationsfehlers (z. B. Nachricht verloren) oder eines fatalen Gerätefehlers (z. B. Kurzschluss an den Ausgängen) schaltet das Gerät defaultmäßig in den Zustand „preoperational“ und sendet eine Emergency-Nachricht. Im Zustand „preoperational“ sind die Prozessdatenobjekte (PDO) inaktiv. Ein CANopen-Gerät kann aber auch so konfiguriert werden, dass es im Fehlerfall den Zustand „Stopped“ annimmt oder im gerade befindlichen Zustand bleibt.
Somit ist eine partielle Austauschbarkeit der Geräte möglich. Die sehr umfangreichen Konfigurationsoptionen gestatten darüber hinaus eine optimale Anpassung an unterschiedlichste Anwendungen.

Vordefinierte Kommunikationsobjekte
Alle CANopen-Geräte, die dem Profil 401 entsprechen, beschreiben im Objekt „Device Type“, welche E/A-Funktionen sie unterstützen. Für spezielle E/A-Module werden in entsprechenden Anhängen der Spezifikation Implementierungshinweise gegeben.
Im ersten vordefinierten und aktiven Transmit-PDO werden maximal 8 x 8 digitale Eingänge übertragen. Im ersten Empfangs-PDO sind maximal 8 x 8 digitale Ausgangswerte eingetragen. In den Transmit-PDOs zwei bis vier werden jeweils bis zu vier Analogwerte (16 Bit) gesendet und in den Receive-PDOs zwei bis vier befinden sich jeweils bis zu vier analoge Ausgangswerte (16 Bit). Sämtliche Prozessdatenobjekte werden asynchron empfangen und gesendet. Manche Geräte unterstützen auch andere Scheduling-Mechanismen: Insbesondere für analoge Eingänge empfiehlt sich eine synchrone Übertragung. Dabei wird das PDO nur nach dem Empfang der Sync-Nachricht gesendet. Um für sich langsam ändernde Werte nicht unnötige Busbandbreite zu verschwenden, ist es auch möglich nur bei jedem n-ten (1 bis 244) Sync-Telegramm das PDO zu übertragen. Aber auch die azyklische PDO-Übertragung bietet sich an, um Busbandbreite zu sparen, da diese PDOs nur dann gesendet werden, wenn das Sync-Telegramm empfangen wurde und eine Änderung des Eingangswertes erfolgte.
Die optionalen InhiBit- und Event-Zeitgeber sind defaultmäßig nicht gesetzt, und die Identifier der PDOs entsprechen dem „Pre-defined Connection Set“, der im CANopen-Standard definiert ist. Wenn das E/A-Gerät vom Netzwerk-Management in den Zustand „Operational“ geschaltet wird, versucht es alle asynchronen Default-PDOs zu senden. Zusätzliche PDOs (bis zu 512 Transmit-PDOs und bis zu 512 Receive-PDOs) können hersteller-spezifisch unterstützt werden. Sie haben allerdings keine vordefinierten Identifier und sind damit nicht existent. Nur die entsprechenden Einträge im Objektverzeichnis sind schon vorhanden. Das Default-Mapping von Ein- und Ausgängen kann optional geändert werden (variables und dynamisches Mapping). Für digitale Module sind auch Einzel-Bit-Zugriffe sowie 16- und 32-Bit-Zugriffe einstellbar. Das analoge Mapping kann nicht nur in den Breiten 8 und 32 Bit sondern auch im Gleitkomma- sowie hersteller-spezifischen Format erfolgen. Einige Systementwickler übertragen in den PDOs nicht nur Eingangs- bzw. Ausgangswerte, sondern Konfigurationsparameter und andere Objekte.

Digitale Ein-/Ausgänge
Geräte mit digitalen Eingängen senden defaultmäßig bei jeder Eingangsänderung das PDO, in dem der Eingangswert (Objekt „Read Input“) eingetragen ist. Optional kann der Systemdesigner ein Eingangsfilter sowie eine Polaritätsänderung einschalten (Objekte „Filter Constant“ bzw. „Change Polarity“). Die ebenfalls optionalen Interrupt-Masken für Eingangsänderungen („Low-to-High“ und „High-to-Low“) ermöglichen bei richtiger Konfiguration, dass nur bei Ab- oder Anschalten eines Einganges ein PDO gesendet wird. Mit dem Objekt „Interrupt Enable“ kann man auch während des Zustandes „Operational“ die Übertragung der PDOs verhindern.
Geräte mit digitalen Ausgängen empfangen per PDO die aktuellen Ausgangswerte, die in den zugehörigen Objekten „Write Output“ abgespeichert werden. Optional kann der Systementwickler eine Polaritätsumkehr sowie einen Blockfilter aktivieren (Objekte „Change Polarity“ bzw. „Block Filter“). Außerdem kann er mit den optionalen Objekten „Error Mode“ und „Error Value“ das Verhalten der Ausgänge bei Feststellen eines geräteinternen Fehlers konfigurieren. Dabei kann der Ausgang einen vordefinierten Wert einnehmen oder den letzten Wert halten.

Analoge Ein-/Ausgänge
Ein analoger Eingangswert wird nach der A/D-Umsetzung im Objektverzeichnis („Read Analogue Input“) eingetragen. Optional kann der Eingangswert nach dem Aktivieren der Objekte „Offset“ und „Scaling“ vor dem Eintrag noch konditioniert werden. Das Sende-PDO, in dem dieser Wert übertragen wird, ist defaultmäßig auch im Zustand „Operational“ abgeschaltet, es muss erst mit dem Objekt „Interrupt Enable“ aktiviert werden. Aber auch dann müssen noch die Scheduling-Bedingungen konfiguriert werden (Objekte „Upper Limit“, „Lower Limit“, „Delta“, „Negative Delta“ und „Positive Delta“). Bei geschickter Konfiguration kann der Systementwickler die PDO-Übertragung optimieren. Die Konfiguration der Scheduling-Bedingungen kann im Integer- oder Gleitkomma-Format erfolgen. Jedem analogen Eingangswert kann mit Hilfe des Objektes „SI Unit Input“ eine physikalische Einheit sowie ein Prefixwert zugeordnet werden.
Digitalisierte Analog-Ausgangswerte werden über den Bus empfangen und im Objektverzeichnis („Write Analogue Output“) des Gerätes eingetragen. Abhängig von der Aktivierung der optionalen Signalkonditionierung (Objekte „Offset“ und „Scaling“) wird der Ausgangswert an den D/A-Umsetzer übergeben. Wenn ein geräteinterner Fehler entdeckt wird, kann optional mit den Objekten „Error Mode“ und „Error Value“ der Ausgangswert festgelegt werden. Dabei kann der Ausgang einen vordefinierten Wert einnehmen oder den letzten Wert halten. Jedem analogen Eingangswert kann mit Hilfe des Objektes „SI Unit Output“ eine physikalische Einheit sowie ein Prefixwert zugeordnet werden.

Zusammenfassung
CANopen-Geräte nach der Spezfikation CiA DS-401 Version 2.0 bieten nicht nur ein definiertes Verhalten bezüglich der Kommunikationsobjekte, sondern verfügen auch über standardisierte Konfigurationsobjekte. Die Implementierung der optionalen Funktionen (z. B. Signalaufbereitung und Filter) sowie der zusätzlichen hersteller-spezifischen Funktionen (z. B. Kurzschlusserkennung) ist nicht spezifiziert. Von daher ist eine Austauschbarkeit der Geräte nur bezogen auf die Kommunikation und die Konfiguration möglich, d. h. der Systemdesigner kann generische Konfigurationswerkzeuge verwenden. Erste Prototypen werden voraussichtlich auf der Hannover-Messe Industrie zu sehen sein.
Autor: Holger Zeltwanger – CiA

CiA – CAN in AUTOMATION
Tel. (0049-9131) 690 86-0
Fax (0049-9131) 690 86-79
ESonline 03000

Bildtexte:
Bild 1: Blockschaltbild digitale Eingänge.
Bild 2: Blockschaltbild digitale Ausgänge.
Bild 3: Blockschaltbild analoge Eingänge.
Bild 4: Blockschaltbild analoge Ausgänge.

headquarters@can-cia.de