0% ont trouvé ce document utile (0 vote)
13 vues6 pages

Codes de Fonction Modbus RTU/ASCII

Le document décrit les codes de fonction Modbus pour la communication série, incluant la lecture et l'écriture de bobines et de registres. Il précise les règles d'adressage, le format des données, et les réponses d'exception possibles. Les exemples illustrent les requêtes et les valeurs à utiliser pour chaque fonction.

Transféré par

zakariabouqrinat978
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues6 pages

Codes de Fonction Modbus RTU/ASCII

Le document décrit les codes de fonction Modbus pour la communication série, incluant la lecture et l'écriture de bobines et de registres. Il précise les règles d'adressage, le format des données, et les réponses d'exception possibles. Les exemples illustrent les requêtes et les valeurs à utiliser pour chaque fonction.

Transféré par

zakariabouqrinat978
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Modbus Série (RTU - ASCII)

Function Code

1. Function codes descriptions


➢ 0x01 Read Coils (1 bit)
Exemple d’une requête pour lire les bobines (coils) 20 à 56.
Byte Count N

Adresses
Dans la trame Modbus, l’adresse envoyée est toujours égale à l’adresse affichée moins 1, car le protocole
utilise un adressage basé sur zéro (zero-based addressing).
D’où la règle :
➤ Adresse logique = Address displayed
➤ Adresse physique Modbus = Address displayed − 1

➢ 0x02 Read Discrete Inputs (1 bit)


➢ 0x03 Read Holding Registers (16 bits)

- Chaque registre Modbus est codé sur 16 bits (2 octets)


- Data Register = Data Hi + Data Lo
• Data Hi (High byte) → contient les 8 bits de poids fort (bits 15 à 8)
• Data Lo (Low byte) → contient les 8 bits de poids faible (bits 7 à 0)
- Règle : toujours Big-endian → High byte d’abord, Low byte ensuite.
- Si le registre contient moins de 16 bits utiles, la valeur est alignée à droite (right justified) dans les
octets.
- Exemple : registre = 0x0F (4 bits utiles)
• Data Hi = 0x00
• Data Lo = 0x0F
- Byte count = 2*N = 2*Quantity of Input Registers

➢ 0x04 Read Input Registers


➢ 0x05 Write Single Coil

- L’état ON/OFF demandé est spécifié par une constante dans le champ de données de la requête :
• Une valeur de FF 00 hex demande à la bobine (coil) d’être activée (ON).
• Une valeur de 00 00 demande à la bobine d’être désactivée (OFF).
• Toutes les autres valeurs sont interdites et n’auront aucun effet sur la bobine.

➢ 0x06 Write Single Register


➢ 0x0F Write Multiple Coils

- Ordre des Octets de coils (8 coils) = MSB vers LSB


- Ordre des coils au sein d’un octet = LSB vers MSB

➢ 0x10 Write Multiple registers


Exception Responses

Exception Code Name Meaning


0x01 ILLEGAL FUNCTION La fonction demandée n’est pas supportée ou pas
autorisée par l’esclave
0x02 ILLEGAL DATA ADDRESS L’adresse demandée est invalide ou n’existe pas
dans l’esclave
0x03 ILLEGAL DATA VALUE La valeur envoyée est hors limites ou non
acceptable pour l’esclave
0x04 SERVER DEVICE Erreur interne grave : l’esclave n’a pas pu exécuter
FAILURE l’action
0x05 ACKNOWLEDGE L’esclave a reçu la requête mais il a besoin de plus
de temps pour la traiter
0x06 SERVER DEVICE BUSY L’esclave est occupé : il traite déjà une opération
longue.
→ Le maître doit réessayer plus tard.
0x07 NEGATIVE L’esclave ne peut pas exécuter la fonction de
ACKNOWLEDGE programmation demandée (FC 13 ou 14).
Le maître doit demander un diagnostic.
0x08 MEMORY PARITY ERROR Erreur de parité dans la mémoire interne de
l’esclave.
→ Le maître peut réessayer, mais un service
technique peut être nécessaire
0x0A GATEWAY PATH Le passerelle (Gateway) n’a pas pu établir le chemin
UNAVAILABLE interne entre son port d’entrée et son port de sortie.
→ Gateway est mal configurée ou surchargée.

0x0B GATEWAY TARGET La Gateway n’a reçu aucune réponse de l’appareil


DEVICE cible.
FAILED TO RESPOND → Appareil n’est pas présent ou pas joignable sur
le réseau.

Vous aimerez peut-être aussi