Protocole Modbus : bases de RTU, ASCII et TCP
1. Qu’est-ce que Modbus et quelle est la différence avec RS-485 ?
Modbus est un protocole de messagerie de la couche application qui permet l’échange de données entre des contrôleurs et des équipements. RS-485 et RS-232 définissent des interfaces électriques. Modbus RTU et ASCII sont des modes de transmission série, tandis que Modbus TCP transporte les messages Modbus sur TCP/IP. La présence d’une interface RS-485 ne suffit donc pas à établir qu’un équipement prend en charge Modbus.
Dans un système de contrôle des fluides, Modbus peut servir à lire l’état d’un équipement ou à transmettre des paramètres de commande. Le manuel de communication du modèle exact de contrôleur précise la prise en charge du protocole, les fonctions disponibles et les registres. L’interface doit être confirmée pour chaque produit Foreach et chaque configuration.
2. Quelles sont les différences entre Modbus RTU, ASCII et TCP ?
Le connecteur ne permet pas, à lui seul, d’identifier le mode de communication. Sur une liaison série, le mode de transmission, le débit en bauds et le format des caractères doivent correspondre aux deux extrémités. En TCP, il faut vérifier la connexion réseau et les paramètres du service de l’équipement.
| Mode | Structure du message | Points à vérifier |
|---|---|---|
| Modbus RTU | Adresse de l’équipement + Code de fonction + Données + CRC | Paramètres série, adresse de l’équipement et intervalle entre trames |
| Modbus ASCII | Message codé en ASCII avec LRC et caractères de début et de fin définis | Paramètres série, codage et LRC |
| Modbus TCP | En-tête MBAP + Code de fonction + Données ; aucun CRC RTU n’est ajouté | Adresse IP, port, identifiant de transaction et identifiant d’unité (Unit Identifier) |
3. Comment fonctionnent l’adressage série et les échanges requête-réponse ?
Sur une liaison série Modbus, les adresses individuelles des serveurs (esclaves) vont de 1 à 247. L’adresse 0 est réservée à la diffusion et les adresses 248–255 sont réservées. Le client (maître) émet une requête unicast et l’équipement adressé répond. Les requêtes d’écriture diffusées ne reçoivent aucune réponse. Un champ d’adresse de 8 bits ne rend donc pas toutes les valeurs de 0 à 255 utilisables comme adresses individuelles.
Ces règles d’adressage concernent la communication série. Modbus TCP comporte un identifiant d’unité (Unit Identifier) dans l’en-tête MBAP. Lorsqu’une passerelle achemine les messages, l’interprétation de ce champ dépend de l’implémentation de l’équipement. Consultez son manuel avant d’appliquer les règles d’adressage série à une connexion TCP.
4. Comment interpréter les codes de fonction Modbus avec la table des registres ?
Le code de fonction indique la catégorie de données et l’opération de lecture ou d’écriture. Le champ de données contient les adresses, les quantités ou les valeurs correspondantes. Deux équipements prenant en charge Modbus peuvent néanmoins avoir des tables de registres différentes.
Avant la mise en service, vérifiez s’il existe un décalage entre les numéros de registre du manuel et les adresses de départ codées dans les messages. Confirmez également la taille des données, la représentation signée ou non signée, les facteurs d’échelle, les unités et l’ordre des mots pour les valeurs réparties sur plusieurs registres. Une vitesse, une position et un volume de liquide correspondent à des grandeurs différentes et ne sont pas interchangeables.
| Code de fonction (hex) | Opération |
|---|---|
| 01 | Lire les bobines |
| 02 | Lire les entrées discrètes |
| 03 | Lire les registres de maintien |
| 04 | Lire les registres d’entrée |
| 05 | Écrire une bobine |
| 06 | Écrire un registre |
| 0F | Écrire plusieurs bobines |
| 10 | Écrire plusieurs registres |
5. Comment mettre en service un équipement de contrôle des fluides avec Modbus ?
Vérifiez d’abord le câblage et l’alimentation, puis réglez les paramètres de communication selon le manuel de l’équipement. Commencez par lire un état connu. Contrôlez l’adresse de l’équipement, le code de fonction et la signification des données reçues avant d’essayer les écritures de paramètres et les commandes de mouvement autorisées.
Validez séparément la communication, l’acceptation de la commande, la fin du mouvement et le volume effectivement délivré. Un acquittement d’écriture ne signifie pas que la pompe a terminé son mouvement. Après une expiration du délai d’attente, consultez l’état de l’équipement avant de répéter une commande de dosage afin d’éviter de délivrer deux fois la dose.
Consignez les requêtes, les réponses, les codes d’exception et les circonstances des dépassements de délai. Pour rechercher un défaut, vérifiez les fins de course, la prise d’origine, l’état des vannes et la chronologie des mouvements. Le manuel de communication de l’équipement détermine les commandes, les adresses et les unités de comptage exactes.