6. Protocole Modbus ASCII
Le protocole Modbus ASCII est en principe utilisé sur les applications qui nécessitent une communication avec deux
modems.
Les fonctions et adresses disponibles sont les mêmes que celles de la version RTU, sauf que les caractères transmis sont
au format ASCII et que la fin du message est délimité par un à-la-ligne (Carriage Return CR) et un Line Feed LF à la place
d'un pause de transmission.
Si le paramètre P7.04 est configuré comme protocole Modbus ASCII, le message de communication sur le port de
communication correspondant à la structure suivante :
• Le champ Adresse contient l'adresse série du dispositif esclave destinataire.
• Le champ Fonction contient le code de la fonction que le Slave doit exécuter.
• Le champ Données contient les données envoyées à l'esclave ou les données reçues par l'esclave suite à une
interrogation. La longueur maximale admise est de 80 registres consécutifs.
• Le champ LRC permet aux dispositifs master et Slave de contrôler l'intégrité du message. Si un message est interrompu
par des interférences ou du champ électrique, le champ LRC permet aux dispositifs de détecter l'erreur et d'ignorer le
message.
• Le message se termine toujours par le caractère de contrôle CRLF (0D 0A).
Exemple :
Pour lire la valeur de la tension équilibrée, présente sur la position 04 (04
message à envoyer est le suivant :
Où :
La réponse est la suivante :
Où :
10
Adresse
Fonction
:
(2 caractères)
(2 caractères)
:
08
04
: = ASCII 3A
délimiteur début de message
hex
08 = adresse esclave
04 = fonction Modbus "Read input register"
00 03 = Adresse du registre requis (L2 tension de la ligne 1) diminuée de 1
00 02 = Nombre de registres à lire à partir de l'adresse 04
EF = Checksum LRC
CRLF = ASCII 0D
0A
= Délimiteur de fin de message
hex
hex
:
08
04
04
: = ASCII 3A
délimiteur début de message
hex
08 = adresse (Esclave 08)
04 = fonction requise par le master
04 = nombre de octets envoyés par le dispositif
00 00 01 A0 = valeur Hex de la tension enchaînée (= 416V)
4F = checksum LRC
CRLF = ASCII 0D
0A
= Délimiteur de fin de message
hex
hex
Données
(N caractères)
(2 caractères)
) depuis l'esclave à adresse série 08, le
hex
00
03
00
02
00
00
01
A0
LRC
CR LF
EF
CRLF
4F
CRLF