Communication Modbus Rtu; Protocole Modbus; La Trame Modbus; Codes D'exception - aldes SAT ModBus RTU Manuel D'installation

Table des Matières

Publicité

2. COMMUNICATION MODBUS RTU

2.1 Protocole MODBUS

Le protocole de communication utilisé par notre régulation est le MODBUS RTU.
Il s'agit d'un protocole de communication basé sur une structure hiérarchisée entre un maître et plusieurs esclaves. Il est constitué de trames
contenant l'adresse de l'esclave concerné, la fonction à traiter (écriture ou lecture), la donnée et le code de vérification d'erreur (CRC16).
Voici les principales spécifications :
• Protocole MODBUS RTU (binaire).
• Couche physique : porte de communication isolée RS485-Asynchrone. Une connexion 3 fils avec GND est donc requise.
• Baudrate d'usine par défaut : 9600. Baudrate possibles : 1200, 4800, 9600 ou 19200.

2.2 La trame MODBUS

Le maître interroge un esclave avec son adresse unique et attend une réponse de la part de cet esclave.
L'ensemble du message doit être transmis de manière continue. Un silence de minimum 3,5 fois le temps de transmission d'un octet sera considéré
comme la fin de la trame. Ce temps de détection de fin de trame est de l'ordre de la milliseconde.
Adresse :
Les adresses possibles vont de 1 à 247. L'adresse d'usine par défaut d'un TAC4 DG est l'adresse 1.
Code fonction :
Les codes fonction utilisés sont les suivants :
• Code fonction 03 (décimal) : lecture multiple (read multiple holding register).
• Code fonction 06 (décimal) : écriture simple (write simple holding register).
• Code fonction 16 (décimal) : écriture multiple (write multiple holding register).
Données :
Le nombre de databits est fixé à 8.
Le nombre de stopbits est fixé à 1.
Toutes les données du TAC4 DG sont enregistrées dans des "16-bit modbus holding register".
"Modbus coils", "discrete input" or "input registers" ne sont pas utilisés.
Le tampon de communication a une capacité de 129 octets. Il permet donc de lire ou d'écrire 60 registres en une fois.
Parité :
Le type de parité utilisée est « None » : pas de contrôle de parité.
CRC-16 :
Le code de vérification d'erreur utilisé est le CRC-16 (contrôle de redondance cyclique).
Dans le document standard Modbus.com, on attribue aux "holding registers" un préfixe "4" pour les distinguer des registres d'autres types. Par exemple,
un "holding registrer" possédant l'adresse 1001 sera mentionné par l'adresse 41001.
Par ailleurs, dans le document standard Modbus.com, l'adressage des registres se fait selon une numérotation "en base 1" alors que les adresses
envoyées dans les commandes Modbus sont "en base 0". Par exemple, pour lire le registre 1001, l'adresse a envoyer dans la commande Modbus
sera 1000.

2.3 Codes d'exception

Si une erreur apparaît, le code fonction est modifié pour indiquer que la réponse est une réponse d'exception. Le code d'exception permet de
connaître le type d'erreur :
• Code d'exception 01 - Fonction illégale : erreur sur le code fonction
• Code d'exception 02 - Adresse illégale : l'adresse reçue n'est pas acceptée par le slave ou la longueur de la trame n'est pas acceptée pour cette
adresse.
• Code d'exception 03 - Valeur illégale : le maître tente d'écrire une valeur non valide pour le registre.
Lors d'une écriture multiple, la séquence d'écriture est arrêtée à la première adresse ou valeur illégale.
4

Publicité

Table des Matières
loading

Table des Matières