Typologie de commandes :
Tab.2
Commande
Opération
Master
01
Lecture données numériques (données 1 bit)
05
Écriture données numériques (données 1 bit)
03
Lecture données numériques (données 16 bit)
06
Écriture données numériques (données 16 bit)
Format des commandes :
Commande 01 :
Lectures Données Numériques
Avec ce e commande l'on peut demander une ou plusieurs
variables numériques à par r de l'adresse spécifi ée. Les données
en réponse sont regroupées en octet (8 données par octet).
Le premier octet reçu correspond aux 8 données avec l'adresse la
plus basse, le bit le moins signifi ca f de chaque octet correspond à
la donnée avec l'adresse la plus basse.
EXEMPLE :
DEMANDE
Champ
Adresse machine
Commande
Adresse de départ (byte high)
Adresse de départ (byte low)
N° de données (par e high)
N° de données (par e low)
Checksum
REPONSE
Champ
Adresse machine
Commande
Numéro de octet donnés en réponse
Données (0-7)
Données (8-9)
Checksum
Commande 05 :
Écritures Numériques
Pour a ribuer 1 à une adresse numérique il faut transme re la
donnée hex 0xFF00 ;
pour a ribuer 0 il faut transme re la donnée hex 0x0000.
Tout autre type de donnée est gérée comme erreur.
La réponse normale est un écho de la réponse si l'a ribu on de la
donnée est allée à bonne fi n.
EXEMPLE :
DEMANDE
Champ
Adresse machine
Commande
Adresse (byte high)
Adresse (byte low)
Nouvelle donnée (par e high)
Nouvelle donnée (par e low)
Checksum
REPONSE
Champ
Adresse machine
Commande
Adresse (byte high)
Adresse (byte low)
Nouvelle donnée (par e high)
Nouvelle donnée (par e low)
Checksum
Commande 03 :
Avec ce e commande l'on peut demander une ou plusieurs variables analogiques et
en ères à par r de l'adresse spécifi ée. L'encodage adopté est binaire en complément à
2. Les variables analogiques sont représentées en dixièmes (par exemple la valeur 10,0
est transmise comme 0064h = 100d)., les en ères sont transférées avec la valeur eff ec-
ve (par exemple 100 est transmis comme 0064h = 100d).
Les variables en ères sont celles avec l'adresse supérieure à 128.
Le nombre de données demandées s'entend à par r de l'adresse
EXEMPLE :
hex
01
01
00
00
00
0A
Commande 06 :
...
Avec ce e commande l'on peut écrire une variable analogique ou en ère. L'encodage
adopté est binaire en complément à 2.
hex
Les variables analogiques sont représentées en dixièmes (par exemple la valeur 10,0 est
01
transmise comme 0064h = 100d)., les en ères sont transférées avec la valeur eff ec ve
01
(par exemple 100 est transmis comme 0064h = 100d).
02
Les variables en ères sont celles avec l'adresse supérieure à 128.
0E
La réponse normale est un écho de la réponse si l'a ribu on de la donnée est allée à bonne
03
fi n.
...
EXEMPLE :
hex
01
05
00
00
FF
00
...
GESTION TEMPORISATION ET ERREURS DE COMMUNICATION
hex
Ci-après sont analysés les cas possibles où la communica on peut évoluer ainsi que le com-
portement prévu de master et de slave comme protocole.
01
05
1.
00
00
FF
00
2.
...
Lectures Données Analogiques
DEMANDE
Champ
Adresse machine
Commande
Adresse de départ (byte high)
Adresse de départ (byte low)
N° de données demandées (par e high)
N° de données demandées (par e low)
Checksum
REPONSE
Champ
Adresse machine
Commande
Numéro de octets donnés en réponse
Octet high donné 0
octet low donné 0
Checksum
Écritures Données Analogiques
DEMANDE
Champ
Adresse machine
Commande
Adresse (byte high)
Adresse (byte low)
Nouvelle donnée (par e high)
Nouvelle donnée (par e low)
Checksum
REPONSE
Champ
Adresse machine
Commande
Adresse (byte high)
Adresse (byte low)
Nouvelle donnée (par e high)
Nouvelle donnée (par e low)
Checksum
Le slave reçoit la demande sans erreurs de communica on : slave : répond comme
prévu master : doit prévoir une temporisa on sur la réponse du slave d'au moins
500mS pour donner au slave la possibilité d'élaborer les données.
Le slave ne reçoit pas la demande pour une erreur de communica on slave : il ne
donne aucune réponse master : il doit prévoir une temporisa on sur la réponse.
(hex)
01
03
00
00
00
02
...
hex
01
03
04
0c
03
...
(hex)
01
06
00
00
1B
00
...
hex
01
06
00
00
1B
00
...
13