Monocote
7.3.
PROTOCOLE MODBUS (ou JBUS)
7.3.1. GENERALITES
Le protocole ModBus en binaire est utilisé si le numéro de l'appareil est différent de 0
Une commande ModBus peut être destinée à :
· Un seul Monocote. C'est le mode adressé. Le numéro du Monocote destinataire est
inclus dans la commande.
· Tous les Monocote connectés au réseau. C'est le mode diffusé. Le numéro
d'appareil dans la commande prend la valeur zéro.
Le Monocote fonctionne en esclave. La communication se fait par demandes de lecture
ou d'écriture de registres (16 bits)
Le Monocote répond à chaque commande (lecture ou écriture) pour acquittement, après
avoir exécuté la commande. Selon la commande, le délai d'exécution peut aller de 0.14 à 1.3
sec. Le Monocote traite les commandes diffusées en écriture, mais n'y répond pas.
Les commandes diffusées en lecture sont ignorées.
Le format général des commandes est le suivant :
numéro
d'appareil
· numéro
· code fonction
· données
· CRC
Utilisation spécifique du protocole ModBus (ou Jbus) :
· les lectures et écritures se font seulement sur 1 registre (16 bits) ou 2 registres
· les nombres réels sont codés au format IEEE-754
· seules les fonctions suivantes sont utilisées :
- lecture d'un registre ou de 2 registres (1 réel) : code 03
- écriture d'un registre ou de 2 registres (1 réel) : code 16 ($10)
· les poids forts des registres et réels sont transmis en premier, sauf les CRC
7.3.2. LE FORMAT IEEE-754
Un nombre réel au format IEEE-754 est codé sur 32 bits, soit 4 octets :
· le signe = 1 bit
· l'exposant = 8 bits,
· la mantisse = 23 bits (le bit de poids fort est toujours à 1, donc non stocké) :
4 octets : SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
S=signe(1 si négatif) ; E=exposant (en complément à 2 avec offset 127), M=mantisse
Un réel est calculé selon la formule = (-1)
Exemples :
Le nombre 1.0 sera codé au format IEEE-574 = 3F 80 00 00
Le nombre 5.0 sera codé au format IEEE-574 = 40 A0 00 00
Le nombre -12.5 sera codé au format IEEE-574 = C1 48 00 00
PROTOCOLES DE COMMUNICATION
code
données CRC 16
fonction
numéro de l'appareil (de 1 à 247)
code de la fonction demandée
CRC 16
(lsb)
(msb)
S
(E-127)
x (1+M) x 2
1 octet
1 octet
N octets
2 octets
Page 33