Télécharger Imprimer la page

Swegon TAC6 Manuel D'installation Et D'utilisation page 6

+ modbus tcp/ip
Masquer les pouces Voir aussi pour TAC6:

Publicité

2.2
Trame MODBUS TCP/IP
La trame MODBUS TCP/IP se présente sous cette forme :
Identificateur de
Transaction
2 bytes
Identificateur de Transaction : Utilisé pour la synchronisation entre les messages du serveur et du
client.
Identificateur de protocole : Toujours 0 pour le Modbus TCP/IP.
Champ longueur : Nombre d'octets restant dans la trame.
Identificateur dispositif : l'adresse Modbus du dispositif. 1 doit être utilisé et seulement cette adresse
sera acceptée puisque le SAT WIFI-ETHERNET n'est pas une passerelle Modbus TCP/IP vers
Modbus RTU.
Code de fonction :
-
Code fonction 03 (décimal) : lecture multiple (read multiple holding register).
Code fonction 06 (décimal) : écriture simple (write simple holding register).
-
Code fonction 16 (décimal) : écriture multiple (write multiple holding register).
-
Données : toutes les données des régulations TAC6 sont enregistrées dans des « 16-bit Modbus
holding register ».
« Modbus coils », «discrete inputs» ou « input registers» ne sont pas utilisés.
Le tampon de communication a une capacité suffisante pour lire 125 registres en une fois ou écrire 123
registres en une fois.
Dans le document standard Modbus.com, on attribue aux « holding registers » un préfixe « 4 » pour
les distinguer des registres d'autres types. Par exemple, un « holding registrer » possédant l'adresse
1001 sera mentionné par l'adresse 41001.
Par ailleurs, dans le document standard Modbus.com, l'adressage des registres se fait selon une
numérotation « en base 1 » alors que les adresses envoyées dans les commandes Modbus sont « en
base 0 ». Par exemple, pour lire le registre 1001, l'adresse à envoyer dans la commande Modbus sera
1000.
2.3
Codes d'exception MODBUS
Si une erreur apparaît, le code fonction est modifié pour indiquer que la réponse est une réponse
d'exception. Le code d'exception permet de connaître le type d'erreur :
-
Code d'exception 01 – Fonction illégale : erreur sur le code fonction
-
Code d'exception 02 – Adresse illégale : l'adresse reçue n'est pas acceptée par le slave ou la
longueur de la trame n'est pas acceptée pour cette adresse.
-
Code d'exception 03 – Valeur illégale : le maître tente d'écrire une valeur non valide pour le
registre. Lors d'une écriture multiple, la séquence d'écriture est arrêtée à la première adresse ou
valeur illégale.
2.4
Valeurs des registres MODBUS
Toutes les valeurs sont des valeurs signées (signed values).
Les données Modbus sont toujours codées en « big endian byte order ».
Certains registres (par exemple les alarmes) sont codés en « bitmaps » sur 16 bits.
Certaines valeurs sont des valeurs en 32 bits. Elles sont transformées en 2 valeurs de 16-bits.
En lecture, le client devra retransformer les 2 mots 16-bits en une valeur 32 bits suivant la formule :
Identificateur de
Champ
protocole
longueur
2 bytes
2 bytes
Identificateur
Code de
dispositif
Fonction
1 bytes
1 byte
Données
N bytes

Publicité

loading