Analyseur de Protocole Modbus
Analyser, convertir et déboguer les communications Modbus RTU/ASCII/TCP
Veuillez entrer des données
Référence du Protocole Modbus
Modbus est le protocole de communication industriel le plus utilisé, développé par Modicon en 1979. Il permet la communication entre appareils électroniques via des lignes série (RTU) ou Ethernet (TCP/IP). Cet outil aide les ingénieurs à déboguer et analyser les communications Modbus sans matériel ou logiciel spécialisé.
Structure de Trame Modbus RTU
Modbus RTU (Remote Terminal Unit) transmet les données en format binaire via des connexions série comme RS-232 ou RS-485. Chaque trame comprend une adresse esclave, un code fonction, des données et une somme de contrôle CRC 16 bits pour la détection d'erreurs. Le format binaire compact rend RTU efficace pour les environnements à bande passante limitée.
1 byte
1 byte
N bytes
2 bytes
Modbus RTU Frame Structure
Structure de Trame Modbus TCP
Modbus TCP encapsule les trames RTU dans des paquets TCP/IP, utilisant un en-tête MBAP (Modbus Application Protocol) de 7 octets. Cet en-tête contient un ID de transaction pour le matching requête-réponse, un identifiant de protocole (toujours 0 pour Modbus), la longueur du message et l'ID d'unité. La communication TCP utilise le port 502 par défaut.
2 bytes
2 bytes
2 bytes
1 byte
1 byte
N bytes
Modbus TCP Frame Structure (MBAP Header + PDU)
Codes Fonction Courants
Les codes fonction définissent le type d'opération dans une requête Modbus. Les opérations de lecture (01-04) récupèrent les états des bobines ou les valeurs des registres, tandis que les opérations d'écriture (05, 06, 0F, 10) modifient les données de l'appareil. Chaque code fonction a des exigences de format de données spécifiques.
| Code | Fonction | Type |
|---|---|---|
| 0x01 | Lire les bobines | Lecture |
| 0x02 | Lire les entrées discrètes | Lecture |
| 0x03 | Lire les registres de maintien | Lecture |
| 0x04 | Lire les registres d'entrée | Lecture |
| 0x05 | Écrire une bobine unique | Écriture |
| 0x06 | Écrire un registre unique | Écriture |
| 0x0F | Écrire plusieurs bobines | Écriture |
| 0x10 | Écrire plusieurs registres | Écriture |
Ordre des Octets dans Modbus
Différents fabricants de PLC utilisent des ordres d'octets variés pour les valeurs 32 bits et 64 bits. Les quatre arrangements courants sont : Big Endian (ABCD) - ordre réseau standard ; Little Endian (DCBA) ; Mid-Big Endian (BADC) ; et Mid-Little Endian (CDAB). En cas de valeurs incorrectes, essayez différents ordres d'octets pour trouver l'interprétation correcte.
Algorithme CRC-16/Modbus
Modbus RTU utilise CRC-16 avec le polynôme 0x8005 et la valeur initiale 0xFFFF pour la détection d'erreurs. Le CRC est calculé sur l'adresse esclave, le code fonction et les octets de données, puis ajouté avec l'octet faible en premier. Une trame avec un CRC incorrect doit être rejetée par le récepteur.
Applications Pratiques
- Dépanner les erreurs de communication entre PLC et systèmes SCADA en analysant les données brutes des paquets
- Vérifier les valeurs des registres pendant la mise en service en convertissant les données hex en unités d'ingénierie
- Générer des commandes de test pour la validation des appareils sans logiciel maître Modbus dédié
- Déboguer les problèmes d'ordre d'octets lors de l'intégration d'appareils de différents fabricants
Outils Connexes
Calculateur de CRC
Calculer les checksums CRC-8, CRC-16, CRC-32, CRC-64 avec support pour Modbus, CCITT et autres normes de protocole
Débogueur de port série en ligne
Outil de débogage série basé sur navigateur - aucun téléchargement requis, surveillance en temps réel via Web Serial API
Convertisseur de Base
Convertir entre les systèmes binaire, octal, décimal et hexadécimal avec support de bases personnalisées (2-36)
Convertisseur d'Encodage
Convertir du texte entre Hex, Binaire, Unicode, ASCII, Base64 et de nombreux autres formats d'encodage