L'indirizzamento permette di mappare la topologia della rete di controllo a indirizzi univoci. L'indirizzo di un nodo è costruito in modo gerarchico.
Per ogni connessione di rete, il corrispondente driver di blocco assegna un indirizzo locale che identifica il nodo in modo univoco nella relativa rete locale. Per tutto l'indirizzo del nodo, questo indirizzo locale è preceduto dall'indice di sottorete a cui la rete locale è assegnata dal livello superiore. Deve inoltre essere preceduto dall'indirizzo del nodo del relativo oggetto padre.
La lunghezza in bit dell'indice di subnet determinata dal dispositivo, mentre la lunghezza dell'indirizzo locale è determinata dal tipo di rete.
Un nodo senza rete principale è un nodo al livello più alto con indirizzo 0. Anche un nodo della rete principale che non contiene un livello superiore è un nodo top-level e verrà assegnato all'indirizzo locale nella rete principale.
Esempio: rete principale e sottoreti
Nell'esempio, gli indirizzi dei nodi di livello inferiore sono forniti in formato esadecimale. Le prime quattro cifre rappresentano l'indirizzo dell'oggetto padre all'interno della rete principale, ad esempio 0x007A=122 per PLC1. Il byte successivo, mostrato in blu, è riservato per l'indice della subnet ed è seguito dall'indirizzo locale, ad esempio C=12 per il nodo ID 12.
Vista la struttura dell'indirizzo, l'algoritmo di instradamento può restare relativamente snello, infatti, ad esempio, non sono necessarie tabelle di instradamento. Le informazioni sono necessarie localmente: sull'indirizzo proprio e sull'indirizzo del nodo padre.
Un nodo può gestire in questo modo correttamente i pacchetti dati.
Se l'indirizzo di destinazione è uguale all'indirizzo del nodo corrente, questo è identificato come ricevitore.
Se l'indirizzo di destinazione inizia con l'indirizzo del nodo corrente, il pacchetto è diretto a un livello inferiore o a un discendente del nodo e deve essere inoltrato.
Altrimenti, il ricevitore non è un discendente del nodo corrente e il pacchetto deve essere inoltrato al proprio livello superiore.
L'indirizzamento relativo è una funzione speciale. L'indirizzo relativo non contiene il numero del nodo ricevente ma descrive direttamente il percorso che dal trasmettitore porta fino al ricevente. Il principio è simile a un percorso relativo nel file system. L'indirizzo è costituito dal numero di passi che il pacchetto deve compiere verso l'alto, fino al primo livello superiore, e il successivo percorso verso il basso fino al nodo di destinazione.
Il vantaggio dell'indirizzamento relativo è che due nodi della stessa sottostruttura possono continuare a comunicare anche se l'intera sottostruttura viene spostata in un'altra posizione della rete di controllo complessiva. In tal caso, gli indirizzi assoluti dei nodi cambiano, mentre gli indirizzi relativi restano validi.
Un nodo tenta di determinare il proprio indirizzo in base a quello proveniente dal proprio padre o di determinare il proprio stato di primo livello. A questo scopo, trasmette un messaggio di determinazione dell'indirizzo alla rete principale durante l'avvio. Se il messaggio non riceve risposta, il nodo si considera di primo livello, ma continuerà a tentare di rilevare un nodo padre. Il nodo padre, se presente, risponde inviando la notifica dell'indirizzo. A quel punto, il nodo completa il proprio indirizzo e lo passa alle sottoreti.
La determinazione dell'indirizzo può essere eseguita all'avvio o su richiesta del PC di programmazione.