6.2.
PROTOCOLE 1 : MODBUS RTU et MODBUS TCP
6.2.1. GENERALITES
Le Multicote fonctionne en mode esclave. Le protocole est utilisé dans sa version binaire.
La communication se fait par demandes de lecture ou d'écriture de registres (16 bits).
Modbus RTU (RS232)
numéro
d'appareil
• numéro
• code fonction
• données
• CRC
Modbus TCP (Ethernet) :
MPAB
• MPAB
• numéro
• code fonction
• données
Utilisation spécifique par le Multicote du protocole ModBus
• les lectures et écritures se font seulement sur 1 registre (16 bits) ou 2 registres
(nombres réels codés au format IEEE-754)
• seules les fonctions suivantes sont utilisées :
- lecture d'un registre ou 2 registres (1 réel) : code 03
- écriture d'un registre ou 2 registres (1 réel) : code 16 ($10)
• les poids forts des registres et réels sont transmis en premier, sauf les CRC
Note : en format IEEE-754, un réel est codé, sur 32 bits, de la façon suivante :
1 bit de signe (1 si<0), exposant sur 8 bits (en complément à 2 avec offset 127),
mantisse sur 23 bits (MSB toujours à 1, donc non stocké) :
4 octets : SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
6.2.2. LES REGISTRES
Le Multicote dispose en interne de 18 registres d'état (mots de 16 bits), en lecture ou
en écriture. Ces registres décrivent (L =bit(s) en lecture) et activent (E =bit(s) en
écriture) les différents états et modes de fonctionnement du Multicote.
Registres n° 80 à 87 'ETATS PAR COTE' :
bits 0,1,2
nombre de décimales pour toutes les cotes
PROTOCOLES DE COMMUNICATION
code
données CRC 16
fonction
numéro de l'appareil (de 1 à 247)
code de la fonction demandée
numéro
code
d'appareil
fonction
Entête Modbus TCP
numéro de l'appareil (de 1 à 247)
code de la fonction demandée
CRC 16
(lsb)
(msb)
données
Multicote
1 octet
1 octet
N octets
2 octets
6 octets
1 octet
1 octet
N octets
LE de 1 à 5
Page 31