Principe client-serveur Modbus
Présentation
Le protocole Modbus échange des informations en utilisant un mécanisme de requête-réponse entre un client et un serveur. Le principe client-serveur est un modèle de protocole de communication dans lequel un appareil (le client) contrôle un ou plusieurs autres appareils (les serveurs). Un réseau Modbus standard comprend 1 client et jusqu'à 31 serveurs.
Une description détaillée du protocole Modbus est disponible sur www.modbus.org.
Caractéristiques du principe client-serveur
Le principe client-serveur présente les caractéristiques suivantes :
-
Un seul client à la fois est connecté au réseau.
-
Seul le client peut lancer une communication et envoyer des requêtes aux serveurs.
-
Le client peut s'adresser individuellement à chaque serveur en utilisant son adresse spécifique ou simultanément à tous les serveurs via l'adresse 0.
-
Les serveurs peuvent uniquement envoyer des réponses au client.
-
Les serveurs ne peuvent pas initier une communication, ni vers le client, ni vers les autres serveurs.
Modes de communication client-serveur
Le protocole Modbus peut échanger des informations en utilisant 2 modes de communication :
-
mode de monodiffusion
-
mode de diffusion générale
Mode de monodiffusion
Mode de diffusion générale
Temps de réponse
Valeurs avec le protocole Modbus :
-
Valeur type < 10 ms dans 90 % des échanges
-
Pour les messages normaux, la valeur maximale de Tr est d'environ 700 ms. Il est donc recommandé d'implémenter une temporisation de 1 seconde après l'envoi d'une requête Modbus.
Échange de données
Le protocole Modbus utilise 2 types de données :
-
Bit unique
-
Registre (16 bits)
Chaque registre possède un numéro de registre. Chaque type de données (bit ou registre) possède une adresse de 16 bits.
Les messages échangés avec le protocole Modbus contiennent l'adresse des données à traiter.
Registres et adresses
L'adresse du registre numéro n est n-1. Les tableaux détaillés figurant dans les chapitres suivants de ce document indiquent à la fois les numéros de registres (au format décimal) et les adresses correspondantes (au format hexadécimal). Par exemple, l'adresse du registre numéro 12000 est 0x2EDF (11999).
Trames
Toutes les trames échangées avec le protocole Modbus RTU ont une taille maximale de 256 octets et se composent de 4 champs :
Champ |
Définition |
Taille |
Description |
---|---|---|---|
1 |
numéro de serveur |
1 octet |
Destination de la requête
|
2 |
Codes de fonction |
1 octet seulement |
Voir Fonctions de Modbus |
3 |
Données |
n registres |
Données de requête ou de réponse |
4 |
Contrôle |
2 octets |
CRC16 (pour vérifier les erreurs de transmission) |
Réglages par défaut
Les réglages par défaut de la communication Modbus sont les suivants :
Élément |
Réglage |
---|---|
Vitesse en bauds |
19200 bits/s |
Données |
8 bits |
Parité |
Paire |
Arrêt |
2 bits |
Adresse |
1 |