Didacticiel avancé Modbus ASCII


Contenu

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

Qu'est-ce que le protocole Modbus ASCII?


Modbus est un protocole de communication série développé par la société Modicon en 1979. Il a été initialement conçu 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.

Il existe deux principaux types de transmission utilisés avec le protocole Modbus. Elles sont Modbus RTU et Modbus ASCII. Cet article est destiné à être un didacticiel avancé Modbus ASCII. Nous allons commencer par un aperçu de Modbus pertinent pour les implémentations du protocole ASCII et RTU.

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 existe un maître Modbus dans un réseau Modbus standard.

Modbus ASCII protocol

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 permettant de transférer des 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.

Qu'est-ce que le protocole Modbus ASCII?


Comment tester la communication ASCII Modbus avec l'analyseur de protocole Modbus?

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. Analyseur Modbus est une application logicielle dédiée développée par Eltima Software qui peut être utilisée pour analyser et diagnostiquer la transmission de données transitant par les interfaces série de votre système.

Analyseur de protocole Modbus

Modbus Analyzer est un utilitaire système puissant et professionnel pour afficher, consigner et 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 41+ utilisateurs, Revue(75)
Télécharger 14-jours d’essai entièrement fonctionnel
Serial Port Monitor

Afin de mieux comprendre comment un outil de test Modbus ASCII comme 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 consiste en un caractère de début qui est un deux-points «:» et la fin du message est définie par un retour chariot 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 être extrêmement utile dans débogage, surveillance et diagnostic des problèmes d'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 de 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, seules 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 enregistré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 de 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 de 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 convertir un protocole 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

Exigences: Windows XP/2003/2008/Vista/7/8/10/Server 2012 , 9.16MB taille
Version 7.0.342 (le 13 Jan, 2018) Notes de mise à jour
Catégorie: CommunicationApplication