Principe client/serveur Modbus
Présentation
Le protocole Modbus échange des données en utilisant un mécanisme de requête/réponse entre un client et un serveur. Le principe client/serveur est un type de protocole de communication où un équipement (le client) contrôle un ou plusieurs équipements (les serveurs). Un réseau Modbus standard comprend un client et jusqu'à 31 serveurs.
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 dédiée ou à tous les serveurs simultanément en utilisant l'adresse 0.
-
Les serveurs peuvent uniquement envoyer des réponses au client.
-
Les serveurs ne peuvent pas lancer de communication avec le client ou les autres serveurs.
Modes de communication client/serveur
Le protocole Modbus peut échanger des données en utilisant deux modes de communication :
-
Mode requête-réponse
-
Mode de diffusion générale
Chaque I/O Smart Link a une adresse Modbus (1 à 99) et concentre les données provenant des appareils connectés sur ses 11 voies (interface Ti24).
Les états et les ordres concernant chaque appareil connecté à I/O Smart Link sont accessibles dans des registres dont l'adresse dépend de la voie (1 à 11) sur laquelle l'appareil est connecté.
Mode requête-réponse
En mode requête/réponse, le client s'adresse à 1 serveur en utilisant l'adresse dédiée de ce dernier. Le serveur traite la requête, puis répond au client.
Mode de diffusion générale
En mode de diffusion générale, le client s'adresse à tous les serveurs en utilisant l'adresse 0. Les serveurs ne répondent pas aux messages de diffusion générale.
Temps de retour
Echange de données
Le protocole Modbus utilise deux types de données :
-
Bits
-
Mots de 16 bits appelés registres
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.
Trames
Toutes les trames échangées avec le protocole Modbus ont une taille maximale de 256 octets et se composent de quatre champs :
Champ |
Définition |
Taille |
Description |
---|---|---|---|
1 |
Numéro du serveur |
1 octet |
Destination de la requête
|
2 |
Code de fonction |
1 octet |
|
3 |
|
n octets |
|
4 |
Contrôle |
2 octets |
CRC16 (pour vérifier les erreurs de transmission) |
Format des données
Le format des données est paramétré comme dans le tableau suivant, en fonction du format Modbus RTU :
Démarrage |
Données |
Parité |
Arrêt |
---|---|---|---|
1 bit |
8 bits |
1 bit |
1 bit |
Une parité paire est requise, mais d'autres modes (parité impaire, sans parité) peuvent également être utilisés.
Si aucune parité n'est appliquée au niveau du client Modbus, un bit d'arrêt supplémentaire doit être transmis par le client Modbus pour remplir la trame jusqu'à un caractère asynchrone de 11 bits.