Modbus
Modbus est un protocole de communication non-propriétaire, créé en 1979 par Modicon (absorbée en 1996 par Schneider Electric), 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
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 de la boucle sérielle.
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, wifi)
Il fonctionne sur le mode client-serveur. Seuls les clients sont actifs, le serveur est complètement passif.
Ce sont les clients qui doivent lire et écrire dans le serveur Modbus.
Chaque client doit se connecter au serveur en protocole TCP (adresse IP du serveur, port 502).
Le serveur est identifié par :
- son adresse IP
- le numéro du port sur lequel il attend les demandes de connexion (port 502 par défaut).
Il est constitué de trames contenant la fonction à traiter (écriture, lecture) et la donnée.
Ce protocole a rencontré beaucoup de succès depuis sa création[réf. souhaitée] 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.
Couche physique
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.