Le RFID et le protocole Modbus
Echange
Principe
L'échange des trames se base sur un fonctionnement entre un maître et un esclave. 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 entre les esclaves est impossible. Le dialogue Maître-Esclave peut être schématisé sous une forme successive de liaisons point à point.
Les esclaves sont identifiés par des adresses attribuées par l'utilisateur. Ces adresses vont de 1 à 254. L'attribution des adresses est non séquentielle, c'est-à-dire que les adresses des esclaves ne doivent pas forcément se suivre. Bien entendu, deux esclaves ne peuvent avoir la même adresse.
Echange du maître vers 1 esclave
Lors d'un échange de ce type, le maître émet une interrogation à destination d'un esclave unique, représenté par une adresse.
L'esclave éxecute alors l'ordre du message et envoie une réponse au demandeur, le maître.
Echange du maître vers n esclave
Lors d'un échange de ce type, le maître diffuse un message à tous les esclaves présents sur le réseau.
Les esclaves éxecutent alors l'ordre du message sans émission de réponse au demandeur, le maître.
Interrogation
La trame d'interrogation est composée de :
- l'adresse de l'esclave (sur 1 octet)
- le code fonction indiquant quel type d'action est demandé (codé sur 1 octet)
- les données contenant des informations utilisées par l'esclave pour exéécuter la fonction
- le mot de contrôle assurant l'intégrité de la trame (codé sur 2 octets)
Réponse
La trame de réponse est la même que celle d'interrogation. Cependant, en cas d'erreur, la trame devient :
En cas d'erreur, le code fonction est alors modifié et les données sont remplacées par un code d'exception indiquant la nature de l'erreur.
Mode ASCII
Chaque octet composant la trame est codé avec 2 caractères ASCII (2 fois 8 bits).
Le LRC constitue la somme en hexa modulo 256 de la trame afin de vérifier son intégrité.
Ce mode permet d'avoir des intervalles de plus d'une seconde entre les caractères sans générer d'erreurs.
Mode RTU
Chaque octet composant la trame est codé avec 2 caractères hexadécimaux (2 fois 4 bits). La taille maximale des données est 256 octets.
Ce mode permet un débit plus élevé pour une même vitesse de transmission. Tous les équipements doivennt être configurés avec le même mode.