Ihr Wegweiser für
industrielle Netzwerke

Das DeviceNet-Protokoll

Das DeviceNet-Protokoll ist ein objektorientiertes Protokoll. Es wird typischerweise für die Vernetzung von Sensoren und Aktoren mit den übergeordneten Automatisierungsgeräten (SPS, IPC) benutzt. Die Bandbreite der über DeviceNet anschließbaren Geräte reicht von der einfachen Lichtschranke bis hin zur komplexen Vakuumpumpe für die Halbleiterfertigung.

Folgende Elemente des Protokolls werden nun näher beleuchtet:



Data Link Layer

Die Schicht 2 (Data Link Layer) basiert auf dem Controller-Area-Netzwerk (CAN), das ursprünglich für den Einsatz innerhalb von Kraftfahrzeugen konzipiert wurde. CAN zeichnet sich insbesondere durch ein zerstörungsfreies Verfahren zur Behebung von Kollisionen bei gleichzeitiger Nachrichtenübermittlung mehrerer Stationen aus. Bei CAN hat jede Nachricht eine eigene Priorität und im Fall, dass mehrere Stationen gleichzeitig eine Nachricht senden, setzt sich immer die Station durch, deren Nachricht gerade die höchste Priorität hat. In einem CAN-Telegramm können 0-8 Byte Nutzdaten übertragen werden. Der Aufbau eines CAN Telegramms ist im nachfolgenden Bild dargestellt.

Schaubild




Netzwerk-Layer und Data Transport Layer

Bevor zwei DeviceNet-Geräte Nutzdaten miteinander austauschen können, muss eine Verbindung zwischen den beiden Geräten aufgebaut werden. Der Aufbau der Verbindung erfolgt entweder über den Unconnected Message Manager (UCMM) oder den Group 2 Unconnected Port. Für den Verbindungsaufbau werden ausgewählte CAN Identifier benutzt. Eine einmal aufgebaute Verbindung kann dann für die Übertragung von Explicit Messages oder für den Aufbau zusätzlicher I/O-Verbindungen genutzt werden. Sobald eine I/O-Verbindung aufgebaut wurde, können I/O-Daten zwischen den DeviceNet-Teilnehmern ausgetauscht werden. Für die Kodierung von I/O-Daten wird ausschließlich der 11 Bit Identifier benutzt. Das 8 Byte breite CAN-Data-Field steht vollständig für die Nutzdaten zur Verfügung.

Schaubild

Der 11 Bit lange CAN Identifier wird für die Kodierung der Connection-ID benutzt. Dabei ist unbedingt auf die Ein-Eindeutigkeit der Connection-IDs zu achten, um alle Vorteile des Producer/Consumer-Verfahrens ausnutzen zu können. DeviceNet unterteilt den 11 Bit CAN Identifier in vier Gruppen.

DeviceNet-Geräte können Client oder Server oder beides sein. Clients und Server können Producer, Consumer oder beides sein. Die Verbindung eines typischen Clients sendet Requests (Produce) und empfängt Responses (Consume). Die Verbindungen eines typischen Servers empfangen Requests (Consume) und senden Responses (Produce). DeviceNet ermöglicht mehrere Varianten dieses Prinzips. Bei Client oder Server ist es auch möglich, Verbindungen so zu konfigurieren, dass sie nur Nachrichten empfangen oder nur Nachrichten senden. Verbindungen die nur Nachrichten senden, dienen als Datenquelle für zyklische Nachrichten oder Change-of-State-Nachrichten. Die Verwendung von Change-of-State-Nachrichten trägt erheblich zu einer Reduzierung des Datenaufkommens im DeviceNet bei.




Anwendungsschicht - CIP-Protokoll

CIP (Common Industrial Protocol) bildet die Anwendungsschicht von DeviceNet. CIP definiert den Austausch von I/O-Daten in Echtzeit über I/O-Nachrichten (I/O Messaging oder Implicit Messaging) sowie den Austausch von Bedarfsdaten für Konfiguration, Diagnose und Management über explizite Nachrichten (Explicit Messaging). Die Kommunikation zwischen zwei Geräten erfolgt dabei immer nach einem verbindungsorientierten Kommunikationsmodell, entweder über eine Punkt-zu-Punkt- oder eine Multicast-V1-Verbindung. Damit lassen sich sowohl Master/Slave-Systeme als auch Multi-Master-Systeme realisieren. Daten werden als Objekte bezeichnet und sind im Objektverzeichnis eines jeden Gerätes eingetragen.

CIP-Objekt-Modell




Predefined Master/Slave Connection Set

Für einfache DeviceNet-Slave-Geräte wurde das sog. "Predefined Master/Slave Connection Set" spezifiziert. Dieses Subset des DeviceNet-Protokolls vereinfacht die Übertragung von I/O-Daten zwischen einem Automatisierungssystem (SPS) und den dezentralen Peripheriegeräten (Slaves). Unterstützt werden implizite und explizite Nachrichten, Polled-I/O, Multicast-Polled-I/O und Bit-Strobed-I/O-Nachrichten vom Master an den Slave sowie Change-of-State/Cyclic-I/O-Nachrichten vom Slave an den Master.