Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Protocole Modbus ASCII expliqué : un guide complet

Olga Weis Olga Weis

Ce guide détaillé explore le protocole Modbus ASCII, son application dans la communication série, et comment tester Modbus ASCII à l'aide d'outils avancés. Découvrez les différences entre Modbus ASCII et RTU, ainsi que la comparaison entre Modbus et TCP. Découvrez les formats de données et de messages, les méthodes de vérification d'erreurs et comment convertir Modbus ASCII en protocole Modbus RTU. Idéal pour les professionnels travaillant avec des dispositifs série dans des environnements industriels, cet article fournit des connaissances essentielles pour le dépannage et l'optimisation des réseaux Modbus.


Contenu

  1. Qu'est-ce que le protocole ASCII Modbus?
  2. Comment tester la communication Modbus ASCII?
  3. Quelle est la différence entre Modbus ASCII et RTU?
  4. Modbus ASCII vs TCP
  5. Comment convertissez-vous ASCII Modbus en protocole Modbus RTU?

Qu'est-ce que le protocole ASCII Modbus?


Modbus est un protocole de communication série développé par la société Modicon en 1979. Il a été conçu à l’origine pour être utilisé avec les automates programmables de la société. Modbus est un protocole ouvert qui prend en charge les périphériques série utilisant les protocoles RS232/RS485/RS422. Sa simplicité et le fait que les fabricants peuvent l’incorporer gratuitement dans leurs produits lui ont permis de devenir la méthode la plus populaire de connexion des appareils électroniques industriels.

Deux principaux types de transmission sont utilisés lors de l’utilisation du protocole Modbus. Elles sont Modbus RTU et Modbus ASCII. Cet article est destiné à être un didacticiel avancé Modbus ASCII. Nous commencerons par un aperçu de Modbus pertinent pour les implémentations ASCII et RTU du protocole.

Modbus résout le problème de l'envoi d'informations entre appareils électroniques via des lignes série. Le protocole est implémenté dans une architecture qui suit la modèle maître/esclave. Le maître Modbus est chargé de demander des informations aux autres appareils. Il y a un maître Modbus dans un réseau Modbus standard.

Modèle Modbus maître/esclave

Le maître demande des informations aux périphériques esclaves, qui peuvent numéroter jusqu’à 247. Chaque appareil esclave est identifié par une adresse d'esclave comprise entre 1 et 247. Le processus par lequel le maître interroge l'esclave et reçoit les informations renvoyées par l'esclave correspond à ce que l'on entend par Communication Modbus. En plus de demander des informations à l’esclave, le dispositif maître peut également écrire dans les registres internes de ce dernier.

Les données série sont échangées entre les périphériques dans des trains de bits où chaque bit est une tension. Les données binaires sont échangées avec un 1 désigné par une tension négative et un zéro par une tension positive.

Le protocole Modbus définit les codes de fonction et le schéma de codage pour le transfert de données sous forme de points uniques (1 bit, bobines) ou de registres de données 16 bits. Les paquets de données sont encapsulés selon le procédé de transmission utilisé. Le protocole Modbus utilise quatre tables distinctes pour stocker des données dans les équipements esclaves. Il y a deux bobines qui stockent des valeurs discrètes activées ou désactivées et deux registres qui stockent des valeurs numériques. Dans le cas de Modbus ASCII, les messages sont transmis à l'aide du jeu de caractères ASCII, ce qui les rend plus lisibles par des yeux humains.

Comment tester la communication
Modbus ASCII?


Si vous travaillez avec des périphériques série et le protocole Modbus, il y a de fortes chances que vous deviez, à un moment donné, avoir besoin de déboguer ou de surveiller votre transmission de données série. Modbus Analyzer est une application logicielle dédiée développée par Electronic Team, Inc. qui peut être utilisée pour analyser et diagnostiquer la transmission de données transitant par les interfaces série de votre système.

Modbus Protocol Analyzer

Modbus Analyzer est un utilitaire système professionnel et puissant permettant d'afficher, de consigner et d'analyser les communications Modbus.
Serial Port Monitor logo

Serial Port Monitor

Enregistrez et analysez l'activité des ports série
4.8 Classement basé sur 345+ utilisateurs, Revue(345)
Télécharger 14-jours d’essai entièrement fonctionnel
Serial Port Monitor

Afin de mieux comprendre comment un outil de test Modbus ASCII tel que Analyseur de protocole Modbus Pour vous aider, examinons les formats de données et de messages ASCII Modbus.

Format de données Modbus ASCII


Modbus ASCII utilise le jeu de caractères ASCII pour représenter les caractères hexadécimaux contenant chacun 4 bits de données. Il y a 10 bits dans chaque octet en mode Modbus ASCII. Ils consistent en:

  • 1 bit de départ
  • 7 bits de données avec le bit le moins significatif envoyé en premier
  • 1 bit pour la parité
  • 1 bit d'arrêt

Format de message Modbus ASCII


Le format des messages Modbus ASCII comprend un caractère de début qui est un deux-points «:» et la fin du message est définie par un retour à la ligne et un saut de ligne. Cela permet de faire varier l’espace entre les messages et d’adapter Modbus ASCII à la transmission via certains modems.

Le logiciel Modbus Sniffer peut s'avérer extrêmement utile pour le débogage, la surveillance et le diagnostic de problèmes sur un réseau Modbus. Il peut être utilisé dans les implémentations Modbus RTU et ASCII.

Utiliser cet outil vous permet de:

  • Analyser l'activité du port série - Vous pouvez ouvrir n'importe quel port série de votre système même s'il est déjà utilisé par une autre application. Utilisez la collecte de données en temps réel pour diagnostiquer rapidement les problèmes de toutes les activités des ports série.
  • Surveillez plusieurs ports série en même temps - Un fichier journal central stockera toutes vos données surveillées selon la méthode du premier entré premier sorti pour une analyse plus facile.
  • Affichez vos données dans quatre formats différents. Utilisez ces différentes vues séparément ou en combinaison pour mieux comprendre vos données. Les modes table, ligne, vidage et terminal vous permettent d'afficher vos données de la manière qui vous convient.
  • Emulation de la transmission de données - Vous pouvez émuler la transmission de données vers des périphériques série dans différents formats tels que chaîne, binaire, décimal et hexadécimal.
  • Exportez vos données surveillées - Vous pouvez exporter vos données vers des fichiers au format HTML, texte ASCII, texte UNICODE ou Exсel CSV. De nouvelles données peuvent être ajoutées aux fichiers précédemment sauvegardés.

Tout compte fait, l'analyseur de protocole Modbus est un outil essentiel pour ceux qui travaillent avec des périphériques série et le protocole Modbus.

Quelle est la différence entre Modbus
ASCII et RTU?


Modbus ASCII et RTU ont été introduits dans la spécification du protocole Modbus d'origine. Les deux variantes utilisent la même architecture maître/esclave et sont très similaires. Ils sont tous deux conçus pour fonctionner avec des périphériques série, mais ne sont pas compatibles les uns avec les autres en raison des différences que nous verrons plus loin.

Le principal facteur de différenciation est-ce Modbus RTU emploie un codage binaire où Modbus ASCII, bien nommé, utilise le jeu de caractères ASCII. Modbus RTU effectue une vérification des erreurs à l'aide de la méthode CRC stricte, tandis que Modbus ASCII utilise la méthode de vérification des erreurs LRC moins efficace. Le format des données est également légèrement différent, car la variante RTU utilise un bit de début, 8 bits de données et un bit d’arrêt, contrairement au format de données ASCII que nous avons examiné précédemment.

La combinaison du codage binaire et de la vérification des erreurs CRC rend Modbus RTU adapté aux applications industrielles, car il se prête à une transmission plus efficace que la variante des caractères ASCII. Lors du choix entre Modbus RTU et ASCII, RTU est le premier choix si la performance est prise en compte.

Modbus ASCII vs TCP


Il y a une autre variante de Modbus à considérer: Modbus TCP. Il s’agit simplement d’une implémentation de Modbus exécutée sur un réseau TCP/IP. La principale différence entre Modbus ASCII et Modbus TCP réside dans le fait que la vérification des erreurs LRC requise par Modbus ASCII est effectuée par la couche IP.

Comment convertissez-vous ASCII Modbus en protocole Modbus RTU?


Comme nous l'avons mentionné précédemment, les protocoles Modbus ASCII et Modbus RTU ne sont pas compatibles. Les appareils utilisant les deux protocoles ne peuvent pas communiquer directement l'un avec l'autre. Mais il existe des moyens de faire dialoguer les appareils.

Protocole Modbus RTU

Pour ce faire, vous devrez utiliser une solution matérielle appelée convertisseur Modbus ASCII en RTU. Ce type de périphérique est essentiellement un traducteur qui lit les données d'un périphérique, puis les stocke en interne dans un autre protocole pour pouvoir être utilisées par le second périphérique. De cette manière, les appareils utilisant n'importe quelle variante Modbus peuvent communiquer entre eux.

Serial Port Monitor

Configuration requise: Windows (32 bits et 64 bits) : Vista/7/8/10/11, Windows Server 2008/2012/2016/2019/2022, Windows sur ARM , 9.87MB taille
Dernière version 9.5.589 (le 16 Nov, 2023) Notes de mise à jour
Catégorie: Communication Application