Modbus

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

MODBUS est un protocole de communication non-propriétaire, créé en 1979 par Modicon, utilisé pour des réseaux d'automates programmables, relevant du niveau applicatif, c'est-à-dire du niveau 7 du Modèle OSI. Ce protocole basé sur une structure hiérarchisée entre un client unique et plusieurs serveurs est dans le domaine public et sa spécification est publique.

Généralités[modifier | modifier le code]

En mode RTU : (RS232, RS422, RS485)

Il fonctionne sur le mode maître-esclave. Seul le maître est actif, les esclaves sont complètement passifs.

C'est le maître qui doit lire et écrire dans chaque esclave.

Il est constitué de trames contenant le numéro de l'esclave concerné, la fonction à traiter (écriture, lecture), la donnée et le code de vérification d'erreur appelé contrôle de redondance cyclique sur 16 bits ou CRC16.

En mode TCP : (Ethernet)

Il fonctionne sur le mode client-serveur. Seul le client est actif, les serveurs sont complètement passifs.

C'est le client qui doit lire et écrire dans chaque serveur.

Il est constitué de trames contenant la fonction à traiter (écriture, lecture) et la donnée.

L'adresse du serveur concerné est son adresse IP.

Le code de vérification d'erreur est inutile en mode TCP, ce mode de transmission comporte déjà un CRC32 géré par la carte réseau.

...

Ce protocole a rencontré beaucoup de succès depuis sa création du fait de sa simplicité et de sa bonne fiabilité. Un regain d'intérêt lui confère un certain avenir depuis son encapsulation dans les trames Ethernet grâce à MODBUS over TCP/IP.

Les trames sont de 2 types :

  • mode RTU (Remote Terminal Unit) : les données sont sur 8 bits
  • mode ASCII : les données sont sur 7 bits. La valeur de chaque octet est représentée par 2 caractères hexadécimaux (de "0" à "9" ou de "A" à "F").

Ce dernier mode est quasiment tombé en désuétude.

Couche physique[modifier | modifier le code]

Le protocole MODBUS peut être implémenté :

  • sur une liaison série asynchrone de type RS-232, RS-422 ou RS-485 ou TTY (boucle de courant), avec des débits et sur des distances variables ; on parle alors de MODBUS over Serial Line;
  • via TCP/IP sur Ethernet ; on parle alors de MODBUS over TCP/IP ; le port logiciel 502 est destiné à ce protocole
  • via ModBus Plus. ModBus Plus est un réseau à passage de jetons à 1 Mb/s, pouvant transporter les trames Modbus et d'autres services propre à ce réseau.

Une liaison multipoints de type RS-485 relie client et serveurs via une paire différentielle qui permet un débit élevé (jusqu'à 10 méga-bits par seconde) sur une distance importante (jusqu'à 1 200 m). Elle ne dispose que de 2 bornes qui alternativement passent les données dans un sens puis dans l'autre.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Bibliothèques[modifier | modifier le code]

Liens externes[modifier | modifier le code]