Le protocole Modbus est apparu à la fin des années 1970 et reste pertinent pour l'interaction M2M (machine à machine). C'est un protocole réseau très utilisé dans l'industrie pour surveiller et intégrer des équipements. Modbus est un standard de fait, pris en charge par presque tous les fabricants d'équipements industriels. Avec Modbus, vous lisez des valeurs de capteurs et pilotez des automates. À l'origine, Modbus s'appuyait sur les interfaces RS-232 et RS-485. Une variante, Modbus TCP, utilise ensuite Ethernet pour les échanges. Par défaut, ce protocole utilise le port TCP 502.
Les équipements Modbus interagissent selon le principe maître-esclave. Le maître établit la connexion et envoie les requêtes ; l'esclave ne fait qu'y répondre. Le concepteur de Modbus a ensuite remplacé cette terminologie par le couple plus courant client-serveur. Le client (maître) envoie des requêtes à l'équipement serveur interrogé (esclave) et reçoit les réponses.
Chaque équipement Modbus est identifié par une adresse unique (Slave ID), choisie entre 1 et 247. L'adresse 0 sert aux requêtes de diffusion d'un client vers tous les serveurs ; les adresses 248 à 255 sont réservées. En Modbus TCP, l'adresse IP de l'équipement sert d'identifiant. Une adresse standard peut toutefois être nécessaire si la connexion passe par un routeur vers un réseau RS-485.
Une requête Modbus comporte un code de fonction et les données à lire ou à écrire. Chaque fonction ne porte que sur un type de données. Il existe des fonctions en lecture seule et en écriture seule.
Fonctions de lecture des registres Modbus TCP
Code de fonction |
Rôle de la fonction |
Type de valeur |
Type d'accès |
|---|---|---|---|
01 (0x01) |
Lecture de l'état des bobines |
Discret |
Lecture |
02 (0x02) |
Lecture de l'état des entrées |
Discret |
Lecture |
03 (0x03) |
Lecture des registres de maintien |
16 bits |
Lecture |
04 (0x04) |
Lecture des registres d'entrée |
16 bits |
Lecture |
Les registres sont adressés sur 16 bits. Le premier élément de chaque groupe correspond à l'adresse 0. L'adresse (l'index) d'un registre va donc de 0 à 65535. Les registres stockent des variables internes, des compteurs, des mesures de capteurs et des indicateurs. Les adresses des registres utiles figurent dans la documentation de l'équipement, en général dans la section « Modbus Mapping Table ».
Pour lire et surveiller les paramètres d'équipements Modbus, vous pouvez utiliser un programme qui prend en charge ce protocole. 10-Strike Network Monitor Pro se connecte aux équipements via Modbus TCP et en lit les paramètres nécessaires. Pour lire un registre, indiquez :
- Adresse IP de l'équipement
- Port (502 par défaut)
- Slave ID
- Index du registre
- Code de fonction
Si le serveur de surveillance n'est pas sur le réseau de l'équipement, vous pouvez y accéder depuis un autre réseau via un agent (service relais).
Le programme peut être installé sur un serveur du réseau n° 1 et se connecter en Modbus TCP à un équipement du réseau n° 2, relié au réseau n° 1. Installez pour cela l'agent distant sur un PC du réseau n° 2, à côté de l'équipement Modbus. Le programme envoie alors la requête à l'agent, à l'adresse IP indiquée, et l'agent la transmet à l'équipement Modbus.
Lorsque la valeur sort des limites indiquées, le programme vous prévient de plusieurs façons. Le seuil d'alarme se configure dans les paramètres du contrôle.
Vous pouvez afficher les valeurs sur des indicateurs graphiques ou sur un schéma, un diagramme ou une carte de type SCADA.
Limites du protocole Modbus
Le protocole a été conçu il y a plus de 40 ans, alors que la protection des données était moins préoccupante. Il a plusieurs limites, qui ne tiennent pas seulement à la sécurité :
- Pas d'authentification ni de chiffrement des données transmises. Pour les protéger, utilisez des tunnels VPN.
- Seul le maître peut initier un transfert. Il doit interroger en permanence l'esclave, ce qui génère du trafic inutile.
- L'esclave ne peut pas détecter la déconnexion du maître.
Malgré son âge et ses limites, Modbus reste simple à utiliser, ce qui accélère son déploiement industriel. L'absence de fonctions superflues est son principal atout. Modbus continue d'être développé et pris en charge par de nombreux équipements industriels, de fabricants variés. Les fournisseurs l'utilisent aussi pour des plateformes IoT dans le cloud.
Attention ! Ce contrôle n'est disponible que dans la version Pro du programme.
Voir aussi :
Configuration requise : Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022 pris en charge.

