Des outils efficaces pour tester et déboguer les appareils et les réseaux basés sur Modbus


Modbus est un protocole de communication couramment utilisé dans les systèmes d'automatisation industrielle, les systèmes de maison intelligente, les réseaux automatisés de petits objets (entrepôts, serres, etc.). Le protocole sert également à connecter des équipements de différents types à un ordinateur personnel. Le développement de projets tels que Arduino et Raspberry Pi a considérablement augmenté l'intérêt pour les tâches liées à la robotique et à l'automatisation. Tout cela assure la croissance de la popularité de Modbus parmi les amateurs et les professionnels.

Dans cet article, nous aborderons les principales fonctionnalités des solutions logicielles et matérielles existantes pour tester et déboguer des périphériques et des réseaux basés sur le protocole Modbus.

Si vous connaissez l'architecture du protocole, vous pouvez aller directement au description du logiciel Modbus. Sinon, vous trouverez ci-dessous une brève introduction à Modbus.

Contenu


  1. À propos du protocole Modbus
  2. Développer et tester les périphériques Modbus
  3. Débogage de systèmes d'automatisation basés sur des périphériques Modbus

À propos du protocole Modbus


Modbus est un protocole commun utilisé dans les systèmes d'automatisation aux niveaux intermédiaire et inférieur (terrain). Le niveau intermédiaire est le niveau des contrôleurs - des dispositifs qui collectent des données et contrôlent le processus technologique. Le niveau de champ correspond au niveau d'interaction entre les capteurs et les contrôleurs ou les capteurs et le serveur. Plus de détails sur les niveaux dans les systèmes d'automatisation peuvent être trouvés ici.

La structure typique d'un système d'automatisation qui utilise Modbus comme protocole de base est illustrée ci-dessous.

Protocole Modbus

L'environnement standard pour le protocole Modbus est RS-485/422/232. Modbus RTU ou Modbus ASCII fonctionnent dessus. Dans Réseaux TCP/IP, cependant, le protocole de niveau supérieur est le protocole de transport TCP et cette variante est appelée Modbus TCP. Dans cet article, nous parlerons du mode de transmission Modbus RTU.

Le protocole Modbus est implémenté en utilisant une relation maître-esclave. Cela signifie que la communication est toujours initiée par un périphérique, le maître, qui envoie une requête à un esclave (serveur) et attend une réponse. Il y a toujours un maître sur le réseau et de 1 à 247 esclaves. (Plus d'informations sur les périphériques Modbus peuvent être trouvées sur le site officiel de Modbus).

Le maître interagit avec les dispositifs esclaves dans le format de demande-réponse. La requête contient une séquence d'octets, appelée trame, dans laquelle le temps entre octets est standardisé en fonction du débit de transfert de données et n'est pas supérieur à l'intervalle pendant lequel 1,5 octet de données peut être transmis. En mode RTU, les messages commencent par un intervalle silencieux d'au moins 3,5 caractères.

Un message de requête est envoyé au format suivant:

Un message de requête

ID - adresse de l'appareil (1 octet),
FN - Fonction Modbus (1 octet),
[args] - arguments de fonction (N octets, selon la fonction),
CRC - une somme de contrôle CRC-16 (2 octets).

Le format d'un message de réponse:

Un message de réponse

Comme vous pouvez le voir, les trames de réponse et de requête ont des constructions similaires, à l'exception du champ de données, qui fournit un contenu différent en fonction de la fonction exécutée.

Dans le cas où la fonction demandée n'est pas supportée par le périphérique esclave ou si les arguments du champ [args] de la requête sont incorrects pour ce serveur, dans le champ FN de la réponse, le bit haut sera mis à 1 et le champ Data contenir des informations supplémentaires sur l'erreur survenue.

En outre, des dispositifs esclaves particuliers peuvent avoir des registres spécifiques avec des informations supplémentaires.

Les types de registres référencés dans les périphériques Modbus sont les suivants:

Champ Accès Taille La description
Entrées discrètes
seule lecture
1 bit
utilisé comme intrants
Sorties de bobines
lecture écriture
1 bit
utilisé pour contrôler discret
Registres d'entrée
seule lecture
16 bit
utilisé pour l'entrée
Tenir des registres
lecture écriture
16 bits
utilisé pour une variété de choses, y compris les entrées, les sorties, les données de configuration, etc.

La description complète du protocole Modbus RTU est fournie dans spécification fonctionnelle.

Lors de la configuration d'un réseau Modbus, il convient de noter que le protocole permet la transmission de données à partir de plusieurs périphériques devant être reçus par un seul serveur ou contrôleur sur lequel un pilote Modbus est installé. Une application série peut contrôler le port de communication d’un serveur (ex. COM1) lorsqu’il reçoit des données Modbus de plusieurs capteurs.

Malheureusement, il y a une limitation, car l'ouverture du port de réception dans plusieurs applications simultanément peut poser un défi important.

Il y a une solution à ce dilemme. Virtual COM Port Driver PRO par Eltima permet la création de ports RS485 virtuels et le fractionnement des données Modbus afin que plusieurs ports puissent recevoir les données en même temps.

Vous pouvez maintenant dupliquer le flux de données entrant dans un port physique vers plusieurs ports virtuels. En connectant plusieurs applications à des copies virtuelles de votre port COM1, toutes les applications peuvent obtenir un accès partagé à votre port physique.

Développer et tester les périphériques Modbus


Lors du développement et du débogage des périphériques Modbus RTU, les experts utilisent des outils logiciels et matériels spécialisés. Comme pour les périphériques matériels, la solution la plus simple sera le convertisseur RS-485 / USB. De tous les appareils de ce type, la solution la plus efficace est sans doute MOXA UPORT 1130 / UPORT 1150. L'appareil est conçu pour être facile à utiliser et nécessite un minimum de compétences pour être assemblé. Il existe également des solutions plus complexes comme Ethernet / RS-485 (par exemple, NPORT de MOXA).

En pratique, quand il s'agit de développer des appareils Modbus RTU, la fonction esclave est mise en œuvre plus souvent. Les dispositifs esclaves comprennent divers capteurs, relais contrôlés, modules d'E / S, etc. Les équipements maîtres sont créés moins souvent. Dans les réseaux d'automatisation, la fonction maître est généralement exécutée soit par un automate disposant déjà d'une pile Modbus, soit par un système OPC Server / SCADA équipé d'un pilote Modbus.

Nous ne considérerons pas le développement de la pile Modbus dans cet article. La seule chose qui mérite d'être mentionnée est la bibliothèque FreeMODBUS, sur la base de laquelle il est assez facile de construire un appareil supportant les fonctions d'esclave Modbus.

Logiciel efficace pour les tests Modbus


Les tests peuvent être effectués sur différents niveaux de développement d'un appareil Modbus. le Logiciel de test Modbus et les solutions matérielles diffèrent selon le stade de développement et le but des tests.

Le terminal Modbus est l'un des outils les plus pratiques utilisés dans les premières étapes du test de l'appareil. Cette solution permet de créer manuellement une demande, de l'envoyer et d'analyser la réponse.

Pendant le processus de développement, une situation peut survenir lorsqu'un périphérique reçoit une demande et y répond (ceci peut être indiqué par les voyants de réception / transmission de paquets, si ces éléments sont fournis dans la conception ou détecté à l'aide d'un débogueur et un point d'arrêt) mais les données ne sont pas affichées dans le terminal ou dans un autre programme spécialisé. Dans ce cas, vous aurez besoin d'un renifleur de port série dédié.

Serial Port Monitor est l'un des meilleurs logiciels de surveillance Modbus disponible aujourd'hui. Cette solution Modbus peut facilement lire et enregistrer toutes les données série passant par les ports COM du système. La fonctionnalité avancée de l'application permet de capturer des données en temps réel afin qu'un développeur puisse résoudre tous les problèmes une fois qu'ils ont été détectés.

Serial Port Monitor est capable de fonctionner dans le mode terminal qui émule le transfert de données d'un port COM surveillé vers un périphérique inséré dans celui-ci. Cette option est particulièrement pratique pour le test de communication Modbus, car elle permet d'observer la réaction d'un périphérique particulier à une commande et à des données spécifiques.

Serial Port Monitor

Serial Port Monitor est un logiciel professionnel permettant de tester et de déboguer des périphériques et des réseaux basés sur 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

Le logiciel dédié est pratique lorsqu'il est nécessaire non seulement de vérifier si un appareil fonctionne (c'est-à-dire de répondre correctement aux demandes), mais aussi de mesurer le temps moyen avant l'échec.

La solution de testeur Modbus permet de consigner les flux de données entrants et sortants. En outre, toutes les données collectées peuvent être affichées dans différentes vues (table, ligne, image, terminal), ce qui facilite la comparaison et l'analyse.

Débogage de systèmes d'automatisation basés sur des périphériques Modbus


Il y a beaucoup plus de spécialistes qui déboguent les systèmes d'automatisation et les dispositifs supportant le protocole Modbus que ceux qui développent ces dispositifs. Donc, en fonction des spécificités des tâches, les exigences pour Logiciel Modbus RTU sera légèrement différent.

S'il est nécessaire de connecter un contrôleur à un seul périphérique esclave, vous pouvez établir une communication série à l'aide du convertisseur RS-485 / USB, d'un PC et d'un logiciel ou terminal spécialisé. Dans ce cas, il n'est pas nécessaire d'effectuer de longs tests suivis de l'analyse de nombreux fichiers journaux. Ainsi, la logique de l'opération et l'ensemble des outils ne seront pas différents de ceux utilisés lors de la phase de test du développement de l'esclave.

Dans le cas où vous avez déjà un réseau de périphériques prêt, les tâches suivantes peuvent être distinguées:

  • vérifier l'opérabilité de tous les dispositifs sur le réseau (c'est-à-dire la communication avec chaque dispositif séparé et la vérification de l'exactitude de sa réponse);
  • test de charge (identification de la capacité de fonctionnement maximale de l'appareil). Il est recommandé de faire plusieurs sessions et d'analyser les données collectées pour les échecs, les non-réponses, la corruption de données, etc.

Pour accomplir ces tâches, vous aurez besoin d'un terminal avec la possibilité de créer une liste de requêtes ou d'un outil spécialisé tel que Modbus Poll, un simulateur maître Modbus qui permet de surveiller plusieurs esclaves Modbus et / ou zones de données en même temps.

Défis de communication Modbus


Certains périphériques Modbus peuvent avoir des paramètres d'interface RS-485 particuliers (nombre de bits de données, parité, nombre de bits d'arrêt). Les périphériques avec des paramètres différents ne peuvent pas fonctionner dans le même réseau avec le même maître. L'outil le plus pratique pour tester et configurer ces périphériques est un programme terminal qui prend en charge le basculement rapide entre les paramètres de port préinstallés ou fonctionne avec plusieurs lignes simultanément.

Un autre défi consiste à fournir un échange de données avec un appareil fonctionnant sur un protocole différent de la spécification standard de Modbus RTU. Par exemple, le protocole de l'esclave peut être logiquement similaire à Modbus (structure du paquet, timeout, etc.) mais utiliser certaines fonctions au-delà de la norme.

Dans ce cas, il est conseillé d'utiliser soit Modbus Poll, qui permet de formuler des requêtes arbitraires, soit un terminal prenant en charge des fonctionnalités similaires.

Le système SCADA standard n'est pas efficace pour travailler avec de tels dispositifs et la communication avec l'équipement est établie sur un serveur OPC spécial.

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: Communication Application
Olga Weis 20 février à 15h53
Olga Weis 22 février à 16h16
Olga Weis 11 octobre à 16h48