Il peut être difficile de configurer un appareil RS485. La compatibilité entre les protocoles Modbus et RS-485 est souvent problématique. Vous risquez de vous lancer dans une longue session de débogage, car ces deux protocoles fonctionnent à des couches différentes de la pile de communication.
Le protocole RS485 est une norme électrique fonctionnant au niveau de la couche physique de la pile. Il définit des éléments tels que la longueur du câble, les niveaux de tension acceptables et le nombre d’appareils pouvant partager un seul bus.
Le protocole Modbus fonctionne au niveau de la couche applicative et se concentre sur la manière dont les messages sont structurés, adressés et interprétés par le récepteur. Vous devez savoir quelle couche est à l’origine d’un problème pour le résoudre efficacement.
Différences entre Modbus et RS485
Le tableau suivant compare les paramètres les plus importants de ces deux protocoles cruciaux qui affectent leur compatibilité.
| RS485 | Modbus | |
| Couche | Physique (couche OSI 1) | Application (couche OSI 7) |
| Défini par | EIA/TIA-485 | Modicon en 1979 ; désormais ouvert |
| Type | Norme électrique | Protocole de communication |
| Topologie | Bus multidrop prenant en charge jusqu’à 32 nœuds sans répéteurs | Maître/Esclave avec 1 maître et jusqu’à 247 esclaves |
| Fonction | Définit le câblage, les niveaux de signal et d’autres caractéristiques électriques | Définit le message, le tramage des données et les codes de fonction |
| Format des données | Signaux de tension différentielle | Trames RTU (binaire) ou ASCII |
| Détection d’erreurs | Non spécifiée | CRC (RTU) ou LRC (ASCII) |
| Vitesse max. | Jusqu’à 10 Mbps sur de courtes distances | Typiquement 9 600 – 115 200 bps avec RTU/ASCII via RS485 |
| Distance max. | 1 200 m à 100 kbps | Dépend de la couche physique |
| Variantes | RS422 (point à point), RS232 (courte portée) | Modbus RTU, Modbus ASCII, Modbus TCP/IP |
Qu’est-ce que Modbus ?
Modbus est un protocole de communication de couche application développé par Modicon en 1979. Il s’agit d’un protocole ouvert et gratuit qui définit la structure des messages lorsqu’ils sont envoyés entre un dispositif maître et un ou plusieurs esclaves. Modbus fonctionne sur diverses solutions de transport, notamment RS485, RS232, RS422 ou Ethernet (TCP/IP).
Caractéristiques principales
• Architecture : Un maître communique avec jusqu’à 247 esclaves adressables, numérotés de 1 à 247, l’ID 0 étant réservé à la diffusion.
• Modèle de communication : Le maître initie toute communication en envoyant des requêtes aux esclaves, qui ne peuvent que répondre.
• Adressage : Toutes les requêtes incluent l’ID de l’esclave cible, qui est repris dans chaque réponse.
• Types de données : Bobines et entrées discrètes sur 1 bit, registres d’entrée et registres de maintien sur 16 bits.
• Détection d’erreurs : LRC en mode ASCII et CRC-16 en mode RTU.
Modèle de données
• Les bobines (1 bit, lecture/écriture) fournissent l’état de sortie discret.
• Les entrées discrètes (1 bit, lecture seule) pour l’état des entrées discrètes.
• Les registres d’entrée (16 bits, lecture seule) stockent les valeurs d’entrée mesurées.
• Les registres de maintien (16 bits, lecture/écriture) contiennent les valeurs de configuration et de sortie.
Variantes : RTU, ASCII, TCP/IP
• Modbus RTU est la norme d’utilisation avec RS485 en raison de sa rapidité et de sa taille compacte. Il dispose d’un encodage binaire et d’un contrôle d’erreurs CRC-16.
• Modbus TCP/IP est utilisé sur Ethernet et n’a pas besoin de CRC/LRC, car TCP gère l’intégrité des communications.
• Modbus ASCII utilise un encodage en caractères hexadécimaux et un contrôle d’erreurs LRC. Cette variante est généralement utilisée sur RS232 et est lisible par l’homme.
Qu’est-ce que le RS485 ?
RS485 (EIA-485) est une norme électrique fonctionnant au niveau de la couche physique qui définit comment les signaux sont transmis sur des fils. Le protocole spécifie des aspects tels que l’impédance du câble, les niveaux de tension, la longueur maximale du câble et la topologie du bus. RS485 n’a pas connaissance des protocoles de couches supérieures, des formats de messages ou du contenu des données.
Caractéristiques principales
• Signalisation : La signalisation différentielle, ou la différence de tension entre les fils A et B, est très résistante aux parasites électriques.
• Topologie : Prend en charge un bus multi-point avec jusqu’à 32 charges unitaires sur une seule paire de fils sans répéteurs.
• Distance max : Environ 1 200 m à 100 kbps, avec des portées plus courtes à des vitesses de transmission de données plus élevées.
• Débit de données max : Prend en charge jusqu’à 10 Mbps sur de courtes distances de moins de 15 m.
• Duplex : Par défaut en semi-duplex avec une paire torsadée. Le duplex intégral peut être mis en œuvre avec deux paires.
Normes associées : RS232 et RS422
• RS232 est un protocole asymétrique, point à point, avec une portée maximale d’environ 15 m. Les signaux ne sont pas compatibles avec RS485. Des adaptateurs directs sont généralement utilisés pour des implémentations RS485 vers USB ou RS-485 vers Ethernet.
• RS422 fournit une signalisation différentielle comme RS485, mais est limité à un seul pilote par ligne pour une communication point à point sans prise en charge du multidrop.
Outil pour surveiller et analyser les données Modbus
Le dépannage des problèmes de communication nécessite de comprendre la différence entre RS485 et Modbus et d’obtenir de la visibilité sur ce qui est transmis sur le bus. La manière la plus efficace d’obtenir cette visibilité est d’analyser le trafic brut du port série. Cette analyse vous permet de déboguer efficacement les problèmes en vérifiant les valeurs des registres et en découvrant les erreurs d’adressage. Serial Port Monitor (SPM) est une solution logicielle qui fournit ces informations.
Le logiciel de test Modbus est un analyseur de protocole qui fournit des informations concernant la communication Modbus via des interfaces RS232/RS422/RS485. Le logiciel permet aux utilisateurs de détecter et de résoudre facilement les problèmes lors des tests et du débogage de la communication Modbus. L’une de ses fonctionnalités les plus précieuses est sa capacité à afficher et à consigner les données transitant par le port série d’un système.
Logiciel de test Modbus
Modbus Analyzer permet aux utilisateurs d’afficher, d’enregistrer et de déboguer des données série Modbus RTU et ASCII au fur et à mesure de leur transmission via les ports RS485 d’un système.
Ce logiciel professionnel de test Modbus permet aux utilisateurs de :
• Se connecter à des ports série déjà utilisés par un autre programme et les surveiller. L’affichage en temps réel de toutes les données reçues par le port est disponible pour une surveillance et un débogage immédiats.
• Surveiller plusieurs ports série simultanément. Vous pouvez analyser de manière synchrone l’activité de plusieurs ports série au cours d’une seule session. Les données circulant dans les deux sens sont présentées selon le principe premier entré, premier sorti dans un seul journal pour en faciliter la consultation.
• Afficher vos données dans plusieurs formats, notamment les vues tableau, terminal, ligne et dump. Plusieurs vues peuvent être affichées en même temps, et vous pouvez utiliser des filtres pour affiner votre surveillance.
• Effectuer l’émulation des données transférées vers un périphérique série afin de surveiller l’activité lorsqu’il est exposé à des commandes spécifiques.
Foire aux questions
Non, ce sont des protocoles différents et complémentaires. Modbus est un protocole de messagerie, tandis que RS485 définit l’interface électrique physique. RS485 est le support sur lequel Modbus transmet un message.
La norme RS485 prend en charge jusqu’à 32 charges unitaires sur un bus sans répéteurs, tandis que Modbus autorise jusqu’à 247 esclaves. En général, la limite physique de 32 nœuds est la norme, avec des répéteurs déployés pour étendre le nombre d’appareils pris en charge.
Modbus RTU est un protocole compact et efficace qui transmet les données en binaire avec un contrôle d’erreur CRC. C’est le protocole privilégié pour une utilisation avec RS485. Modbus ASCII transmet les données sous forme de caractères hexadécimaux lisibles par l’homme et utilise un contrôle d’erreur LRC. Il s’agit d’une solution moins efficace, mais elle facilite un débogage simplifié sur les liaisons RS232.
Oui. Modbus peut également fonctionner via des connexions RS232, RS422 ou Ethernet (Modbus TCP/IP). Le RS485 est la couche physique privilégiée pour Modbus dans les environnements industriels en raison de ses capacités multi-drop et de son immunité au bruit.