2 Description du protocole
Chaînes de
H
caractères
(textes)
Exemple pour
type de don-
nées TEXT4
16
Les chaînes de caractères (textes) sont transmises en format ASCII.
Le dernier caractère (indicateur de fin) doit toujours être un "\0" (code
ASCII 0x00). Les caractères qui suivent n'ont aucune importance.
Le nombre de caractères max. dans le type de données est indiqué
dans les tableaux d'adresse, par ex. "TEXT24" (24 caractères). Si l'on
utilise aucun indicateur de fin, il ne reste dans ce cas de figure que 23
caractères lisibles pour le texte.
Si l'on utilise aucun indicateur de fin, il faut, pour l'écriture que le
nombre de caractères max. indiqué dans le type de données (par ex.
TEXT8 = 8 caractères) soit utilisé. On évite ainsi que des caractères
encore en mémoire soient annexés au texte.
Comme la transmission des textes a lieu également mot par mot
(16 bits), il faut envoyer un 0x00 supplémentaire si le nombre de ca-
ractères est impair (y compris le caractère "\0").
Lecture du texte (ici : "AbC ") sous l'adresse 0x0067 (4 caractères max. peu-
vent être mémorisés)
Code ASCII pour "AbC " (avec 1 espace à la fin) :
0x41, 0x62, 0x43, 0x20
Demande : 01 03 0067 0002 (+ 2 octets CRC16)
Adresse eslave = 01
Fonction = 03, c.-à-d. lecture de n mots
Adresse = 0067
Nombre de mots à lire = 0002, 4 caractères max.
Réponse : 01 03 04 41 62 43 20 (+ 2 octets CRC16)
Adresse eslave = 01
Fonction = 03, c.-à-d. lecture de n mots
Nombre d'octets lus = 04
Variante :
Code ASCII pour "Ab" (sans espace à la fin) :
0x41, 0x62, 0x00
ASCII 0x00 ("\0") signifie que la chaîne de caractères s'arrête ici.
Lors de la transmission un 0x00 supplémentaire est annexé, pour obtenir un
nombre pair de caractères.
Réponse dans ce cas : 01 03 04 41 62 00 00 (+ 2 octets CRC16)