Mit der Adressierung wird die Topologie des Steuerungsnetzwerks eindeutigen Adressen zugeordnet. Eine Knotenadresse ist hierarchisch aufgebaut.
Für jede Netzwerkverbindung wird eine lokale Adresse, die den Knoten in seinem jeweiligen lokalen Netzwerk eindeutig identifiziert, vom entsprechenden Blocktreiber zugeordnet. Für die gesamte Knotenadresse wird dieser lokalen Adresse der Index des Subnetzes vorangestellt, dem das lokale Netzwerk vom Vaterobjekt zugeordnet wird. Außerdem muss der Adresse die Knotenadresse seines Vaterobjekts vorangestellt werden.
Die Länge des Subnetzindex (in Bit) wird durch das Gerät bestimmt, während die Länge der lokalen Adresse durch den Netzwerktyp bestimmt wird.
Ein Knoten ohne ein Hauptnetz ist ein Knoten auf oberster Ebene mit der Adresse 0. Ein Knoten mit einem Hauptnetz, das kein Vaterobjekt enthält, ist ebenfalls ein Knoten auf oberster Ebene und wird der lokalen Adresse im Hauptnetz zugeordnet.
Beispiel: Hauptnetz and Subnetze
In dem Beispiel werden die Adressen der Kindknoten in hexadezimaler Schreibweise dargestellt. Die ersten vier Stellen bilden die Adresse des jeweiligen Vaterobjekts im Hauptnetz, z. B. 0x007A=122 für PLC1. Das nächste Byte (blau dargestellt) ist für den Subnetzindex reserviert. Danach schließt sich die lokale Adresse an, z. B. C=12 für die Knoten-ID 12.
Aufgrund der Strukturierung der Adresse kann der Routing-Algorithmus relativ schlank bleiben. Beispielsweise sind keine Routing-Tabellen erforderlich. Informationen werden lokal benötigt: an der eigenen Adresse und an der Adresse des Elternknotens.
Daraufhin kann ein Knoten Datenpakete ordnungsgemäß verarbeiten.
oWenn die Zieladresse der Adresse des aktuellen Knotens entspricht, wird er als Empfänger bestimmt.
oWenn die Zieladresse mit der Adresse des aktuellen Knotens beginnt, ist das Paket für ein Kind oder einen Nachkommen des Knotens bestimmt und muss weitergeleitet werden.
oAndernfalls ist der Empfänger kein Nachkomme des aktuellen Knotens. Das Paket muss dann an das eigene Vaterobjekt weitergeleitet werden.
Die relative Adressierung ist eine spezielle Funktion. Relative Adressen enthalten nicht die Knotennummer des Empfängerknotens, sondern beschreiben direkt den Pfad vom Sender zum Empfänger. Das Prinzip ähnelt einem relativen Pfad im Dateisystem: Die Adresse besteht aus der Anzahl der Stufen, um die das Paket nach oben verschoben werden muss, d. h. zum nächsten Vaterobjekt, und dem sich anschließenden Pfad nach unten zum Zielknoten.
Der Vorteil der relativen Adressierung besteht darin, dass zwei Knoten innerhalb des gleichen Unterbaums die Kommunikation auch dann fortsetzen können, wenn der gesamte Unterbaum innerhalb des Steuerungsnetzwerks an eine andere Position verschoben wird. Während sich die absoluten Knotenadressen aufgrund einer solchen Neuzuordnung ändern, bleiben die relativen Adressen gültig.
Ein Knoten versucht seine eigene Adresse als die, die von seinem Vaterobjekt kommt, zu bestimmen oder ob Knoten selbst ein Knoten auf oberster Ebene ist. Zu diesem Zweck sendet ein Knoten beim Starten eine Broadcast-Nachricht zum Ermitteln der Adresse an sein Hauptnetz. Solange diese Nachricht nicht beantwortet wird, betrachtet sich der Knoten als Knoten oberster Ebene, auch wenn er weiterhin versucht, einen Elternknoten zu finden. Ein Elternknoten antwortet mit einer Adressbenachrichtigung. Daraufhin vervollständigt der Knoten seine eigene Adresse und leitet diese an die Subnetze weiter.
Die Adressermittlung kann beim Starten oder auf Anforderung des Programmier-PCs ausgeführt werden.