LonWorks
Bus de terrain créé pour répondre aux besoins des applications de contrôle, LonWorks (Local Operating Network) est une technologie réseau utilisée principalement dans les applications de gestion et automatisation des bâtiments, de l’énergie, mais aussi de contrôle industriel et de domotique.
Architecture
- Topologie en réseau distribué
- LonWorks utilise une architecture en réseau distribué (DCS) où chaque appareil a sa propre logique de contrôle et peut communiquer directement avec d’autres appareils via un protocole standardisé appelé “LonTalk”. Cela permet un contrôle décentralisé, car les appareils peuvent prendre leurs propres décisions en fonction des données qu’ils reçoivent d’autres appareils.
- Supports de communication
- LonWorks peut fonctionner sur différents supports de communication, notamment le CPL, la paire torsadée, la fibre optique, la radiofréquence, etc. Il prend également en charge une variété de technologies de mise en réseau, telles que IPv4 et IPv6.
- Intégration de divers équipements
- Les dispositifs LonWorks peuvent être intégrés dans une grande variété d’équipements, y compris des capteurs, des actionneurs, des thermostats, des interrupteurs, etc.
ㅤ

Protocole de communication
- LonTalk
- Conforme à la norme ISO/CEI 14908, LonTalk est le protocole de communication spécifique à LonWorks qui permet aux dispositifs (nœuds) de communiquer entre eux via un bus. Ce protocole peut être implémenté sur différents supports tels que la paire torsadée, les lignes électriques, la fibre optique et les liaisons sans fil. LonTalk définit les règles pour l’encapsulation des données, la gestion du réseau, la découverte des appareils, etc. et utilise un modèle de communication maître-esclave, où un appareil maître contrôle les communications sur le réseau.
- Messages LonWorks
- Les appareils LonWorks communiquent en échangeant des “messages” structurés. Ces messages peuvent être des commandes, des requêtes, des rapports d’état, etc.
Composants clés
- Neuron Chip
- Le cœur de la technologie LonWorks est le Neuron Chip, un système complet sur une seule puce spécialement conçu pour la communication LonWorks. Il contient l’intégralité de la pile de protocole LonTalk et est composé de plusieurs processeurs 8 bits, d’un port de communication, de mémoire, de micrologiciel, d’un système d’exploitation et d’E/S.
- LonWorks Interface
- Les périphériques LonWorks sont équipés d’une interface matérielle qui leur permet de se connecter au réseau LonWorks. Cette interface peut être intégrée directement dans un appareil ou être ajoutée via un module d’extension.
Utilisations
- Gestion de l’énergie
- Il est utilisé pour surveiller et contrôler la consommation d’énergie dans les bâtiments, les usines et les infrastructures.
- Contrôle industriel
- LonWorks est utilisé dans les applications de contrôle industriel pour surveiller et contrôler les processus de production et les équipements industriels.
- GTB / Domotique
- LonWorks est utilisé dans les bâtiments et maisons (domotique) pour contrôler l’éclairage, la température, les systèmes de sécurité, CVC, etc.
Avantages
Le LonWorks offre une grande flexibilité et de nombreuses fonctions pour presque toutes les possibilités de mise en réseau, sans perturbation technologique.
Neuron Chip ?
La puce Neuron est le cœur de presque tous les appareils basés sur LonWorks. Elle contient l’ensemble de la pile de protocoles LonTalk et est composé de plusieurs processeurs, mémoire, E/S, port de communication, micrologiciel et système d’exploitation.
Il existe trois types de puces Neuron : la 3120, 3150 et 5000.
Une application qui s’exécute dans une 3120 s’exécutera dans une 3150. L’inverse peut ne pas être vrai si l’application est trop grande pour la taille mémoire de la 3120.
Fondamentalement, la 3120 est une unité autonome, toute sa mémoire est embarquée et elle ne peut pas être étendue.
La 3150 dispose d’une adresse externe et d’un bus de données pour permettre une mémoire étendue. Elle est généralement utilisée dans des applications nécessitant plus de mémoire.


Adressage des appareils
Le LonWorks utilise un système d’adressage basé sur le concept de Domaine / Sous-réseau / Adresse du nœud.
- Domaine
- Un domaine LonWorks est un ensemble de contrôleurs LonWorks configurés avec le même numéro de sous-réseau Lon. Chaque domaine peut contenir plusieurs sous-réseaux.
- Sous-réseau
- Un sous-réseau LonWorks est composé de contrôleurs et de dispositifs configurés avec le même numéro de sous-réseau. Un sous-réseau peut contenir jusqu’à 127 adresses de nœuds.
- Adresse du nœud
- Chaque appareil sur le réseau LonWorks possède une adresse de nœud unique qui lui permet de communiquer avec d’autres appareils.
Processus de liaison (binding)
L’adressage est généralement rendu accessible à tous les appareils du réseau grâce à un processus appelé liaison.
Ce processus est effectué lors de la mise en service du réseau à l’aide d’un outil de gestion de réseau tel que LonMaker ou IzoT CT1.
SNVT ?
L’utilisation de SNVT (Standard Network Variable Types) contribue à l’interopérabilité des produits LonWorks de différents fabricants.
Echelon tient à jour une liste croissante de plus de 100 SNVT pour presque tous les types de mesures physiques, y compris le type de variable tel que l’entier ou la virgule flottante.
Par exemple, un SNVT pour le niveau continu est défini comme SNVT_lev_contin.
Si tous les fabricants utilisent ce type de variable dans leur application lorsqu’une variable réseau pour un niveau continu est définie, tout périphérique lisant un niveau continu peut communiquer avec d’autres périphériques du réseau qui peuvent utiliser la variable comme sortie de capteur pour lancer un actionneur.
Tant qu’une variable d’entrée réseau et une variable de sortie réseau sont définies avec le même SNVT lorsque le développeur crée les applications, elles peuvent être connectées ensemble sur le réseau via un processus appelé liaison.
Exemples de SNVT
| Variable Typ | Unités |
| Température | Degrés Celsius |
| Humidité relative | Pour cent |
| État du commutateur | Booléen |
| État de l’appareil | Booléen |
| Jour de la semaine | Liste énumérée (du lundi au dimanche) |
| Temps réel | MM,JJ,AAAA |
| Temps écoulé | Seconde, millisecondes, jours ou heures |
| Compter pair | Compte |
| % de la pleine échelle | Pour cent |
| Alphanumérique | Caractères ASCII |
| Alphanumérique | Caractères kanji |
| Alphanumérique | Caractères internationaux |
| État du téléphone | Liste énumérée (décrochée, décrochée, occupée, sonnerie, etc.) |
| Énergie | Kilowattheures |
| Puissance | Watts |
| Tension | RMS CC ou CA |
| Courant | Ampères CA, RMS |
| Résistance | Ohms |
| Volume | Gallons, CCF, litres |
| Couler | Gallons ou litres/heure |
| Poids | Kilogrammes, lbs. |
| Vitesse | Miles ou Km/heure |
| Pression | Lbs./sq.in, Pascals, Pouces-Hg |
| Niveau sonore | dBrnc |
| Tension | dB microvolts |
Types de messages disponibles
Le protocole LonTalk offre un certain nombre d’options pour la livraison des messages.
- Une première option consiste à envoyer le message sans accusé de réception (UnAcked). À l’aide du service UnAcked, le message est envoyé sur le réseau sans accusé de réception requis en retour. Il peut s’agir d’une méthode appropriée pour les messages récurrents de faible importance comme, par exemple, un appareil qui signale la température extérieure toutes les cinq minutes.
ㅤ - La deuxième option de message est l’Un-AckedR. Semblable à UnAcked, ce service envoie le même message un nombre de fois fixé et programmable. Ce mécanisme est utile lorsqu’il est souhaitable d’augmenter la probabilité qu’un groupe d’appareils reçoive un message sans avoir à gérer les commentaires de chaque appareil. Exemple, dans un bâtiment qui est compatible avec LonWorks, si un incendie est détecté, les premières priorités du système de contrôle sont le déclenchement de l’alarme et des gicleurs, et tous autres contrôles liés à l’incendie. En tant que tâche secondaire, si le système doit allumer toutes les lumières du bâtiment, il n’est pas nécessaire d’obtenir un retour d’information de chaque lumière. Cela créerait un trafic énorme sur le réseau et aurait un impact sur les performances des messages de grande importance. Le service de répétition augmente la probabilité que chaque lumière reçoive le message sans surcharger le réseau.
ㅤ - Le troisième service de remise des messages est le service par défaut : avec accusé de réception et tentatives automatiques (Acked). Lorsqu’un message est envoyé en tant que service Acked, l’appareil récepteur renvoie un accusé de réception (Ack) pour indiquer que le message a été reçu correctement. Les messages Acked proviennent des nœuds de réception et non des routeurs et peuvent être envoyés à des périphériques individuellement ou à des groupes ; le protocole assure le suivi des Acks des membres du groupe. Si un accusé de réception n’est pas reçu dans un délai donné, le protocole renvoie automatiquement le message. La valeur par défaut est de trois tentatives, mais cela est programmable. Si, après les tentatives, un accusé de réception n’a pas été reçu, un indicateur est défini pour indiquer l’échec de la remise du message. l’application peut alors décider de la manière de réagir à cette défaillance.
ㅤ - Un quatrième service de remise de messages est le Request/Response. Il s’agit d’un message d’application à application avec une réponse renvoyant des données. Cette méthode est utilisée pour interroger un périphérique à la recherche de données.
Un point intéressant de ces services de messagerie est qu’ils ne sont pas codés dans le cadre de votre application, mais stockés séparément dans l’image réseau. Cela signifie qu’au moment de l’installation, vous pouvez déterminer quel mode de livraison est le plus approprié. Plus tard, il est possible de revenir et modifier le mode de livraison sans modifier le code de l’application.
La sécurité avec LonWorks
Le protocole LonTalk n’implémente pas le chiffrement des données. Il ne propose l’authentification de l’expéditeur qu’à titre de mesure de protection. Le chiffrement des données est généralement utilisé pour masquer les données, tandis que l’authentification de l’expéditeur est utilisée pour vérifier que l’expéditeur d’un message est un expéditeur autorisé.
Cette vérification est basée sur une clé de sécurité unique de 48 bits pour chaque appareil, qui doit être placée avant ou pendant l’installation. Cette clé est appelée clé d’authentification, ne peut pas être lue en dehors de la puce Neuron et ne peut pas être modifiée sans le savoir au préalable.
Chaque appareil doit connaître la clé de chaque membre du réseau. Ce dispositif doit authentifier son identité dans tous les messages, de sorte que le destinataire réponde à chaque message qui constitue un défi au format de nombre aléatoire de 64 bits.
Le destinataire de l’appel effectue une transformation d’authentification basée sur sa clé de sécurité privée et renvoie la réponse aux calculs au destinataire des messages d’origine, qui a effectué les mêmes calculs à l’aide de la clé connue de l’appareil émetteur. Si les deux résultats correspondent, le message d’origine sera traité.
La clé d’authentification n’est transmise à aucun moment. Si le trafic devait être intercepté, seul le message serait affiché, suivi du nombre aléatoire et d’une transformation. Mathématiquement, même en ayant le nombre aléatoire et la transformation, il est pratiquement impossible de trouver la clé de sécurité.
Bien qu’au niveau de la sécurité, ce mécanisme soit approprié pour l’authentification de l’expéditeur, il faut tenir compte du fait que le texte est toujours transmis en texte clair, ce qui permet d’intercepter le trafic réseau même si de nouveaux messages ne peuvent pas être insérés.
En avril 2015, un rapport sur la cryptanalyse indiquait que l’algorithme utilisé par la norme ISO/IEC 14908, sur laquelle LonTalk et de nombreux autres protocoles sont basés, n’était pas sécurisé par défaut. La solution consiste alors à utiliser le chiffrement d’authentification comme dans AES-CCM ou AES-GCM.
Les types de messages
Il existe deux types de messages de base dans le protocole LonTalk : les messages explicites et les variables réseau.
Contrairement aux services de remise de messages, les messages explicites doivent être composés à l’avance et implémentés dans le code de l’application. S’il est décidé d’apporter des modifications au nombre ou aux types de messages, le code de l’application doit être modifié et recompilé. Des deux types, les variables réseau sont les plus utilisées, les plus interopérables et les plus faciles à utiliser.
Les supports pris en charge
Le protocole LonTalk a été conçu pour fonctionner sur n’importe quel type de support. La puce Neuron fournit une interface matérielle flexible pour faciliter la connexion à une grande variété de types d’émetteurs-récepteurs. Aujourd’hui, les émetteurs-récepteurs permettent de communiquer par paire torsadée, radiofréquence, communications par courant électrique, câble coaxial, etc.
Le choix du type de support utilisé est généralement basé sur un certain nombre de critères tels que les normes de l’industrie, la bande passante, la distance, le nombre d’appareils, etc.