Le protocole :
Un protocole consiste en la définition de trames d'échange. Plusieurs protocoles en été définies. Le protocole le plus connu est le protocole Modbus (marque déposée par MODICON) et Profibus (Siemens) qui sont deux protocoles standards de dialogue basé sur une structure hiérarchisée entre un maître et plusieurs esclaves. Mikroelectronika propose aussi un protocole non standard pour communiquer des microcontrôleurs de type PIC, DsPIC, AVR et Intel. Néanmoins l'utilisateur est libre de définir son propre protocole.
- Le maître envoie une demande et attend une réponse.
- Deux esclaves ne peuvent dialoguer ensemble.
- Le dialogue maître – esclave peut être schématisé sous une forme successive de liaisons point à point.
- Mode de communication : half-duplex. (2 fils ou 4 fils)
- le maître parle à l'ensemble des esclaves, sans attente de réponse (diffusion générale).
Il ne peut y avoir sur la ligne qu'un seul équipement en train d'émettre. Aucun esclave ne peut envoyer un message sans une demande préalable du maître. Le dialogue direct entre les esclaves est impossible.
1. Structure des messages :
Le maître envoie un message constitué de la façon suivante:
- La détection de fin de message est réalisée sur un silence de durée supérieure ou égale à la durée de transmission de 3 octets.
- L'esclave répond par un message du même type que le message question.
Le protocole Modbus est très utilisé pour les communications des automates programmables industriels et des variateurs de vitesse des moteurs électriques.
2. Adressage
Les abonnés du bus sont identifiés par des adresses attribuées par l'utilisateur.
L'adresse de chaque abonné est indépendante de son emplacement physique.
Les adresses vont de 1 à 64 pour le protocole Modbus et de 1 à 255 en général et ne doivent pas obligatoirement être attribuées de manière séquentielle.
Deux abonnés ne peuvent avoir la même adresse.3. Echange maître vers 1 esclave
Le maître interroge un esclave de numéro unique sur le réseau et attend de la part de cet esclave une réponse.
4 Echange Maître vers tous les esclaves
Le maître diffuse un message à tous les esclaves présents sur le réseau, ceux-ci exécutent l'ordre du message sans émettre une réponse.
5 Format général d'une trame
Deux types de codage peuvent être utilisés pour communiquer sur un réseau Modbus.
Tous les équipements présents sur le réseau doivent être configurés selon le même type.
- Mode RTU (Unité terminale distante):
La trame ne comporte ni octet d'en-tête de message, ni octets de fin de message.
Sa définition est la suivante :CRC16 : paramètre de contrôle polynomial (cyclical redundancy check).
La détection de fin de trame est réalisée sur un silence supérieur ou égal à 3 octets.
- Mode ASCII :
Chaque champ composant une trame est codé avec 2 caractères ASCII (2 fois 8 bits).
LRC : C'est la somme en hexadécimal modulo 256 du contenu de la trame hors délimiteurs, complémentée à 2 et transmise en ASCII.
6. Trame d'échange question/réponse
La question :
Elle contient un code fonction indiquant à l'esclave adressé quel type d'action est demandé.
Les données contiennent des informations complémentaires dont l'esclave a besoin pour exécuter cette fonction.
Le champ octets de contrôle permet à l'esclave de s'assurer de l'intégralité du contenu de la question.La réponse
Si une erreur apparaît, le code fonction est modifié pour indiquer que la réponse est une réponse d'erreur.
Les données contiennent alors un code (code d'exception) permettant de connaître le type d'erreur.
Le champ de contrôle permet au maître de confirmer que le message est valide.
cours MODBUS MODBUS automate programmable programmable Process RS485 BUS structure automate Programmation API Tutoriel
Révisé le :18-11-2017 www.technologuepro.com Facebook Twitter RSS