
Il y 3 possibilités pour envoyer les messages à l’afficheur avec les fonctions ModBus :
- Fonction 10h, écriture de n mots – mode ASCII
- Fonction 10h, écriture de n mots – mode Word
- Fonction 06h, écriture de 1 mot
-
a)
Composition de la trame ModBus TCP – Fonction 10h – mode ASCII
Numéro
de trame
Identification
du protocole
Longueur
de la trame
Adresse
Code
Fonction
Adresse
du mot
Nbre de
mots
Nbre de
bytes
Données
XX XX 00 00 LL LL 01 10 01 00 MM MM BB <Données>
Tous les caractères doivent être transmis en hexadécimal.
XXXX = Numéro de la trame, utilisé pour identifier la réponse envoyée par l’afficheur
0000 = Identification du protocole, toujours = 0000 : protocole ModBus
LLLL = Nombre de bytes qui vont encore être transmis après le byte LL
01 = Adresse de l’afficheur, toujours = 01
10 = Code Fonction « Ecriture n mots »
MMMM = Nombre de mots des données transmises à l’afficheur
BB = Nombre de bytes des données, il est égal au double du nombre de mots transmis
<Données> = Données transmises à l’afficheur, nombre de bytes pair
b)
Structure du message envoyé à l'afficheur – Fonction 10h – mode Word
Numéro
de trame
Identification
du protocole
Longueur
de la trame
Adresse
Code
Fonction
Adresse
du mot
Nbre de
mots
Nbre de
bytes
Données
XX XX 00 00 LL LL 01 10 00 ss 00 03 06 dd dd dd dd 00 DP
Tous les caractères doivent être transmis en hexadécimal.
XXXX = Numéro de la trame, utilisé pour identifier la réponse envoyée par l’afficheur
0000 = Identification du protocole, toujours = 0000 : protocole ModBus
LLLL = Nombre de bytes qui vont encore être transmis après le byte LL
01 = Adresse de l’afficheur, toujours = 01
10 = Code Fonction « Ecriture n mots »
00 = Adresse haute du mot mémoire afficheur, valeur égale à 00h.
ss = Format de la donnée à afficher : 02=donnée avec signe, 06=donnée sans signe.
dd = Valeur de la donnée à afficher sur 32 bits :
- comprise en 0 et 4294967295 si la donnée est sans signe
- comprise en -2147483648 et 2147483647 si la donnée est avec signe
DP = Position du point décimal
00h = sans DP, 01h = 0.0, 02h= 0.00, 04h= 0.000, 08h= 0.0000, 10h= 0.00000, …….
c)
Structure du message envoyé à l'afficheur – Fonction 06h – mode Word
Numéro
de trame
Identification
du protocole
Longueur
de la trame
Adresse
Code
Fonction
Adresse
du mot
Données
Tous les caractères doivent être transmis en hexadécimal.
XXXX = Numéro de la trame, utilisé pour identifier la réponse envoyée par l’afficheur
0000 = Identification du protocole, toujours = 0000 : protocole ModBus
LLLL = Nombre de bytes qui vont encore être transmis après le byte LL
01 = Adresse de l’afficheur, toujours = 01
06 = Code Fonction « Ecriture 1 mot »
00 = Adresse haute du mot mémoire afficheur, valeur égale à 00h.
ss = Format de la donnée à afficher : 02=donnée avec signe, 06=donnée sans signe.
dd = Valeur de la donnée à afficher sur 16 bits :
- comprise en 0 et 65535 si la donnée est sans signe
- comprise en -327368 et 32767 si la donnée est avec signe
d) Exemple de trame ModBus TCP
Message envoyé à l'afficheur : 123456
Numéro
de trame
Identification
du protocole
Longueur
de la trame
Adresse
Code
Fonction
Adresse
du mot
Nbre de
mots
Nbre de
bytes
Données
00 00 00 00 00 0D 01 10 00 00 00 03 03 31 32 33 34 35 36
Résultat à l'affichage : 123456
D060E-D100E-D250E 5
Komentarze do niniejszej Instrukcji