Réponse du serveur :
<
dd
La réponse peut être de trois types :
Données
ACK
NAK
6.5 Protocole MODBUS
6.5.1 Caractéristiques générales
Le protocole MODBUS dont est équipé cet appareil est basé sur les spécifications du guide
«
MODBUS over serial line specification and implementation guide V1.02 »
(www.modbus.org).
Ce protocole permet de connecter ensemble plusieurs appareils (serveur) à un appareil (client)
avec lesquels il interagit individuellement via un canal RS-485. La communication MODBUS dispose
de deux formats –ASCII et RTU– tous deux pris en charge par cet appareil.
Bien que le protocole MODBUS peut être configuré sur les deux ports série de l'appareil (RS-485
et RS-232), il faut tenir compte du fait qu'en interne, les commandes sont traitées conjointement ; aussi
les actions réalisées via un port série peuvent affecter l'autre. Par exemple, si la commande Tarer
(
) est envoyée via le port RS-485 et si la commande Annuler (
CMD_TARE
via le port RS-232 avant que la tare ne soit effectuée, la commande Tarer sera annulée. De la même
manière, si une commande lancée depuis l'un des ports est en cours d'exécution et, au même
moment, une tentative d'exécution d'une autre commande est lancée depuis l'autre port, l'appareil
n'acceptera pas la commande indiquant qu'il est occupé. Par contre, la lecture ou l'écriture simultanée
de registres depuis les deux ports ne pose pas de problème.
Pour activer le protocole MODBUS sur l'appareil, il faut choisir le format ASCII ou RTU dans
l'option TYPE (voir paragraphe 3.6 et 3.7). Les paramètres baudrate et parité doivent coïncider aussi
bien sur cet appareil que sur les autres. De plus, l'adresse doit être configurée pour pouvoir identifier
l'appareil sur le bus (voir paragraphe 3.6.2 et 3.7.2).
6.5.2 Liste des fonctions MODBUS prises en charge
TERMIN
Terminaison (voir 3.6.7)
Réponse
Adresse (2 bytes décimal, voir 3.6.2)
Début réponse serveur
La commande de demande a été reçue et le serveur répond.
La commande a été reçue et comprise.
La commande a été reçue mais pas comprise.
Fonction
01(0x01)
READ COILS
02(0x02)
READ DISCRETE INPUTS
03(0x03)
READ HOLDING REGISTER
04(0x04)
READ INPUT REGISTER
05(0x05)
WRITE SINGLE COIL
06(0x06)
WRITE SINGLE REGISTER
15(0x0F)
WRITE MULTIPLE COIL
16(0x10)
WRITE MULTIPLE REGISTER
Tableau 6.5.2.1
publié par l'organisation Modbus
Description
) est envoyée
CMD_CANCEL
Outils
6-7