L'adressage mappe la topologie du réseau de contrôle sur des adresses uniques. Une adresse de nœud est élaborée selon une hiérarchie.
Pour chaque connexion réseau, une adresse locale identifiant le nœud de façon unique sur le réseau local correspondant est affectée au pilote de bloc approprié. Dans l'adresse de nœud complète, cette adresse locale est précédée de l'index du sous-réseau affecté au réseau local par le parent. Elle doit également être précédée de l'adresse du nœud de son parent.
La longueur de l'index du sous-réseau (en bits) est déterminée par l'équipement, alors que c'est le type de réseau qui détermine la longueur de l'adresse locale.
Un nœud sans réseau principal est un nœud de niveau supérieur associé à l'adresse 0. Un nœud avec un réseau principal qui ne contient pas de parent constitue également un nœud de niveau supérieur qui sera affecté à son adresse locale dans le réseau principal.
Exemple : réseau principal et sous-réseaux
Dans cet exemple, les adresses des nœuds enfants sont au format hexadécimal. Les quatre premiers chiffres correspondent à l'adresse du nœud particulier dans le réseau principal, par exemple 0x007A=122 pour PLC1. L'octet suivant (affiché en bleu) est réservé à l'index du sous-réseau et suivi de l'adresse locale, par exemple C=12 pour l'ID de nœud 12.
La structure de l'adresse est telle que l'algorithme de routage peut rester relativement épuré. Par exemple, les tables de routage sont inutiles. Les informations sont requises au niveau local : sur l'adresse elle-même et sur l'adresse du nœud parent.
Ces informations permettent au nœud de traiter correctement les paquets de données.
Si l'adresse cible correspond à l'adresse du nœud actuel, ce dernier tient lieu de destinataire.
Si l'adresse cible commence avec l'adresse du nœud actuel, le paquet est destiné à un enfant ou à un descendant du nœud et doit être acheminé.
Sinon, le destinataire n'est pas un descendant du nœud actuel. Le paquet doit être acheminé vers son propre parent.
L'adressage relatif est une fonction spéciale. Les adresses relatives ne contiennent pas le numéro du nœud du destinataire, mais décrivent directement le chemin de l'expéditeur au destinataire. Le principe est identique à celui d'un chemin relatif dans le système de fichiers : l'adresse comporte un certain nombre d'étapes que doit parcourir le paquet (jusqu'au prochain parent approprié) et le chemin suivant jusqu'au nœud cible.
L'avantage de l'adressage relatif est que deux nœuds compris dans une même sous-arborescence peuvent continuer à communiquer lorsque l'ensemble de cette sous-arborescence est déplacé à un autre emplacement du réseau de contrôle. Les adresses de nœud absolues changent lors d'un tel déplacement alors que les adresses relatives restent valides.
Un nœud essaie de déterminer sa propre adresse, en provenance de l'objet père s'il n'est pas lui-même un nœud de niveau supérieur. Au démarrage, un nœud envoie un message de détermination d'adresse sous forme de diffusion sur son réseau principal. Tant que ce message ne reçoit pas de réponse, le nœud considère qu'il est de niveau supérieur, mais continue de tenter de détecter un nœud parent. Un nœud parent répond par une notification d'adresse. Le nœud complète sa propre adresse à partir de cette information et la transmet aux sous-réseaux.
La détermination d'une adresse peut être exécutée au démarrage ou à la demande du PC de programmation.